sentry-mcp-rs

Um servidor MCP rápido e leve para o Sentry, escrito em Rust.

Documentação

sentry-mcp

Crates.io codecov License: MIT

Um servidor MCP rápido e leve para Sentry, escrito em Rust.

Por que sentry-mcp?

Comparado ao servidor oficial Node.js:

  • Memória: 10x menos uso de RAM
  • Inicialização: inicialização a frio instantânea
  • Disco: binário único, sem dependências de runtime
  • Tokens: menos ferramentas = lista de ferramentas menor no contexto

Recursos

Este servidor MCP fornece ferramentas para interagir com a API do Sentry:

  • get_issue_details - Recupera informações detalhadas sobre um issue do Sentry, incluindo metadados, tags, stacktraces e, opcionalmente, um evento específico
  • get_trace_details - Recupera detalhes de trace, incluindo árvore de spans e informações de tempo para análise de rastreamento distribuído
  • search_issue_events - Pesquisa eventos dentro de um issue usando a sintaxe de consulta do Sentry

Instalação

Do crates.io:

cargo install sentry-mcp

Do GitHub:

cargo install --git https://github.com/utapyngo/sentry-mcp-rs.git

Ou com mise:

mise use -g github:utapyngo/sentry-mcp-rs

O binário será instalado como sentry-mcp.

Configuração

Variáveis de ambiente obrigatórias:

  • SENTRY_AUTH_TOKEN - Seu token de autenticação da API do Sentry
  • SENTRY_HOST - O hostname da sua instância do Sentry (ex.: sentry.io)

Opcional:

  • SOCKS_PROXY - URL do proxy SOCKS5 (ex.: socks5://127.0.0.1:1080)
  • HTTPS_PROXY - URL do proxy HTTPS

Configuração do Cliente MCP

Adicione à configuração do seu cliente MCP:

{
  "mcpServers": {
    "sentry": {
      "command": "sentry-mcp",
      "env": {
        "SENTRY_AUTH_TOKEN": "your_token_here",
        "SENTRY_HOST": "sentry.io"
      }
    }
  }
}

Ou sem instalação usando mise:

{
  "mcpServers": {
    "sentry": {
      "command": "mise",
      "args": ["x", "github:utapyngo/sentry-mcp-rs", "--", "sentry-mcp"],
      "env": {
        "SENTRY_AUTH_TOKEN": "your_token_here",
        "SENTRY_HOST": "sentry.io"
      }
    }
  }
}

Desenvolvimento

Clone o repositório e crie um arquivo .env:

git clone https://github.com/utapyngo/sentry-mcp-rs.git
cd sentry-mcp-rs
cp .env.example .env
# Edit .env with your credentials

Compile e teste com o MCP Inspector:

cargo build --release
npx @modelcontextprotocol/inspector ./run.sh

Ou configure o cliente MCP para usar o script:

{
  "mcpServers": {
    "sentry": {
      "command": "/path/to/sentry-mcp-rs/run.sh"
    }
  }
}

Ferramentas

get_issue_details

Recupera informações detalhadas sobre um issue específico do Sentry.

Parâmetros:

  • issue_url - URL completa do issue do Sentry (alternativa aos parâmetros abaixo)
  • organization_slug - Slug da organização (obrigatório se issue_url não for fornecido)
  • issue_id - ID do issue como PROJECT-123 ou ID numérico (obrigatório se issue_url não for fornecido)
  • event_id - ID de evento específico para buscar em vez do mais recente (opcional)

get_trace_details

Recupera detalhes de trace para análise de rastreamento distribuído.

Parâmetros:

  • organization_slug - Slug da organização
  • trace_id - ID de trace hexadecimal de 32 caracteres

search_issue_events

Pesquisa eventos dentro de um issue usando a sintaxe de consulta do Sentry.

Parâmetros:

  • organization_slug - Slug da organização
  • issue_id - ID do issue (ex.: PROJECT-123)
  • query - Consulta de pesquisa opcional do Sentry
  • limit - Número máximo de eventos a retornar (padrão: 10, máximo: 100)
  • sort - Ordem de classificação: newest (padrão) ou oldest