Full Portkey Admin API MCP server β configs, prompts, keys, analytics, and more.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
The Portkey Admin API as an MCP server β 171 tools across prompts, configs, keys, analytics, governance, and more.
[!IMPORTANT] Active compatibility development. Palo Alto Networks completed its Portkey acquisition on 2026β05β29 and now presents Portkey as the core of Prisma AIRS AI Gateway. The Portkey Admin API remains live, and its official OpenAPI and product changelog continued adding control-plane surfaces through August 2026; this project has therefore resumed API-coverage work. It targets the Portkey-compatible API (
x-portkey-api-key), not Prisma AIRS/Strata Cloud Manager directly. Prisma AIRS AI Gateway currently has a different management and authentication surface, so it is not aPORTKEY_BASE_URLswap. See the short Prisma AIRS interoperability guide for the supported side-by-side model and adapter criteria.
You need a Portkey API key with appropriate scopes. Get one from your Portkey dashboard under API Keys.
Add to your MCP config (.cursor/mcp.json, .windsurf/mcp.json, or .vscode/mcp.json):
To expose only a focused subset of tools in stdio clients, set PORTKEY_TOOL_DOMAINS:
Scoping domains is also the biggest lever on context cost, not just access. tools/list
is paginated, and the complete 171-tool catalog is roughly 387 KB (~99K tokens) once a
client follows nextCursor through every page. Narrowing to the domains a client
actually needs cuts that roughly proportionally.
Then use this config:
| Category | Tools | Examples |
|---|---|---|
| Prompts | 14 | Create, version, render, execute, migrate, promote prompts |
| Prompt Partials | 7 | Reusable prompt fragments with versioning |
| Prompt Labels | 5 | Organize prompt versions (production, staging, dev) |
| Configs | 6 | Gateway routing, caching, retry, loadbalancing |
| API Keys | 6 | Create, rotate, and manage scoped API keys |
| Secret References | 5 | Manage AWS, Azure, and HashiCorp external-secret references |
| Virtual Keys | 5 | Manage provider access keys |
| Collections | 5 | Group prompts by app or project |
| Providers | 5 | Manage AI provider configurations |
| Integrations | 11 | Provider integrations, model pricing, models, workspace access |
| MCP Integrations | 10 | External MCP tool integrations |
| MCP Servers | 12 | MCP server registry, capabilities, and live connections |
| Guardrails | 11 | Content safety policies, organisation defaults, workspace exclusions |
| Usage Limits | 7 | Cost and token consumption limits |
| Rate Limits | 5 | Request frequency controls |
| Analytics | 20 | Cost, latency, errors, tokens, cache, feedback |
| Logging | 10 | Log retrieval, ingestion, export, and field restrictions |
| Tracing | 2 | Feedback creation and updates on traces |
| Users & Workspaces | 24 | User management, invites, workspace members, SCIM group mappings |
| Audit | 1 | Audit log access |
171 tools total. See ENDPOINTS.md for the full list with descriptions.
Most tools work with a workspace-scoped service key that has Select All permissions enabled. That covers prompts, configs, virtual/API keys, providers, guardrails, workspace integrations, MCP servers, rate/usage limits, logs, prompt completions, and workspace user management.
The following tools require an organisation-level scope that is only available on Portkey Enterprise plans. They return 403 You do not have enough permissions to execute this request on workspace plans. Their descriptions include an Enterprise-gated. Returns 403 on non-Enterprise Portkey plans. suffix so MCP clients know upfront.
| Area | Tools | Required scope |
|---|---|---|
| Analytics (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 | org-level analytics.view |
| Audit | list_audit_logs | audit_logs.list |
| Org-level integrations | get_integration, list_integration_models, list_integration_workspaces | organisation_integrations.read |
| Org-level users | list_all_users, get_user, get_user_stats, list_user_invites | organisation_users.list / organisation_users.read |
| Log exports (8) | create_log_export, list_log_exports, get_log_export, start_log_export, cancel_log_export, download_log_export, update_log_export, get_log_export_field_restrictions | Enterprise Logs Export + logs.export |
| SCIM groups (4) | list_scim_groups, list_scim_workspace_mappings, create_scim_workspace_mapping, delete_scim_workspace_mapping | SCIM enabled + organisation admin access |
| Feature | Required |
|---|---|
Prompt completions (run_prompt_completion) | completions.write scope + billing metadata (app, env) |
Org-level service API key creation via create_api_key | organisation_service_api_keys.create (Enterprise) |
If a tool returns a 403 with Portkey error AB03, it means missing scopes β not a broken endpoint.
Status: The HTTP transport works locally and is covered by the integration test suite, but it is a proof of concept β there is no hosted version of this server, and hosted deployment is not currently a goal. Use stdio (npx) as the supported transport.
The server supports Streamable HTTP for remote access:
Or via npx (the portkey-admin-mcp package includes the HTTP binary):
For local-only HTTP use, leave MCP_HOST at its default 127.0.0.1. Set MCP_HOST=0.0.0.0 only when you intentionally need to accept connections from outside the local machine, such as Docker or a reverse proxy on another interface.
| Variable | Default | Description |
|---|---|---|
PORTKEY_API_KEY | (required) | Your Portkey API key |
PORTKEY_BASE_URL | https://api.portkey.ai/v1 | Portkey Admin API base URL. Prisma AIRS/SCM URLs are not compatible; credentialed requests never auto-follow redirects |
PORTKEY_ALLOW_PRIVATE_BASE_URL | β | Set to true to allow a literal loopback/private PORTKEY_BASE_URL |
PORTKEY_ALLOW_INSECURE_HTTP | β | Separately set to true only when a trusted self-hosted gateway cannot use HTTPS |
PORTKEY_TOOL_DOMAINS | β | Server-side tool-domain allowlist. HTTP ?tools= may narrow this set but cannot expand it |
MCP_HOST | 127.0.0.1 | Bind address |
MCP_PORT | 3000 | Port |
MCP_PUBLIC_BASE_URL | β | Public absolute base URL to advertise from /auth/info and the status page; recommended for hosted deployments |
MCP_AUTH_MODE | none | none, bearer, or clerk (none is blocked for HTTP unless explicitly overridden) |
MCP_AUTH_TOKEN | β | Secret for bearer auth |
CLERK_ISSUER / CLERK_AUDIENCE | β | Required issuer and audience when MCP_AUTH_MODE=clerk |
CLERK_ALLOWED_SUBJECTS | β | Optional CSV subject allowlist for Clerk; at least one Clerk authorization policy is required |
CLERK_ALLOWED_ORGANIZATION_IDS / CLERK_ALLOWED_ROLES | β | Optional CSV organization and role constraints; every configured constraint must match |
CLERK_REQUIRED_PERMISSIONS | β | Optional CSV permissions that must all be present in the verified Clerk JWT |
MCP_ALLOW_UNAUTHENTICATED_HTTP | β | Set to true only for intentional local unauthenticated HTTP debugging |
MCP_SESSION_MODE | stateful | stateful or stateless |
MCP_MAX_SESSIONS | 100 | Maximum concurrent stateful sessions or active stateless request handlers |
MCP_EVENT_STORE | off | off, memory, or redis; stateless GET /mcp replay requires memory or redis |
MCP_EVENT_TTL_SECONDS | 300 | Replay retention in seconds |
MCP_REDIS_URL | β | Redis URL for shared event store; production requires rediss:// and ACL-scoped credentials |
MCP_EVENT_ENCRYPTION_KEY | β | Required 32-byte base64 AES key for Redis replay payloads; generate with openssl rand -base64 32 |
MCP_REDIS_KEY_PREFIX | mcp:event-store | Dedicated Redis namespace for replay data |
MCP_TLS_KEY_PATH | β | TLS key for native HTTPS |
MCP_TLS_CERT_PATH | β | TLS cert for native HTTPS |
ALLOWED_ORIGINS | β | CORS allow-list; also used to validate the Host header (DNS-rebinding protection) when MCP_AUTH_MODE=none |
MCP_TRUST_PROXY | false | Trust proxy headers (for reverse proxies) |
RATE_LIMIT_STORE | memory | redis for multi-instance/serverless deployments; production memory mode requires RATE_LIMIT_SINGLE_PROCESS=true |
RATE_LIMIT_REDIS_URL | β | Shared limiter Redis URL, falling back to MCP_REDIS_URL/REDIS_URL; production requires rediss:// |
RATE_LIMIT_REDIS_KEY_PREFIX | mcp:rate-limit | Redis namespace for atomic pre-authentication IP and principal-plus-IP token buckets |
RATE_LIMIT_MAX_BUCKETS | 10000 | Maximum local buckets in explicit memory mode before new clients share overflow capacity |
Production containers must choose their rate-limit topology explicitly: set
RATE_LIMIT_STORE=redis for multi-instance deployments, or set
RATE_LIMIT_SINGLE_PROCESS=true only for a single long-lived process.
Vercel support is kept as a reference proof of concept β we do not run a hosted deployment. See docs/VERCEL_DEPLOYMENT.md if you want to self-deploy.
Key points:
MCP_TLS_* unset (Vercel terminates HTTPS)MCP_PUBLIC_BASE_URL to your deployment URL so advertised MCP endpoints never depend on request headers| Path | Purpose |
|---|---|
GET /health | Server liveness |
GET /ready | Readiness (includes optional Portkey connectivity check) |
GET /auth/info | Auth configuration metadata |
npm run dev:http now requires MCP_AUTH_MODE=bearer or MCP_AUTH_MODE=clerk by default. For deliberate local-only unauthenticated testing, set MCP_ALLOW_UNAUTHENTICATED_HTTP=true.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/portkey-admin-mcp)<a href="https://allmcps.com/mcp/portkey-admin-mcp"><img src="https://allmcps.com/api/badge/portkey-admin-mcp?style=directory" alt="Portkey Admin Mcp on AllMCPs" /></a>