Multi Sentry MCP

Servidor MCP Multi-org Sentry — monitoramento isolado de erros em múltiplos projetos a partir de uma única configuração. Segurança em nível de processo, geração de pacotes de transferência.

Documentação

sentry-mcp-multi

Gerador de configuração MCP multi-org do Sentry. Execute várias organizações do Sentry simultaneamente no Claude Desktop, Claude Code ou Cursor — cada uma com tokens isolados, sessões com escopo por organização e zero vazamento entre organizações.

Por quê

O @sentry/mcp-server oficial suporta uma organização por instância MCP. Se você gerencia várias empresas (estúdio de venture, agência, consultoria), você precisa de N entradas MCP separadas — uma por organização, cada uma com seu próprio token e restrição de --organization-slug.

Esta ferramenta gera essa configuração a partir de um único arquivo de registro e produz pacotes de entrega autônomos quando uma empresa sai do seu portfólio.

Início Rápido

git clone https://github.com/your-username/sentry-mcp-multi.git
cd sentry-mcp-multi
npm install && npm run build

# Create your registry from the example
cp sentry-mcp-registry.example.json sentry-mcp-registry.json
# Edit with your real org slugs and token var names

# Generate config
npm run generate

A saída vai para output/:

output/
  mcp-servers.json    # Paste into your MCP client config
  .env.template       # Token var names to fill from your secrets manager

Formato do Registro

{
  "portfolio": [
    {
      "id": "acme-web",
      "display_name": "Acme Web",
      "sentry_org_slug": "acme-web",
      "sentry_project_slug": "acme-web-app",
      "token_env_var": "SENTRY_TOKEN_ACME_WEB",
      "ai_search": true,
      "active": true,
      "skills": ["inspect", "seer", "triage"]
    }
  ],
  "shared": {
    "anthropic_key_env_var": "ANTHROPIC_API_KEY",
    "embedded_agent_provider": "anthropic"
  }
}
CampoObrigatórioDescrição
idSimIdentificador interno, usado no nome do servidor MCP (sentry-<id>)
display_nameSimNome legível por humanos
sentry_org_slugSimDa URL da sua organização no Sentry: sentry.io/organizations/<slug>/
sentry_project_slugNãoPassado como --project-slug para restringir a um único projeto
token_env_varSimNome da variável de ambiente que contém o token do Sentry (padrão: SENTRY_TOKEN_[A-Z_]+)
ai_searchSimHabilita busca de issues/eventos com IA (requer chave da Anthropic ou OpenAI)
activeSimDefina como false para excluir da configuração gerada
skillsNãoLimita as habilidades do Sentry MCP: inspect, seer, docs, triage, project-management

Opções de CLI

Usage: sentry-mcp-gen [options]

Options:
  --registry <path>     Path to registry JSON (default: ./sentry-mcp-registry.json)
  --out-dir <path>      Output directory (default: ./output)
  --handoff <id>        Generate handoff package for one company
  --all-handoffs        Generate handoff packages for all active companies
  --dry-run             Print to stdout instead of writing files
  -h, --help            Show help

Saída Gerada

Para um registro com duas empresas (acme-web e widgets-inc), o gerador produz:

{
  "mcpServers": {
    "sentry-acme-web": {
      "command": "npx",
      "args": [
        "@sentry/mcp-server@latest",
        "--organization-slug=acme-web",
        "--project-slug=acme-web-app"
      ],
      "env": {
        "SENTRY_ACCESS_TOKEN": "${SENTRY_TOKEN_ACME_WEB}",
        "EMBEDDED_AGENT_PROVIDER": "anthropic",
        "ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}"
      }
    },
    "sentry-widgets-inc": {
      "command": "npx",
      "args": [
        "@sentry/mcp-server@latest",
        "--organization-slug=widgets-inc",
        "--project-slug=widgets-api"
      ],
      "env": {
        "SENTRY_ACCESS_TOKEN": "${SENTRY_TOKEN_WIDGETS_INC}",
        "EMBEDDED_AGENT_PROVIDER": "anthropic",
        "ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}"
      }
    }
  }
}

Cada cliente MCP inicia processos @sentry/mcp-server separados. Cada processo autentica com seu próprio token e é restrito à sua organização via --organization-slug. Consultas entre organizações são impossíveis por design.

Pacotes de Entrega

Quando uma empresa sai do seu portfólio:

npm run generate -- --handoff acme-web

Produz uma pasta autocontida:

output/handoff/sentry-mcp-acme-web/
  mcp-config.json     # Standalone MCP config with org slug, no shared keys
  .env.template       # Just their token var
  README.md           # Step-by-step setup guide

Entregue isso à equipe que está saindo. Sem dependência da sua infraestrutura.

Configuração de Tokens

Cada organização do Sentry precisa de um Token de Autenticação de Usuário com estes escopos:

  • org:read
  • project:read
  • project:write
  • team:read
  • team:write
  • event:write

Crie tokens em Tokens de Autenticação do Sentry.

Armazene tokens como variáveis de ambiente (.envrc, perfil do shell ou gerenciador de segredos). A configuração gerada referencia ${VAR_NAME} — seu cliente MCP resolve esses valores do ambiente em tempo de execução.

Adicionando ao Claude Code

Você pode colar o conteúdo do mcp-servers.json gerado na sua configuração, ou usar a CLI:

claude mcp add sentry-acme-web -s user \
  -e 'SENTRY_ACCESS_TOKEN=your-token-here' \
  -- npx @sentry/mcp-server@latest --organization-slug=acme-web

Habilidades do Sentry MCP

O @sentry/mcp-server agrupa ferramentas em habilidades:

HabilidadePadrãoFerramentas
inspectLIGADOfind_organizations, find_projects, find_teams, find_releases, find_dsns, list_issues, list_events, search_issues*, search_events*, get_sentry_resource
seerLIGADOanalyze_issue_with_seer
docsDESLIGADOsearch_docs, get_doc
triageDESLIGADOupdate_issue
project-managementDESLIGADOcreate_project, create_team, create_dsn, update_project

*Requer configuração de provedor de IA (chave da Anthropic ou OpenAI).

Use o campo skills no registro para controlar quais habilidades estão habilitadas por empresa.

Autor

Abdelbaki Berkatiberkati.xyz · @bakissation

Leia o estudo de caso →

Licença

MIT