哨兵mcp
Sentry的MCP服务主要是为人类在线编码代理设计的。我们的工具选择和优先级侧重于开发人员工作流程和调试用例,而不是为所有Sentry功能提供通用的MCP服务器。
这个远程MCP服务器充当上游Sentry API的中间件,针对Cursor、Claude Code等编码助手和类似的开发工具进行了优化。它是基于 Cloudflare在远程MCP方面的工作.
入门指南
通过访问生产中部署的服务,您将找到所需了解的一切:
如果你想做出贡献,了解它是如何工作的,或者为自托管的Sentry运行它,请继续下面的操作。
Claude代码插件
作为Claude Code插件安装,用于自动子代理委托:
claude plugin marketplace add getsentry/sentry-mcp
claude plugin install sentry-mcp@sentry-mcp这提供了一个 sentry-mcp 当您询问Sentry的错误、问题、跟踪或性能时,Claude会自动委托给该子代理。
对于前瞻性工具变体和功能:
claude plugin install sentry-mcp@sentry-mcp-experimentalStdio与Remote
虽然此存储库侧重于充当MCP服务,但我们还支持 stdio 运输。这仍然是一项正在进行的工作,但这是使MCP适应自托管Sentry安装的最简单方法。
注: 人工智能驱动的搜索工具(search_events, search_issues等等)需要LLM提供者(OpenAI或Anthropic)。这些工具使用自然语言处理将查询转换为Sentry的查询语法。如果没有配置的提供程序,这些特定工具将不可用,但所有其他工具将正常运行。
利用 stdio 在传输过程中,您需要在Sentry中创建一个具有必要作用域的用户身份验证令牌。在撰写本文时,这是:
org:read
project:read
project:write
team:read
team:write
event:write启动运输工具:
npx @sentry/mcp-server@latest --access-token=sentry-user-token需要连接到自托管部署?添加 --主持人 (主机名 仅例如。 --host=sentry.example.com)当你运行命令时。 对于只公开纯HTTP的隔离内部部署,还可以添加 --不安全的http.
某些功能(如Seer)可能在自托管实例上不可用。你可以 禁用特定技能以防止暴露不受支持的工具:
npx @sentry/mcp-server@latest --access-token=TOKEN --host=sentry.example.com --disable-skills=seer对于没有TLS的自托管实例:
npx @sentry/mcp-server@latest --access-token=TOKEN --host=sentry.internal:9000 --insecure-http环境变量
SENTRY_ACCESS_TOKEN= # Required: Your Sentry auth token
# LLM Provider Configuration (required for AI-powered search tools)
EMBEDDED_AGENT_PROVIDER= # Required: 'openai' or 'anthropic'
OPENAI_API_KEY= # Required if using OpenAI
ANTHROPIC_API_KEY= # Required if using Anthropic
# Optional overrides
SENTRY_HOST= # For self-hosted deployments
MCP_DISABLE_SKILLS= # Disable specific skills (comma-separated, e.g. 'seer')重要提示: 始终设置 EMBEDDED_AGENT_PROVIDER 明确指定您的LLM提供者。仅基于API密钥的自动检测已被弃用,并将在将来的版本中删除。看 docs/embedded-agents.md 了解详细的配置选项。
MCP配置示例
{
"mcpServers": {
"sentry": {
"command": "npx",
"args": ["@sentry/mcp-server"],
"env": {
"SENTRY_ACCESS_TOKEN": "your-token",
"EMBEDDED_AGENT_PROVIDER": "openai",
"OPENAI_API_KEY": "sk-..."
}
}
}
}如果未设置主机变量,CLI会自动以Sentry为目标 SaaS服务。仅在操作自托管哨兵时设置覆盖。
对于不支持Seer的自托管实例:
{
"mcpServers": {
"sentry": {
"command": "npx",
"args": ["@sentry/mcp-server"],
"env": {
"SENTRY_ACCESS_TOKEN": "your-token",
"SENTRY_HOST": "sentry.example.com",
"MCP_DISABLE_SKILLS": "seer"
}
}
}
}MCP检查员
MCP包括 检查员,轻松测试服务:
pnpm inspector输入MCP服务器URL()然后点击连接。这应该会为您触发身份验证流程。
注意:如果您在访问检查器时遇到OAuth流问题 127.0.0.1,尝试使用 localhost 而是通过访问 http://localhost:6274.
本地开发
要贡献更改,您需要设置本地环境:
- 设置环境和代理技能:
make setup-env # Creates .env files and installs shared agent skills这也运行 npx @sentry/dotagents install 从安装共享技能 获得哨兵/技能 进入 .agents/skills/ (符号链接到 .claude/skills 和 .cursor/skills).如果以后需要更新技能,请直接运行它:
npx @sentry/dotagents install- 在Sentry中创建OAuth应用程序 (设置=>API=> 应用程序):
- 主页网址: http://localhost:5173 - 授权重定向URI: http://localhost:5173/oauth/callback - 记下您的客户端ID并生成客户端密钥
- 配置您的凭据:
- 编辑 .env 在根目录中添加您的 OPENAI_API_KEY - 编辑 packages/mcp-cloudflare/.env 并添加: - SENTRY_CLIENT_ID=your_development_sentry_client_id - SENTRY_CLIENT_SECRET=your_development_sentry_client_secret - COOKIE_SECRET=my-super-secret-cookie
- 启动开发服务器:
pnpm dev验证
在本地运行服务器,使其在以下位置可用 http://localhost:5173
pnpm dev要测试本地服务器,请输入 http://localhost:5173/mcp 进入Inspector并点击连接。按照提示操作后,您将能够“列出工具”。
测试
包括三个测试套件:单元测试、评估和手动测试。
单元测试 可以使用以下命令运行:
pnpm test评估 需要 .env 项目根目录中的文件,带有一些配置:
# .env (in project root)
OPENAI_API_KEY= # Also required for AI-powered search tools in production注:根 .env 该文件为所有包提供了默认值。单个包裹可以有自己的 .env 在开发过程中覆盖这些默认值的文件。
完成后,您可以使用以下命令运行它们:
pnpm eval手动测试 (首选用于测试MCP更改):
# Test with local dev server (default: http://localhost:5173)
pnpm -w run cli "who am I?"
# Test agent mode (use_sentry tool only)
pnpm -w run cli --agent "who am I?"
# Test against production
pnpm -w run cli --mcp-host=https://mcp.sentry.dev "query"
# Test with local stdio mode (requires SENTRY_ACCESS_TOKEN)
pnpm -w run cli --access-token=TOKEN "query"注意:CLI默认为 http://localhost:5173.用覆盖 --mcp-host 或设置 MCP_URL 环境变量。
综合测试剧本:
- 标准测试: 看
docs/testing-stdio.md有关构建、运行和测试stdio实现(IDE、MCP检查器)的完整指南 - 远程测试: 看
docs/testing-remote.md有关测试远程服务器(OAuth、web UI、CLI客户端)的完整指南
开发笔记
自动代码审查
此存储库使用自动代码审查工具(如Cursor BugBot)来帮助识别拉取请求中的潜在问题。这些工具提供有用的反馈和建议,但是 我们不建议进行这些必要的检查 因为准确性仍在发展中,可能会产生误报。
自动审查应被视为:
- ✅ 有用的建议 在代码审查期间考虑
- ✅ 起点 供讨论和改进
- ❌ 无阻塞要求 用于合并PR
- ❌ 不是替代品 用于人类代码审查
在处理自动反馈时,要关注潜在的问题,而不是严格遵循每一个建议。
贡献者文档
想贡献或探索完整的文档地图吗?看 CLAUDE.md (也可用作 AGENTS.md)用于贡献者工作流和完整文档索引。这 docs/ 文件夹包含每个主题的指南和集成的工具 .md 文件夹。

