端口密钥管理MCP服务器
MCP服务器 门钥匙 API管理员。管理任何MCP客户端的提示、配置、分析、API密钥等。
______________________________________________________________________
快速开始
你需要一个 端口密钥API密钥 具有适当的范围。从你的 Portkey仪表板 API密钥下。
克劳德代码
claude mcp add -e PORTKEY_API_KEY=your_key portkey-admin -- npx -y portkey-admin-mcp光标/风帆/VS代码
添加到MCP配置(.cursor/mcp.json, .windsurf/mcp.json,或 .vscode/mcp.json):
{
"mcpServers": {
"portkey-admin": {
"command": "npx",
"args": ["-y", "portkey-admin-mcp"],
"env": {
"PORTKEY_API_KEY": "your_api_key"
}
}
}
}直接运行
PORTKEY_API_KEY=your_key npx -y portkey-admin-mcp要在stdio客户端中仅公开工具的一个子集,请设置 PORTKEY_TOOL_DOMAINS:
PORTKEY_API_KEY=your_key \
PORTKEY_TOOL_DOMAINS=prompts,analytics \
npx -y portkey-admin-mcpBuild from source
git clone https://github.com/s-b-e-n-s-o-n/portkey-admin-mcp.git
cd portkey-admin-mcp
npm install && npm run build然后使用此配置:
{
"mcpServers": {
"portkey-admin": {
"command": "node",
"args": ["/path/to/portkey-admin-mcp/build/index.js"],
"env": {
"PORTKEY_API_KEY": "your_api_key"
}
}
}
}______________________________________________________________________
你能做什么
| 类别 | 工具 | 示例 |
|---|---|---|
| 提示 | 14 | 创建、版本、渲染、执行、迁移、升级提示 |
| 及时的派对 | 7 | 具有版本控制的可重用提示片段 |
| 提示标签 | 5 | 组织提示版本(生产、暂存、开发) |
| 配置 | 6 | 网关路由、缓存、重试、负载平衡 |
| API密钥 | 5 | 创建和管理作用域API密钥 |
| 虚拟键 | 5 | 管理提供商访问密钥 |
| 集合 | 5 | 按应用程序或项目分组提示 |
| 提供商 | 5 | 管理AI提供者配置 |
| 集成 | 10 | 提供商集成、模型、工作区访问 |
| MCP集成 | 10 | 外部MCP工具集成 |
| MCP服务器 | 10 | MCP服务器注册表和功能 |
| 护栏 | 5 | 内容安全政策 |
| 使用限制 | 7 | 成本和代币消费限额 |
| 速率限制 | 5 | 请求频率控制 |
| 分析 | 20 | 成本、延迟、错误、令牌、缓存、反馈 |
| 日志记录 | 8 | 日志摄取和导出 |
| 追踪 | 2 | 反馈创建和跟踪更新 |
| 用户和工作区 | 20 | 用户管理、邀请、工作区成员 |
| 审计 | 1 | 审核日志访问 |
总共150个工具。 看 ENDPOINTS.md 查看带有描述的完整列表。
______________________________________________________________________
API关键范围
大多数工具都与 工作区范围的服务密钥 已启用“全选”权限。其中包括提示、配置、虚拟/API密钥、提供程序、护栏、工作区集成、MCP服务器、速率/使用限制、日志、提示完成和工作区用户管理。
企业门控工具(28)
以下工具需要 仅在Portkey Enterprise计划中可用的组织级范围他们回来了 403 You do not have enough permissions to execute this request 关于工作空间规划。他们的描述包括 Enterprise-gated. Returns 403 on non-Enterprise Portkey plans. 后缀,以便MCP客户提前知道。
| 区域 | 工具 | 所需范围 |
|---|---|---|
| 分析(20) | get_cost_analytics, get_request_analytics, get_token_analytics, get_latency_analytics, get_error_analytics, get_error_rate_analytics, get_cache_hit_latency, get_cache_hit_rate, get_users_analytics, get_error_stacks_analytics, get_error_status_codes_analytics, get_user_requests_analytics, get_rescued_requests_analytics, get_feedback_analytics, get_feedback_models_analytics, get_feedback_scores_analytics, get_feedback_weighted_analytics, get_analytics_group_users, get_analytics_group_models, get_analytics_group_metadata | 组织级 analytics.view |
| 审计 | list_audit_logs | audit_logs.list |
| 组织级集成 | get_integration, list_integration_models, list_integration_workspaces | organisation_integrations.read |
| 组织级用户 | list_all_users, get_user, get_user_stats, list_user_invites | organisation_users.list / organisation_users.read |
其他范围要求
| 功能 | 必填 |
|---|---|
迅速完成(run_prompt_completion) | completions.write 范围+计费元数据(app, env) |
通过创建组织级服务API密钥 create_api_key | organisation_service_api_keys.create (企业) |
如果工具返回 403 Portkey错误 AB03,这意味着缺少作用域,而不是一个损坏的端点。
______________________________________________________________________
HTTP服务器(实验)
状态:HTTP传输有效,但托管部署未完全验证用于生产。使用stdio(npx)进行可靠操作。
服务器支持Streamable HTTP进行远程访问:
PORTKEY_API_KEY=your_key \
MCP_HOST=127.0.0.1 \
MCP_PORT=3000 \
MCP_PUBLIC_BASE_URL=https://mcp.example.com \
MCP_AUTH_MODE=bearer \
MCP_AUTH_TOKEN=your_secret \
node build/server.js或者通过npx( portkey-admin-mcp 包中包含HTTP二进制文件):
PORTKEY_API_KEY=your_key MCP_AUTH_MODE=bearer MCP_AUTH_TOKEN=your_secret \
npx -y -p portkey-admin-mcp portkey-admin-mcp-http对于仅本地使用的HTTP,请离开 MCP_HOST 默认情况下 127.0.0.1.Set MCP_HOST=0.0.0.0 只有当你有意需要接受来自本地机器外部的连接时,比如Docker或另一个接口上的反向代理。
配置
| 变量 | 默认值 | 描述 |
|---|---|---|
PORTKEY_API_KEY | (必需) | 您的Portkey API密钥 |
PORTKEY_TOOL_DOMAINS | -- | 可选逗号分隔的stdio/HTTP默认工具子集,例如。 prompts,analytics |
MCP_HOST | 127.0.0.1 | 绑定地址 |
MCP_PORT | 3000 | 港口 |
MCP_PUBLIC_BASE_URL | -- | 要从中发布广告的公共绝对基URL /auth/info 以及状态页面;建议用于托管部署 |
MCP_AUTH_MODE | none | none, bearer,或 clerk (none 除非被明确覆盖,否则HTTP将被阻止) |
MCP_AUTH_TOKEN | -- | 承载身份验证的秘密 |
MCP_ALLOW_UNAUTHENTICATED_HTTP | -- | 设置为 true 仅用于有意进行的本地未经身份验证的HTTP调试 |
MCP_SESSION_MODE | stateful | stateful 或 stateless |
MCP_MAX_SESSIONS | 100 | 拒绝新初始化请求之前的最大并发有状态MCP会话数 |
MCP_EVENT_STORE | off | off, memory,或 redis |
MCP_REDIS_URL | -- | 共享事件存储的Redis URL |
MCP_TLS_KEY_PATH | -- | 本地HTTPS的TLS密钥 |
MCP_TLS_CERT_PATH | -- | 本地HTTPS的TLS证书 |
ALLOWED_ORIGINS | -- | CORS允许列表 |
MCP_TRUST_PROXY | false | 信任代理标头(用于反向代理) |
RATE_LIMIT_MAX_BUCKETS | 10000 | 新客户端共享溢出桶之前的最大内存速率限制桶 |
Vercel deployment
包括实验性Vercel支持。看 docs/VERCEL_DEPLOYMENT.md 有关设置说明。
要点:
- 使用Redis事件存储的无状态模式
- 需要职员或持有人身份验证
- 离开
MCP_TLS_*unset(Vercel终止HTTPS) - 集
MCP_PUBLIC_BASE_URL到您的部署URL,这样通告的MCP端点就永远不会依赖于请求标头 - Vercel不支持WebSockets——仅支持流式HTTP/SSE
Docker
docker build -t portkey-admin-mcp .
docker run \
-e PORTKEY_API_KEY=your_key \
-e MCP_HOST=0.0.0.0 \
-e MCP_PORT=3000 \
-e MCP_AUTH_MODE=bearer \
-e MCP_AUTH_TOKEN=your_secret \
-p 3000:3000 \
portkey-admin-mcp健康终点
| 路径 | 目的 |
|---|---|
GET /health | 服务器活跃度 |
GET /ready | 准备就绪(包括可选的Portkey连接检查) |
GET /auth/info | 身份验证配置元数据 |
______________________________________________________________________
发展
npm run dev # stdio with hot reload
npm run dev:http # HTTP with hot reload
npm test # unit + contract tests
npm run test:e2e # MCP protocol tests
npm run test:http # HTTP endpoint smoke test
npm run ci # full pipeline (lint + typecheck + test + build + e2e + verify)npm run dev:http 现在需要 MCP_AUTH_MODE=bearer 或 MCP_AUTH_MODE=clerk 默认情况下。对于仅在本地进行的未经身份验证的故意测试,设置 MCP_ALLOW_UNAUTHENTICATED_HTTP=true.
______________________________________________________________________
MIT许可证 ·灵感来自 r-huijts/portkey管理mcp服务器
↑ 返回页首
