portkey-admin-mcp

Servidor MCP completo para a API de administração do AI Gateway https://portkey.ai com 151 ferramentas em 18 domínios.

Documentação

Portkey Admin MCP icon

Servidor MCP Portkey Admin

A Portkey Admin API como um servidor MCP — 181 ferramentas em prompts, configs, chaves, análises, governança, implantações e muito mais.

npm version Node.js License: MIT

CI OpenSSF Scorecard OpenSSF Best Practices Maintainability Code Coverage

npm downloads Mentioned in Awesome MCP Servers MCP Registry Sponsor


[!important] Importante Desenvolvimento ativo de compatibilidade. A Palo Alto Networks concluiu a aquisição da Portkey em 29/05/2026 e agora apresenta a Portkey como o núcleo do Prisma AIRS AI Gateway. A Portkey Admin API permanece ativa, e seu OpenAPI oficial e changelog de produto continuaram adicionando superfícies de plano de controle até setembro de 2026; portanto, este projeto retomou o trabalho de cobertura da API. Ele tem como alvo a API compatível com Portkey (x-portkey-api-key), não o Prisma AIRS/Strata Cloud Manager diretamente. O Prisma AIRS AI Gateway atualmente possui uma superfície de gerenciamento e autenticação diferente, portanto não é uma substituição direta do PORTKEY_BASE_URL. Consulte o breve guia de interoperabilidade Prisma AIRS para o modelo lado a lado suportado e os critérios de adaptador.

Conteúdo


Início Rápido

Você precisa de uma chave de API Portkey com os escopos apropriados. Obtenha uma no seu painel da Portkey em API Keys.

Claude Code

claude mcp add -e PORTKEY_API_KEY=your_key portkey-admin -- npx -y portkey-admin-mcp

Cursor / Windsurf / VS Code

Adicione à sua configuração MCP (.cursor/mcp.json, .windsurf/mcp.json ou .vscode/mcp.json):

{
  "mcpServers": {
    "portkey-admin": {
      "command": "npx",
      "args": ["-y", "portkey-admin-mcp"],
      "env": {
        "PORTKEY_API_KEY": "your_api_key"
      }
    }
  }
}

Executar diretamente

PORTKEY_API_KEY=your_key npx -y portkey-admin-mcp

Para expor apenas um subconjunto focado de ferramentas em clientes stdio, defina PORTKEY_TOOL_DOMAINS:

PORTKEY_API_KEY=your_key \
PORTKEY_TOOL_DOMAINS=prompts,analytics \
npx -y portkey-admin-mcp

Escopar domínios também é a maior alavanca no custo de contexto, não apenas no acesso. tools/list é paginado, e o catálogo completo de 181 ferramentas tem aproximadamente 400 KB quando um cliente segue nextCursor por todas as páginas. Restringir aos domínios que um cliente realmente precisa reduz isso aproximadamente de forma proporcional.

Compilar a partir do código-fonte

git clone https://github.com/CodesWhat/portkey-admin-mcp.git
cd portkey-admin-mcp
npm install && npm run build

Em seguida, use esta configuração:

{
  "mcpServers": {
    "portkey-admin": {
      "command": "node",
      "args": ["/path/to/portkey-admin-mcp/build/index.js"],
      "env": {
        "PORTKEY_API_KEY": "your_api_key"
      }
    }
  }
}

O Que Você Pode Fazer

CategoriaFerramentasExemplos
Prompts14Criar, versionar, renderizar, executar, migrar, promover prompts
Partials de Prompt7Fragmentos de prompt reutilizáveis com versionamento
Rótulos de Prompt5Organizar versões de prompt (produção, staging, dev)
Configs6Roteamento de gateway, cache, tentativas, balanceamento de carga
Implantações5Registrar, inspecionar, atualizar e arquivar Gateways auto-hospedados
Chaves de API6Criar, rotacionar e gerenciar chaves de API com escopo
Referências de Segredos5Gerenciar referências de segredos externos AWS, Azure e HashiCorp
Chaves Virtuais5Gerenciar chaves de acesso de provedores
Coleções5Agrupar prompts por aplicativo ou projeto
Provedores5Gerenciar configurações de provedores de IA
Integrações11Integrações de provedores, preços de modelos, modelos, acesso ao workspace
Integrações MCP10Integrações de ferramentas MCP externas
Servidores MCP12Registro de servidores MCP, capacidades e conexões ativas
Guardrails14Políticas de LLM e ferramentas MCP, mapeamentos de servidor, padrões da organização, exclusões de workspace
Limites de Uso7Limites de custo e consumo de tokens
Limites de Taxa5Controles de frequência de requisições
Análises22Custo, latência, erros, tokens, cache, feedback, grupos de provedores
Registro10Recuperação de logs, ingestão, exportação e restrições de campos
Rastreamento2Criação e atualização de feedback em rastreamentos
Usuários e Workspaces24Gerenciamento de usuários, convites, membros do workspace, mapeamentos de grupos SCIM
Auditoria1Acesso ao log de auditoria

