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"
}
}
| Campo | Obrigatório | Descrição |
|---|---|---|
id | Sim | Identificador interno, usado no nome do servidor MCP (sentry-<id>) |
display_name | Sim | Nome legível por humanos |
sentry_org_slug | Sim | Da URL da sua organização no Sentry: sentry.io/organizations/<slug>/ |
sentry_project_slug | Não | Passado como --project-slug para restringir a um único projeto |
token_env_var | Sim | Nome da variável de ambiente que contém o token do Sentry (padrão: SENTRY_TOKEN_[A-Z_]+) |
ai_search | Sim | Habilita busca de issues/eventos com IA (requer chave da Anthropic ou OpenAI) |
active | Sim | Defina como false para excluir da configuração gerada |
skills | Não | Limita 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:readproject:readproject:writeteam:readteam:writeevent: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:
| Habilidade | Padrão | Ferramentas |
|---|---|---|
inspect | LIGADO | find_organizations, find_projects, find_teams, find_releases, find_dsns, list_issues, list_events, search_issues*, search_events*, get_sentry_resource |
seer | LIGADO | analyze_issue_with_seer |
docs | DESLIGADO | search_docs, get_doc |
triage | DESLIGADO | update_issue |
project-management | DESLIGADO | create_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 Berkati — berkati.xyz · @bakissation
Licença
MIT