Skip to main content
Glama

MCP Sentry para Cursor

MCP_SENTRY_ANALYSIS.md11.4 kB
# Análise Completa do MCP Sentry ## 📊 **Resumo Executivo** **Versão:** 0.1.0 **Total de Ferramentas:** 27 **Categorias:** SDK Tools (12) + API Tools (15) **Status:** ✅ Funcionando e Validado **Organização:** coflow ## 🏗️ **Arquitetura do Sistema** ### **Componentes Principais** - **Server:** MCP Server com transporte stdio - **Sentry SDK:** Integração com @sentry/node - **API Client:** Cliente REST para Sentry API - **Tool Handlers:** 27 ferramentas implementadas ### **Configuração** ```typescript interface SentryConfig { dsn?: string; environment?: string; release?: string; tracesSampleRate?: number; debug?: boolean; } ``` ## 🛠️ **Ferramentas SDK (12 ferramentas)** ### 1. **sentry_capture_exception** **Descrição:** Captura e envia exceções para o Sentry **Parâmetros:** - `error` (string, obrigatório): Mensagem ou descrição do erro - `level` (string, opcional): Nível de severidade (fatal, error, warning, info, debug) - `tags` (object, opcional): Pares chave-valor para marcar o erro - `context` (object, opcional): Dados de contexto adicionais - `user` (object, opcional): Informações do usuário **Exemplo:** ```json { "name": "sentry_capture_exception", "arguments": { "error": "Erro de conexão com banco de dados", "level": "error", "tags": {"component": "database", "operation": "query"}, "user": {"id": "user123", "email": "user@example.com"} } } ``` ### 2. **sentry_capture_message** **Descrição:** Captura e envia mensagens para o Sentry **Parâmetros:** - `message` (string, obrigatório): Mensagem para enviar - `level` (string, opcional): Nível de severidade - `tags` (object, opcional): Tags para a mensagem - `context` (object, opcional): Contexto adicional ### 3. **sentry_add_breadcrumb** **Descrição:** Adiciona breadcrumb para contexto de debugging **Parâmetros:** - `message` (string, obrigatório): Mensagem do breadcrumb - `category` (string, opcional): Categoria do breadcrumb - `level` (string, opcional): Nível de severidade - `data` (object, opcional): Dados adicionais ### 4. **sentry_set_user** **Descrição:** Define contexto do usuário para o Sentry **Parâmetros:** - `id` (string, opcional): ID do usuário - `email` (string, opcional): Email do usuário - `username` (string, opcional): Nome de usuário - `ip_address` (string, opcional): Endereço IP - `segment` (string, opcional): Segmento do usuário ### 5. **sentry_set_tag** **Descrição:** Define uma tag que será enviada com todos os eventos **Parâmetros:** - `key` (string, obrigatório): Chave da tag - `value` (string, obrigatório): Valor da tag ### 6. **sentry_set_context** **Descrição:** Define dados de contexto customizados **Parâmetros:** - `name` (string, obrigatório): Nome do contexto - `context` (object, obrigatório): Dados do contexto ### 7. **sentry_start_transaction** **Descrição:** Inicia uma transação de monitoramento de performance **Parâmetros:** - `name` (string, obrigatório): Nome da transação - `op` (string, obrigatório): Tipo de operação (http.request, db.query, etc.) - `description` (string, opcional): Descrição da transação ### 8. **sentry_finish_transaction** **Descrição:** Finaliza a transação atual **Parâmetros:** - `status` (string, opcional): Status da transação (ok, cancelled, etc.) ### 9. **sentry_start_session** **Descrição:** Inicia uma nova sessão para monitoramento de Release Health **Parâmetros:** - `distinctId` (string, opcional): Identificador único do usuário - `sessionId` (string, opcional): ID customizado da sessão - `release` (string, opcional): Versão do release - `environment` (string, opcional): Nome do ambiente ### 10. **sentry_end_session** **Descrição:** Finaliza a sessão atual com um status específico **Parâmetros:** - `status` (string, opcional): Como a sessão terminou (exited, crashed, abnormal, errored) ### 11. **sentry_set_release** **Descrição:** Define a versão do release para tracking de Release Health **Parâmetros:** - `release` (string, obrigatório): Versão do release (ex: myapp@1.0.0) - `dist` (string, opcional): Identificador de distribuição ### 12. **sentry_capture_session** **Descrição:** Captura uma sessão manualmente para modo servidor/request **Parâmetros:** - `sessionId` (string, obrigatório): Identificador único da sessão - `distinctId` (string, opcional): Identificador do usuário - `status` (string, opcional): Status da sessão - `duration` (number, opcional): Duração da sessão em segundos - `errors` (number, opcional): Número de erros na sessão ## 🌐 **Ferramentas API (15 ferramentas)** ### 13. **sentry_list_projects** **Descrição:** Lista todos os projetos da organização **Parâmetros:** Nenhum **Retorna:** Lista de projetos com slug, nome e ID ### 14. **sentry_list_issues** **Descrição:** Lista issues de um projeto **Parâmetros:** - `projectSlug` (string, obrigatório): Slug/identificador do projeto - `query` (string, opcional): Query de busca (ex: is:unresolved, level:error) ### 15. **sentry_create_release** **Descrição:** Cria um novo release **Parâmetros:** - `version` (string, obrigatório): Versão do release (ex: myapp@1.0.0) - `projects` (array, opcional): Lista de slugs de projetos - `url` (string, opcional): URL do release - `dateReleased` (string, opcional): Data do release (formato ISO) ### 16. **sentry_list_releases** **Descrição:** Lista releases de um projeto **Parâmetros:** - `projectSlug` (string, obrigatório): Slug/identificador do projeto ### 17. **sentry_get_organization_stats** **Descrição:** Obtém estatísticas da organização **Parâmetros:** - `stat` (string, obrigatório): Tipo de estatística (received, rejected, blacklisted) - `since` (string, opcional): Data inicial (formato ISO ou timestamp) - `until` (string, opcional): Data final (formato ISO ou timestamp) - `resolution` (string, opcional): Resolução temporal (10s, 1h, 1d) ### 18. **sentry_create_alert_rule** **Descrição:** Cria uma regra de alerta para um projeto **Parâmetros:** - `projectSlug` (string, obrigatório): Slug/identificador do projeto - `name` (string, obrigatório): Nome da regra de alerta - `conditions` (array, opcional): Condições do alerta - `actions` (array, opcional): Ações do alerta - `frequency` (number, opcional): Frequência de verificação em minutos ### 19. **sentry_resolve_short_id** **Descrição:** Recupera detalhes sobre um issue usando seu short ID **Parâmetros:** - `shortId` (string, obrigatório): Short ID do issue (ex: PROJ-123) ### 20. **sentry_get_event** **Descrição:** Recupera um evento específico do Sentry **Parâmetros:** - `projectSlug` (string, obrigatório): Slug/identificador do projeto - `eventId` (string, obrigatório): ID do evento ### 21. **sentry_list_error_events_in_project** **Descrição:** Lista eventos de erro de um projeto específico **Parâmetros:** - `projectSlug` (string, obrigatório): Slug/identificador do projeto - `limit` (number, opcional): Número de eventos a retornar - `query` (string, opcional): Query de busca ### 22. **sentry_create_project** **Descrição:** Cria um novo projeto no Sentry **Parâmetros:** - `name` (string, obrigatório): Nome do projeto - `slug` (string, obrigatório): Slug do projeto (identificador URL-friendly) - `platform` (string, opcional): Plataforma (javascript, python, node) - `team` (string, obrigatório): Slug do time ### 23. **sentry_list_issue_events** **Descrição:** Lista eventos de um issue específico **Parâmetros:** - `issueId` (string, obrigatório): ID do issue - `limit` (number, opcional): Número de eventos a retornar ### 24. **sentry_get_issue** **Descrição:** Recupera e analisa um issue do Sentry **Parâmetros:** - `issueId` (string, obrigatório): ID ou URL do issue ### 25. **sentry_list_organization_replays** **Descrição:** Lista replays de uma organização **Parâmetros:** - `project` (string, opcional): ID ou slug do projeto - `limit` (number, opcional): Número de replays a retornar - `query` (string, opcional): Query de busca ### 26. **sentry_setup_project** **Descrição:** Configura Sentry para um projeto retornando DSN e instruções **Parâmetros:** - `projectSlug` (string, obrigatório): Slug/identificador do projeto - `platform` (string, opcional): Plataforma para instruções de instalação ### 27. **sentry_search_errors_in_file** **Descrição:** Busca erros do Sentry ocorrendo em um arquivo específico **Parâmetros:** - `projectSlug` (string, obrigatório): Slug/identificador do projeto - `filename` (string, obrigatório): Caminho ou nome do arquivo ## 🔧 **Funções Utilitárias** ### **mapSeverityLevel** **Descrição:** Mapeia níveis de severidade string para Sentry.SeverityLevel **Parâmetros:** - `level` (string): Nível de severidade **Retorna:** Sentry.SeverityLevel ### **initializeSentry** **Descrição:** Inicializa Sentry com configuração ou variáveis de ambiente **Parâmetros:** - `config` (SentryConfig, opcional): Configuração do Sentry **Retorna:** boolean ## 🚨 **Tratamento de Erros** ### **McpError** **Descrição:** Erro customizado para erros internos do servidor MCP **Uso:** ```typescript throw new McpError(ErrorCode.InternalError, "Mensagem de erro"); ``` ### **Validações** - Verificação de inicialização do Sentry - Validação de parâmetros obrigatórios - Tratamento de erros da API do Sentry ## 🔐 **Autenticação e Configuração** ### **Variáveis de Ambiente** - `SENTRY_DSN`: Data Source Name do Sentry - `SENTRY_AUTH_TOKEN`: Token de autenticação da API - `SENTRY_ORG`: Slug da organização - `SENTRY_API_URL`: URL base da API (padrão: https://sentry.io/api/0) ### **Argumentos de Linha de Comando** - `--dsn`: DSN do Sentry - `--auth-token`: Token de autenticação - `--org`: Slug da organização - `--environment`: Ambiente - `--release`: Versão do release - `--debug`: Modo debug ## 📊 **Exemplos de Uso** ### **Capturar Exceção** ```json { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "sentry_capture_exception", "arguments": { "error": "Erro crítico na aplicação", "level": "error", "tags": {"component": "api", "user_id": "123"}, "user": {"id": "123", "email": "user@example.com"} } } } ``` ### **Listar Projetos** ```json { "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "sentry_list_projects", "arguments": {} } } ``` ### **Criar Release** ```json { "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "sentry_create_release", "arguments": { "version": "myapp@2.0.0", "projects": ["coflow"], "url": "https://github.com/coflow/myapp/releases/tag/v2.0.0" } } } ``` ## 🎯 **Status de Implementação** ### **✅ Funcionando (27/27)** - Todas as 27 ferramentas implementadas - Testadas e validadas - Integração completa com Sentry SDK e API - Tratamento de erros robusto - Documentação completa ### **🔗 Dashboard** - **URL:** https://coflow.sentry.io - **Organização:** coflow - **Projetos:** 1 projeto ativo - **Issues:** 8 issues monitoradas --- **Análise gerada em:** 02/08/2025 **Versão do código:** 0.1.0 **Total de ferramentas:** 27 **Status:** ✅ Completo e Funcional

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/diegofornalha/sentry-mcp-cursor'

If you have feedback or need assistance with the MCP directory API, please join our Discord server