181 ferramentas no total em 20 domínios de ferramentas. Consulte ENDPOINTS.md para a lista completa com descrições.

A linguagem de produto mais recente da Portkey apresenta cada vez mais credenciais de provedores como Provedores, enquanto a Admin API atual ainda expõe tanto /virtual-keys quanto /providers. Este servidor mantém ambos os domínios: Chaves Virtuais gerenciam credenciais de acesso de provedores, e Provedores gerenciam configurações de provedores do workspace.


Escopos de Chave de API

A maioria das ferramentas funciona com uma chave de serviço com escopo de workspace que tem as permissões Selecionar Tudo habilitadas. Isso cobre prompts, configs, chaves virtuais/de API, provedores, guardrails, integrações do workspace, servidores MCP, limites de taxa/uso, logs, conclusões de prompt e gerenciamento de usuários do workspace.

Se uma ferramenta retornar um 403 com o erro Portkey AB03, significa escopos ausentes — não um endpoint quebrado.

Ferramentas restritas a Enterprise e outros requisitos de escopo

Ferramentas restritas a Enterprise (53)

As seguintes ferramentas exigem um escopo de nível de organização que só está disponível em planos Portkey Enterprise. Elas retornam 403 You do not have enough permissions to execute this request em planos de workspace. Suas descrições incluem um sufixo Enterprise-gated. Returns 403 on non-Enterprise Portkey plans. para que os clientes MCP saibam de antemão.

