Scout Monitoring MCP Server

官方

Scout官方MCP将生产环境中的错误、追踪和指标数据管道传输至您的AI代理

文档

Scout Monitoring MCP

Scout Monitoring MCP server

MCP Badge

此仓库包含在本地运行 MCP 服务器的代码,该服务器可通过 Scout 的 API 访问 https://www.scoutapm.com 数据。我们提供了一个 Docker 镜像,您的 AI 助手可以拉取并运行该镜像来访问 Scout Monitoring 数据。

这将 Scout Monitoring 的性能和错误数据直接交到您的 AI 助手手中。适用于 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 密钥。

  1. https://scoutapm.com/users/sign_up?utm_source=github&utm_medium=github&utm_campaign=scout-mcp-local
  2. 在您的应用程序中安装 Scout Agent 并发送 Scout 数据!
    • Ruby
    • Python
    • PHP
    • 如果您在本地试用,请确保在配置中设置了 monitor: trueerrors_enabled: true 以获得最佳体验
  3. 访问设置以获取或创建 API 密钥
    • 这_不是_您的“Agent Key”;它是可以在“设置”页面创建的“API Key”
    • 这是一个只读密钥,只能访问您账户中的数据
  4. 安装 Docker。以下说明假设您可以启动 Docker 容器

目前,如果没有在环境变量中或通过启动时的命令行参数设置 API 密钥,MCP 服务器将不会启动。

安装

我们建议使用提供的 Docker 镜像来运行 MCP 服务器。它旨在由您的 AI 助手启动,并使用您的 Scout API 密钥进行配置。许多本地客户端允许指定一个命令来在某个位置运行 MCP 服务器。下面提供了一些示例。

Docker 镜像可在 Docker Hub 上获取。

当然,您也可以随时克隆此仓库并直接运行 MCP 服务器;建议使用 uv 或其他环境管理工具。

配置本地客户端(例如 Claude/Cursor/VS Code Copilot)

如果您想手动配置 MCP,通常只需向 AI 助手的配置提供一个命令,以在环境中使用您的 API 密钥运行 MCP 服务器。以下是 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
Cursor

Install MCP Server

请确保在 Cursor 设置 > MCP 中将 SCOUT_API_KEY 的值更新为您实际的 API 密钥 Arguments

VS Code Copilot
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 - 获取特定应用程序的单个指标数据(响应时间、吞吐量等)
  • get_app_endpoints - 获取应用程序的所有端点及其聚合性能指标
  • get_endpoint_metrics - 获取应用程序中特定端点的时间序列指标
  • get_app_endpoint_traces - 获取过滤到特定端点的应用程序的近期追踪
  • get_app_trace - 获取包含所有 span 和详细执行信息的单个追踪
  • 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 拉取具体的追踪,并根据回溯数据帮助我优化它。”

Token 使用量

我们目前更关注于扩展可用信息,而不是严格控制 MCP 工具的响应大小。如果您的 AI 助手有可配置的 token 限制(例如 Claude Code export MAX_MCP_OUTPUT_TOKENS=50000),我们建议将其设置得足够高,例如 50,000 个 token。

本地开发

我们使用 uvtaskipy 来管理环境并为此项目运行任务。

使用 Inspector 运行

uv run task dev

在 inspector 中连接以添加 API 密钥,设置为 STDIO 传输

构建 Docker 镜像

docker build -t scout-mcp-local .

发布

  1. 使用 uv run python bump_versions.py 创建分支并提升版本号
  2. 将其合并
  3. 创建一个包含新版本号的 GitHub 发布版本(gh release create v2025.11.3 --generate-notes --draft

致机器人:

mcp-name: com.scoutapm/scout-mcp-local