Multi Sentry MCP

Multi-org Sentry MCP server — isolated error monitoring across multiple projects from a single config. Process-level security, handoff package generation.

sentry-mcp-multi

Multi-org Sentry MCP configuration generator. Run multiple Sentry organizations simultaneously in Claude Desktop, Claude Code, or Cursor — each with isolated tokens, org-scoped sessions, and zero cross-org leakage.

Why

The official @sentry/mcp-server supports one org per MCP instance. If you manage multiple companies (venture studio, agency, consultancy), you need N separate MCP entries — one per org, each with its own token and --organization-slug constraint.

This tool generates that config from a single registry file and produces standalone handoff packages when a company exits your portfolio.

Quick Start

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

Output lands in output/:

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

Registry Format

{
  "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"
  }
}
FieldRequiredDescription
idYesInternal identifier, used in MCP server name (sentry-<id>)
display_nameYesHuman-readable name
sentry_org_slugYesFrom your Sentry org URL: sentry.io/organizations/<slug>/
sentry_project_slugNoPassed as --project-slug to constrain to a single project
token_env_varYesEnv var name holding the Sentry token (pattern: SENTRY_TOKEN_[A-Z_]+)
ai_searchYesEnable AI-powered issue/event search (requires Anthropic or OpenAI key)
activeYesSet to false to exclude from generated config
skillsNoLimit Sentry MCP skills: inspect, seer, docs, triage, project-management

CLI Options

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

Generated Output

For a registry with two companies (acme-web and widgets-inc), the generator produces:

{
  "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}"
      }
    }
  }
}

Each MCP client spawns separate @sentry/mcp-server processes. Each process authenticates with its own token and is constrained to its org via --organization-slug. Cross-org queries are impossible by design.

Handoff Packages

When a company exits your portfolio:

npm run generate -- --handoff acme-web

Produces a self-contained folder:

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

Hand this to the exiting team. No dependency on your infrastructure.

Token Setup

Each Sentry org needs a User Auth Token with these scopes:

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

Create tokens at Sentry Auth Tokens.

Store tokens as environment variables (.envrc, shell profile, or secrets manager). The generated config references ${VAR_NAME} — your MCP client resolves these from the environment at runtime.

Adding to Claude Code

You can either paste the generated mcp-servers.json content into your config, or use the 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

Sentry MCP Skills

The @sentry/mcp-server groups tools into skills:

SkillDefaultTools
inspectONfind_organizations, find_projects, find_teams, find_releases, find_dsns, list_issues, list_events, search_issues*, search_events*, get_sentry_resource
seerONanalyze_issue_with_seer
docsOFFsearch_docs, get_doc
triageOFFupdate_issue
project-managementOFFcreate_project, create_team, create_dsn, update_project

*Requires AI provider configuration (Anthropic or OpenAI key).

Use the skills field in the registry to control which skills are enabled per company.

Author

Abdelbaki Berkatiberkati.xyz · @bakissation

Read the case study →

License

MIT

Servidores relacionados

NotebookLM Web Importer

Importa páginas web y videos de YouTube a NotebookLM con un clic. Utilizado por más de 200,000 usuarios.

Instalar extensión de Chrome