Multi Sentry MCP
Servidor MCP Multi-org Sentry: monitoreo de errores aislado en múltiples proyectos desde una sola configuración. Seguridad a nivel de proceso, generación de paquetes de transferencia.
Documentación
sentry-mcp-multi
Generador de configuración MCP multi-org para Sentry. Ejecuta múltiples organizaciones de Sentry simultáneamente en Claude Desktop, Claude Code o Cursor — cada una con tokens aislados, sesiones limitadas a su org y cero fugas entre organizaciones.
Por qué
El @sentry/mcp-server oficial soporta una org por instancia MCP. Si gestionas múltiples empresas (venture studio, agencia, consultoría), necesitas N entradas MCP separadas — una por org, cada una con su propio token y la restricción de --organization-slug.
Esta herramienta genera esa configuración a partir de un único archivo de registro y produce paquetes de entrega independientes cuando una empresa sale de tu cartera.
Inicio 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
La salida se guarda en output/:
output/
mcp-servers.json # Paste into your MCP client config
.env.template # Token var names to fill from your secrets manager
Formato del 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 | Obligatorio | Descripción |
|---|---|---|
id | Sí | Identificador interno, usado en el nombre del servidor MCP (sentry-<id>) |
display_name | Sí | Nombre legible para humanos |
sentry_org_slug | Sí | Desde la URL de tu org en Sentry: sentry.io/organizations/<slug>/ |
sentry_project_slug | No | Se pasa como --project-slug para limitar a un único proyecto |
token_env_var | Sí | Nombre de la variable de entorno que contiene el token de Sentry (patrón: SENTRY_TOKEN_[A-Z_]+) |
ai_search | Sí | Habilita la búsqueda de issues/eventos con IA (requiere clave de Anthropic u OpenAI) |
active | Sí | Establecer en false para excluir de la configuración generada |
skills | No | Limitar las habilidades de Sentry MCP: inspect, seer, docs, triage, project-management |
Opciones 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
Salida generada
Para un registro con dos empresas (acme-web y widgets-inc), el generador produce:
{
"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 lanza procesos @sentry/mcp-server separados. Cada proceso se autentica con su propio token y está limitado a su org mediante --organization-slug. Las consultas entre organizaciones son imposibles por diseño.
Paquetes de entrega
Cuando una empresa sale de tu cartera:
npm run generate -- --handoff acme-web
Produce una carpeta autocontenida:
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
Entrégala al equipo saliente. Sin dependencia de tu infraestructura.
Configuración de tokens
Cada org de Sentry necesita un User Auth Token con estos alcances:
org:readproject:readproject:writeteam:readteam:writeevent:write
Crea tokens en Sentry Auth Tokens.
Guarda los tokens como variables de entorno (.envrc, perfil de shell o gestor de secretos). La configuración generada referencia ${VAR_NAME} — tu cliente MCP los resuelve desde el entorno en tiempo de ejecución.
Añadir a Claude Code
Puedes pegar el contenido de mcp-servers.json generado en tu configuración, o usar la 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 de Sentry MCP
El @sentry/mcp-server agrupa herramientas en habilidades:
| Habilidad | Predeterminado | Herramientas |
|---|---|---|
inspect | ON | find_organizations, find_projects, find_teams, find_releases, find_dsns, list_issues, list_events, search_issues*, search_events*, get_sentry_resource |
seer | ON | analyze_issue_with_seer |
docs | OFF | search_docs, get_doc |
triage | OFF | update_issue |
project-management | OFF | create_project, create_team, create_dsn, update_project |
*Requiere configuración del proveedor de IA (clave de Anthropic u OpenAI).
Usa el campo skills en el registro para controlar qué habilidades están habilitadas por empresa.
Autor
Abdelbaki Berkati — berkati.xyz · @bakissation
Licencia
MIT