README
🚀 Scout Monitoring MCP
Scout Monitoring MCP 仓库包含了可在本地运行 MCP 服务器的代码,该服务器能够通过 Scout 的 API 访问 Scout Monitoring 的数据。我们提供了一个 Docker 镜像,你的 AI 助手可以拉取并运行该镜像来访问 Scout Monitoring 的数据。
这使得 Scout Monitoring 的性能和错误数据能直接交由你的 AI 助手处理。它支持 Rails、Django、FastAPI、Laravel 等多种框架。借助它,你可以获取带有代码行信息的跟踪和错误数据,AI 能够利用这些信息直接在你的编辑器和代码库中定位并修复问题。N+1 查询、慢速端点、慢速查询、内存膨胀、吞吐量问题——所有你关注的性能问题都能在你工作的地方被发现和解释。
如果这能让你的生活变得更好一点,为何不给它点个 :star: 呢?!
🚀 快速开始
前提条件
你需要拥有或创建一个 Scout Monitoring 账户,并获取一个 API 密钥。
- 注册
- 在你的应用程序中安装 Scout 代理并发送 Scout 数据!
- 访问 设置 页面获取或创建一个 API 密钥
- 这 不是 你的“代理密钥”,而是可以在设置页面创建的“API 密钥”
- 这是一个只读密钥,只能访问你账户中的数据
- 安装 Docker。以下说明假设你可以启动一个 Docker 容器
⚠️ 重要提示
如果未在环境中或在启动时通过命令行参数设置 API 密钥,MCP 服务器目前将无法启动。
安装
我们建议使用提供的 Docker 镜像来运行 MCP 服务器。该镜像旨在由你的 AI 助手启动,并使用你的 Scout API 密钥进行配置。许多本地客户端允许在某个位置指定运行 MCP 服务器的命令。以下是一些示例。
Docker 镜像可在 Docker Hub 上获取。
当然,你也可以始终克隆此仓库并直接运行 MCP 服务器;建议使用 uv 或其他环境管理工具。
设置向导
配置并开始使用 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 的配置文件
配置本地客户端(例如 Claude/Cursor/VS Code Copilot)
如果你想手动配置 MCP,通常只需在环境中提供一个带有你的 API 密钥的命令来运行 MCP 服务器,并将其提供给你的 AI 助手的配置。以下是 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"}
}
}
}
令牌使用
目前,我们更关注扩展可用信息,而不是严格控制 MCP 工具的响应大小。如果你的 AI 助手有可配置的令牌限制(例如 Claude Code export MAX_MCP_OUTPUT_TOKENS=50000),我们建议将其设置得足够高,例如 50,000 个令牌。
使用方法
Scout 的 MCP 旨在将错误和性能数据直接交由你的 AI 助手处理。借助它,你可以获取带有代码行信息的跟踪和错误数据,AI 能够利用这些信息直接在你的编辑器中定位并修复问题。
大多数助手会向你展示原始工具调用并进行分析。桌面助手可以轻松创建自定义 JS 应用程序,以探索你所需的任何数据。集成到代码编辑器中的助手可以使用跟踪数据和错误回溯信息直接在你的代码库中进行修复。
将 Scout 的 MCP 与你的 AI 助手的其他工具结合使用,以实现以下功能:
- 根据错误和性能数据创建丰富的 GitHub/GitLab 问题
- 让 JIRA 变得有趣——让你的 AI 助手创建包含所有详细信息的工单
- 生成修复特定错误和性能问题的 PR
工具
Scout MCP 提供了以下用于访问 Scout APM 数据的工具:
list_apps- 列出可用的 Scout APM 应用程序,可根据最后活动日期进行可选过滤get_app_metrics- 获取特定应用程序的单个指标数据(响应时间、吞吐量等)get_app_endpoints- 获取应用程序的所有端点及其聚合性能指标get_endpoint_metrics- 获取应用程序中特定端点的时间序列指标get_app_endpoint_traces- 获取应用程序中特定端点的近期跟踪信息get_app_trace- 获取包含所有跨度和详细执行信息的单个跟踪get_app_error_groups- 获取应用程序的近期错误组,可根据端点进行可选过滤get_app_insights- 获取性能洞察,包括 N+1 查询、内存膨胀和慢速查询
有用的提示
- "总结 Scout Monitoring MCP 中的可用工具。"
- "查找应用程序
my-app-name在过去 7 天内最慢的端点。生成一个包含平均响应时间、吞吐量和 P95 响应时间的结果表。" - "显示应用程序
Foo在过去 24 小时内出现频率最高的错误。获取最新的错误详细信息,检查回溯信息并建议修复方案。" - "获取应用程序
Bar的任何近期 N+1 洞察。通过 ID 提取特定跟踪,并根据回溯数据帮助我对其进行优化。"
本地开发
我们使用 uv 和 taskipy 来管理此项目的环境和运行任务。
使用检查器运行
uv run task dev
在检查器中连接以添加 API 密钥,并设置为 STDIO 传输
构建 Docker 镜像
docker build -t scout-mcp-local .
Scan to join WeChat group