ÁreaFerramentasEscopo necessário
Análises (22)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_cache_summary, 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, get_analytics_group_providersanalytics.view de nível de organização
Implantações (5)list_deployments, register_deployment, get_deployment, update_deployment, archive_deploymentAdministração de implantação Enterprise
Auditorialist_audit_logsaudit_logs.list
Integrações de nível de organizaçãoget_integration, list_integration_models, list_integration_workspacesorganisation_integrations.read
Usuários de nível de organizaçãolist_all_users, get_user, get_user_stats, list_user_invitesorganisation_users.list / organisation_users.read
Guardrails da organização (6)get_organisation_defaults, update_organisation_defaults, list_input_guardrail_workspace_exclusions, update_input_guardrail_workspace_exclusions, list_output_guardrail_workspace_exclusions, update_output_guardrail_workspace_exclusionsorganisation_settings.read/update e organisation_exclusions.list/update
Exportações de logs (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_restrictionsExportação de Logs Enterprise + logs.export
Grupos SCIM (4)list_scim_groups, list_scim_workspace_mappings, create_scim_workspace_mapping, delete_scim_workspace_mappingSCIM habilitado + acesso de administrador da organização

Outros requisitos de escopo

RecursoNecessário
Conclusões de prompt (run_prompt_completion)Escopo completions.write + metadados de cobrança (app, env)
Criação de chave de serviço de API de nível de organização via create_api_keyorganisation_service_api_keys.create (Enterprise)

Servidor HTTP (Experimental)

Status: O transporte HTTP funciona localmente e é coberto pela suíte de testes de integração, mas é uma prova de conceito — não há versão hospedada deste servidor, e a implantação hospedada não é atualmente um objetivo. Use stdio (npx) como o transporte suportado.

O servidor suporta HTTP Streamable para acesso remoto:

A autenticação HTTP controla o acesso ao servidor, mas não se passa por locatários Portkey separados. Todos os principais autenticados usam o mesmo PORTKEY_API_KEY configurado e podem invocar qualquer ferramenta habilitada e escopo que essa credencial conceder. Execute instâncias ou implantações separadas com credenciais Portkey com escopo separado e listas de permissão PORTKEY_TOOL_DOMAINS para diferentes níveis de confiança.

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

Ou via npx (o pacote portkey-admin-mcp inclui o binário 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

Para uso HTTP somente local, deixe MCP_HOST no padrão 127.0.0.1. Defina MCP_HOST=0.0.0.0 somente quando você precisar intencionalmente aceitar conexões de fora da máquina local, como Docker ou um proxy reverso em outra interface.

Referência completa de variáveis de ambiente

VariávelPadrãoDescrição
PORTKEY_API_KEY(obrigatório)Sua chave de API Portkey
PORTKEY_BASE_URLhttps://api.portkey.ai/v1URL base da API Admin Portkey. URLs Prisma AIRS/SCM não são compatíveis; requisições autenticadas nunca seguem redirecionamentos automaticamente
PORTKEY_ALLOW_PRIVATE_BASE_URLDefina como true para permitir um PORTKEY_BASE_URL literal de loopback/privado
PORTKEY_ALLOW_INSECURE_HTTPDefina separadamente como true apenas quando um gateway auto-hospedado confiável não puder usar HTTPS
PORTKEY_TOOL_DOMAINSLista de permissões no lado do servidor dos 20 domínios: users, workspaces, configs, deployments, keys, collections, prompts, analytics, guardrails, limits, audit, labels, partials, tracing, logging, providers, secret-references, integrations, mcp-integrations, mcp-servers. HTTP ?tools= pode restringi-la, mas não pode expandi-la
MCP_HOST127.0.0.1Endereço de bind
MCP_PORT3000Porta
MCP_PUBLIC_BASE_URLURL base absoluta pública para divulgar a partir de /auth/info e da página de status; recomendada para implantações hospedadas
MCP_AUTH_MODEnonenone, bearer ou clerk (none é bloqueado para HTTP, a menos que seja explicitamente sobrescrito)
MCP_AUTH_TOKENSegredo para autenticação bearer
CLERK_ISSUER / CLERK_AUDIENCEEmissor e público obrigatórios quando MCP_AUTH_MODE=clerk
CLERK_ALLOWED_SUBJECTSLista de permissões CSV opcional de assuntos para Clerk; pelo menos uma política de autorização Clerk é obrigatória
CLERK_ALLOWED_ORGANIZATION_IDS / CLERK_ALLOWED_ROLESRestrições CSV opcionais de organização e função; toda restrição configurada deve corresponder
CLERK_REQUIRED_PERMISSIONSPermissões CSV opcionais que devem estar todas presentes no JWT Clerk verificado
MCP_ALLOW_UNAUTHENTICATED_HTTPDefina como true apenas para depuração HTTP local não autenticada intencional
MCP_SESSION_MODEstatefulstateful ou stateless
MCP_MAX_SESSIONS100Máximo de sessões com estado simultâneas ou manipuladores de requisições sem estado ativos
MCP_EVENT_STOREoffoff, memory ou redis; replay sem estado GET /mcp exige memory ou redis
MCP_EVENT_TTL_SECONDS300Retenção de replay em segundos
MCP_EVENT_STORE_MAX_EVENTS10000Máximo de eventos retidos pelo armazenamento de replay em memória; os eventos mais antigos são removidos primeiro
MCP_EVENT_STORE_MAX_BYTES67108864Aproximadamente o máximo de bytes serializados retidos pelo armazenamento de replay em memória
MCP_EVENT_STORE_COMMAND_TIMEOUT_MS5000Tempo limite do comando Redis para o armazenamento de eventos, em milissegundos; 0 desativa o tempo limite (restaura o comportamento ilimitado anterior à v6)
MCP_REDIS_URLURL Redis para armazenamento de eventos compartilhado; produção exige rediss:// e credenciais com escopo ACL
MCP_EVENT_ENCRYPTION_KEYChave AES base64 de 32 bytes obrigatória para payloads de replay Redis; gere com openssl rand -base64 32
MCP_REDIS_KEY_PREFIXmcp:event-storeNamespace Redis dedicado para dados de replay
MCP_TLS_KEY_PATHChave TLS para HTTPS nativo
MCP_TLS_CERT_PATHCertificado TLS para HTTPS nativo
ALLOWED_ORIGINSLista de permissões CORS; também usada para validar o cabeçalho Host (proteção contra rebinding de DNS) quando MCP_AUTH_MODE=none
MCP_TRUST_PROXYloopbackPolítica de trust-proxy do Express. Use uma contagem exata de saltos não negativa ou uma sub-rede de proxy confiável; true é rejeitado porque confia em cabeçalhos de encaminhamento de qualquer peer
RATE_LIMIT_STOREmemoryredis para implantações multi-instância/serverless; modo de memória em produção exige RATE_LIMIT_SINGLE_PROCESS=true
RATE_LIMIT_REDIS_URLURL Redis compartilhada do limitador, com fallback para MCP_REDIS_URL / REDIS_URL; produção exige rediss://
RATE_LIMIT_REDIS_KEY_PREFIXmcp:rate-limitNamespace Redis para buckets de tokens atômicos de pré-autenticação por IP e principal-mais-IP
RATE_LIMIT_MAX_BUCKETS10000Máximo de buckets locais em modo de memória explícito antes que novos clientes compartilhem capacidade de estouro

Contêineres de produção devem escolher sua topologia de limite de taxa explicitamente: defina RATE_LIMIT_STORE=redis para implantações multi-instância, ou defina RATE_LIMIT_SINGLE_PROCESS=true apenas para um único processo de longa duração.

Implantação no Vercel

O suporte ao Vercel é mantido como uma prova de conceito de referência — não executamos uma implantação hospedada. Consulte docs/VERCEL_DEPLOYMENT.md se quiser fazer auto-implantação.

Pontos principais:

  • Usa manipulação de requisições sem estado com replay Redis criptografado e vinculado ao principal e um limitador de taxa Redis atômico compartilhado
  • Exige autenticação Clerk ou bearer
  • Deixe MCP_TLS_* não definido (o Vercel encerra HTTPS)
  • Defina MCP_PUBLIC_BASE_URL para a URL da sua implantação para que os endpoints MCP divulgados nunca dependam de cabeçalhos de requisição
  • O Vercel não suporta WebSockets — apenas Streamable HTTP/SSE Docker
docker build -t portkey-admin-mcp .
docker run \
  -e PORTKEY_API_KEY=your_key \
  -e MCP_TRANSPORT=http \
  -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

Endpoints de Saúde

CaminhoFinalidade
GET /healthVivacidade do servidor
GET /readyProntidão (inclui verificação opcional de conectividade com Portkey)
GET /auth/infoMetadados de configuração de autenticação

Desenvolvimento

npm run dev           # stdio with hot reload
npm run dev:http      # HTTP with hot reload
npm test              # unit + contract tests
npm run test:coverage # unit + contract tests with the enforced 80% line floor
npm run test:e2e      # MCP protocol tests
npm run test:http     # HTTP endpoint smoke test
npm run smoke         # credentialed read-only Portkey API smoke suite
npm run ci            # full pipeline (lint + typecheck + coverage + build + e2e + verify)

A suíte de smoke tests ao vivo relata negações esperadas de escopo de credenciais e as lacunas de rotas do plano de controle hospedado explicitamente rastreadas como skips. Respostas HTTP inesperadas, erros de rede e falhas de contrato de resposta ainda falham na execução.

Os portões obrigatórios de CI e release medem cada arquivo-fonte TypeScript e falham abaixo de 80% de cobertura de linhas. O relatório completo atual é 98,19% de linhas, 91,92% de branches e 98,58% de funções.

npm run dev:http agora exige MCP_AUTH_MODE=bearer ou MCP_AUTH_MODE=clerk por padrão. Para testes locais deliberados não autenticados, defina MCP_ALLOW_UNAUTHENTICATED_HTTP=true.

Contribuições usam pull requests e as verificações documentadas em CONTRIBUTING.md. Decisões de projeto e funções de mantenedores estão documentadas em GOVERNANCE.md. Relate vulnerabilidades por meio de SECURITY.md e consulte SECURITY-ASSURANCE.md para o modelo de ameaças público e o caso de garantia.


Comunidade

Perguntas e relatórios de bugs pertencem a Issues; discussões mais amplas, ideias e ajuda no uso do servidor pertencem a Discussions.

Os registros mantidos de pacote, registry, marketplace e diretório estão listados em Distribution and directories. Trate o catálogo de ferramentas gerado neste repositório como autoritativo quando um índice de terceiros estiver desatualizado.


Construído Com

TypeScript MCP SDK Zod 4 Biome Node 24 Anthropic

SemVer Conventional Commits Keep a Changelog

Licença MIT · Inspirado por r-huijts/portkey-admin-mcp-server

[

](https://github.com/CodesWhat)

Listagens no marketplace em LobeHub e Glama:

LobeHub MCP

portkey-admin-mcp MCP server

Voltar ao topo