关于 Scout Monitoring Mcp
Scout Monitoring MCP 将 Scout APM 的错误和性能数据提供给 AI 助手及编码 Agent,适用于应用开发与排障。它可查询追踪、错误组、端点指标和性能洞察,并提供框架配置模板资源。
主要功能
- 01列出应用及性能指标
- 02查询端点和时间序列数据
- 03读取追踪详情与错误组
- 04查看 N+1 和慢查询洞察
- 05提供框架配置模板资源
适用场景
- 01定位响应缓慢的端点
- 02分析错误回溯并寻找修复方向
- 03生成包含性能细节的问题单
- 04为应用生成 Scout 配置
MCP 相关
MCP 服务向客户端暴露 Scout APM 应用、指标、端点、追踪、错误组和性能洞察工具,并提供配置模板及指标资源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Scout Monitoring MCP
此仓库包含可在本地运行的 MCP 服务代码,该服务可通过 Scout 的 API 访问 Scout Monitoring 数据。我们提供了一个 Docker 镜像,AI 助手可以拉取并运行它,以访问 Scout Monitoring 数据。
这样一来,AI 助手就能直接获取 Scout Monitoring 的性能和错误数据。 适用于 Rails、Django、FastAPI、Laravel 等。使用它获取带有代码行信息的跟踪记录和错误,让 AI 能在编辑器和代码库中直接定位并修复问题。N+1 查询、缓慢的端点、 缓慢的查询、内存膨胀、吞吐量问题——各种常见的性能问题都会在你工作的地方呈现并得到解释。
如果这能让你的生活稍微好过一点,何不点个 :star: 呢?!
设置向导
配置并开始使用 Scout MCP 的最简单方式是使用我们的交互式设置向导。 它会为你处理所有前置条件和安装步骤。
通过 npx 运行:
npx @scout_apm/wizard
从源代码构建并运行:
cd ./wizard
npm install
npm run build
node dist/wizard.js
向导将引导你完成以下操作:
- 选择 AI 编码平台(Cursor、Claude Code、Claude Desktop)
- 输入 Scout API 密钥
- 自动配置 MCP 服务设置
支持的平台
向导目前支持以下平台的设置:
- Cursor - 自动配置 MCP 设置
- Claude Code (CLI) - 提供正确的运行命令
- Claude Desktop - 更新 Windows/Mac 的配置文件
对于其他平台,它会输出 JSON,你可以将其复制/粘贴到 AI 助手的 MCP 配置中。
前置条件
向导是开始使用的好方法,但你也可以手动设置。 你需要拥有或创建 Scout Monitoring 账户,并获取 API 密钥。
- 注册
- 在应用中安装 Scout Agent 并发送 Scout 数据!
- 访问设置以获取或创建 API 密钥
- 这不是你的“Agent Key”,而是可在“Settings”页面创建的“API Key”
- 这是一个只读密钥,只能访问你账户中的数据
- 安装 Docker。以下说明假设你可以启动 Docker 容器
目前,未设置 API 密钥时,MCP 服务不会启动。密钥必须通过环境变量设置,或在启动时作为命令行参数提供。
安装
我们建议使用提供的 Docker 镜像来运行 MCP 服务。 该镜像设计为由 AI 助手启动,并使用你的 Scout API 密钥进行配置。许多本地客户端允许指定在某个位置运行 MCP 服务的命令。下面提供了一些示例。
Docker 镜像可在 Docker Hub 上获取。
当然,你也可以随时克隆此仓库并直接运行 MCP 服务;建议使用 uv 或其他环境管理工具。
配置本地客户端(例如 Claude/Cursor/VS Code Copilot)
如果你想手动配置 MCP,通常只需在 AI 助手的配置中提供一条命令,用于运行 MCP 服务,并将 API 密钥设置为环境变量。 JSON 格式如下(顶层键因客户端而异):
{
"mcpServers": {
"scout-apm": {
"command": "docker",
"args": ["run", "--rm", "-i", "--env", "SCOUT_API_KEY", "scoutapp/scout-mcp-local"],
"env": { "SCOUT_API_KEY": "your_scout_api_key_here"}
}
}
}
Claude Code
claude mcp add scoutmcp -e SCOUT_API_KEY=your_scout_api_key_here -- docker run --rm -i -e SCOUT_API_KEY scoutapp/scout-mcp-local
VS Code Copilot
- VS Code Copilot 文档
- 我们推荐选择“将 MCP 服务添加到你的工作区”选项
Claude Desktop
将以下内容添加到你的 Claude 配置文件中:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"scout-apm": {
"command": "docker",
"args": ["run", "--rm", "-i", "--env", "SCOUT_API_KEY", "scoutapp/scout-mcp-local"],
"env": { "SCOUT_API_KEY": "your_scout_api_key_here"}
}
}
}
使用 Scout Monitoring MCP
Scout 的 MCP 旨在将错误和性能数据直接交到……AI 助手手中? 使用它获取包含代码行信息的跟踪记录和错误,让 AI 能在编辑器中精准定位并修复问题。
大多数助手会向你展示原始工具调用并进行分析。桌面助手可以轻松创建自定义 JS 应用,以便你探索所需的任何数据。 集成在代码编辑器中的助手可以利用跟踪数据和错误回溯,在代码库中直接进行修复。
将 Scout 的 MCP 与 AI 助手的其他工具结合使用,以便:
- 根据错误和性能数据创建详尽的 GitHub/GitLab 问题
- 让 JIRA 变得有趣——让 AI 助手创建包含所有详细信息的工单
- 生成 PR,修复特定错误和性能问题
工具
Scout MCP 提供以下工具,用于访问 Scout APM 数据:
list_apps- 列出可用的 Scout APM 应用,可选择按最近活跃日期筛选get_app_metrics- 获取特定应用的单项指标数据(response_time、throughput 等)get_app_endpoints- 获取某个应用的所有端点及汇总后的性能指标get_endpoint_metrics- 获取某个应用中特定端点的时间序列指标get_app_endpoint_traces- 获取应用最近的跟踪记录,并按特定端点筛选get_app_trace- 获取单条跟踪记录,包含所有跨度和详细执行信息get_app_error_groups- 获取应用最近的错误组,可选择按端点筛选get_app_insights- 获取性能洞察,包括 N+1 查询、内存膨胀和慢查询
资源
Scout MCP 提供配置模板作为资源,AI 助手可以读取并应用这些资源:
scoutapm://config-resources/{framework}- 支持的框架或库(rails、django、flask、fastapi)的设置说明scoutapm://config-resources/list- 列出所有可用的配置模板scoutapm://metrics- Scout APM 所有可用指标的列表
实用提示词
设置与配置
- “帮我为 Rails 应用设置 Scout 监控”
- “为我的 Django 项目创建 Scout APM 配置文件,密钥为 ABC123”
性能与监控
- “总结 Scout Monitoring MCP 中可用的工具。”
- “查找应用
my-app-name在过去 7 天内响应最慢的端点。生成一个表格,列出平均响应时间、吞吐量和 P95 响应时间。” - “显示应用
Foo在过去 24 小时内出现频率最高的错误。获取最新的错误详情,检查回溯信息并建议修复方法。” - “获取应用
Bar最近的 n+1 分析结果。按 ID 拉取具体的跟踪记录,并根据回溯数据帮助我优化。”
令牌用量
目前,与其严格控制 MCP 工具的响应大小,我们更希望扩展可用信息。如果你的 AI 助手有可配置的令牌限制(例如,Claude Code export MAX_MCP_OUTPUT_TOKENS=50000),我们建议将其设置得宽裕一些,例如 50,000 个令牌。
本地开发
我们使用 uv 和 taskipy 管理环境并运行此项目的任务。
使用 Inspector 运行
uv run task dev
在 Inspector 中连接以添加 API 密钥,并将传输方式设为 STDIO
构建 Docker 镜像
docker build -t scout-mcp-local .
发布
- 创建分支并使用
uv run python bump_versions.py更新版本 - 合并更改
- 使用新版本创建 GitHub 发布版本(
gh release create v2025.11.3 --generate-notes --draft)
发布版本会推送 v* 标签,CI 会发布 Docker 镜像、PyPI 软件包,然后发布 MCP Registry 条目:
server.json→com.scoutapm/scout-mcp-local(此服务;其版本由bump_versions.py更新)server.remote.json→com.scoutapm/scout-monitoring(托管于https://scoutapm.com/mcp的服务)。更改其元数据时,请手动更新其version;未更改的版本会跳过。
MCP Registry 密钥
Registry 通过 scoutapm.com 顶级域上的 DNS TXT 记录验证我们拥有 com.scoutapm/* 命名空间;该记录保存着 Ed25519 公钥。CI 使用仓库密钥 MCP_REGISTRY_PRIVATE_KEY 中对应的私钥进行签名。轮换密钥:
openssl genpkey -algorithm Ed25519 -out key.pem
# Public key for the TXT record: replace the existing v=MCPv1 record, don't add a second one
echo "v=MCPv1; k=ed25519; p=$(openssl pkey -in key.pem -pubout -outform DER | tail -c 32 | base64)"
# Private key (hex) for the MCP_REGISTRY_PRIVATE_KEY secret
openssl pkey -in key.pem -noout -text | grep -A3 "priv:" | tail -n +2 | tr -d ' :\n'
供机器人使用:
mcp-name: com.scoutapm/scout-mcp-local
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。