Back to MCP directory
publicPublicdnsLocal runtime

scout-mcp-local

Scout Monitoring MCP是一个本地运行的MCP服务器,通过Docker镜像让AI助手能够访问Scout应用性能监控数据,包括错误追踪、性能指标和代码级分析,帮助AI直接修复代码中的性能问题。

article

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 密钥。

  1. 注册
  2. 在你的应用程序中安装 Scout 代理并发送 Scout 数据!
    • Ruby
    • Python
    • PHP
    • 如果你在本地尝试,确保在你的配置中设置 monitor: trueerrors_enabled: true,以获得最佳体验
  3. 访问 设置 页面获取或创建一个 API 密钥
    • 不是 你的“代理密钥”,而是可以在设置页面创建的“API 密钥”
    • 这是一个只读密钥,只能访问你账户中的数据
  4. 安装 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
Cursor

Install MCP Server

确保在 Cursor 设置 > MCP 的“参数”中,将 SCOUT_API_KEY 的值更新为你实际的 API 密钥。

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"}
    }
  }
}

令牌使用

目前,我们更关注扩展可用信息,而不是严格控制 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 提取特定跟踪,并根据回溯数据帮助我对其进行优化。"

本地开发

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

使用检查器运行

uv run task dev

在检查器中连接以添加 API 密钥,并设置为 STDIO 传输

构建 Docker 镜像

docker build -t scout-mcp-local .
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client