项目简介

Scout APM 监控 MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在将您的 Scout APM 监控数据直接提供给 AI 助手。通过此服务器,AI 助手能够以标准化的方式查询、分析和理解应用程序的性能瓶颈、错误详情、请求追踪以及如 N+1 查询、内存泄漏等深度洞察,从而辅助开发者更快定位并解决问题。

主要功能点

  • 应用列表与指标: 查看所有在 Scout APM 上注册的应用程序,并获取其关键性能指标,如平均响应时间、吞吐量和错误率。
  • 端点性能分析: 深入分析应用程序中各个端点的性能表现,识别加载缓慢、请求频繁的端点,并获取其聚合指标。
  • 请求追踪: 检索特定应用程序或端点的最新请求追踪(Trace)数据,详细了解请求的执行路径、各个组件的耗时和依赖关系。
  • 错误组管理: 获取应用程序的错误组列表,查看高频错误、最新错误详情、错误回溯信息,帮助快速诊断和修复问题。
  • 性能洞察: 自动发现并报告常见的性能问题,例如 N+1 查询、内存膨胀和慢速数据库查询,提供数据以辅助 AI 助手给出优化建议。

安装步骤

  1. 获取 Scout APM API 密钥:
    • 如果您是 Scout APM 用户,请访问 Scout APM 设置页面 获取您的 API 密钥。
    • 如果您还不是用户,请先 注册 Scout APM 账户,然后前往设置页面获取 API 密钥。
    • 请注意,这是一个只读的 "API Key",而非您的 "Agent Key"。
  2. 安装 Docker: 确保您的系统上已安装并运行 Docker。Scout APM MCP 服务器最推荐通过 Docker 容器运行。
  3. 运行 MCP 服务器:
    • 推荐方式(由 AI 助手配置启动): 大多数 AI 助手客户端支持直接配置启动 MCP 服务器的命令。请参考下方“服务器配置”部分,将配置信息填入您的 AI 助手设置中。
    • 手动运行 Docker 容器: 您也可以手动拉取并运行 Docker 镜像:
      docker run -it --rm -e SCOUT_API_KEY=your_scout_api_key_here scoutapp/scout-mcp-local:latest
      请将 'your_scout_api_key_here' 替换为您的实际 API 密钥。
    • 本地开发运行: 如果您想进行本地开发或直接运行代码:
      # 克隆仓库
      git clone https://github.com/scoutapp/scout-mcp-local.git
      cd scout-mcp-local
      
      # 安装 Python 依赖 (推荐使用 uv)
      uv venv
      source .venv/bin/activate
      pip install -e .
      
      # 运行服务器 (确保设置了 SCOUT_API_KEY 环境变量)
      export SCOUT_API_KEY=your_scout_api_key_here
      python -m scout_mcp.main

服务器配置 (针对 MCP 客户端)

以下是典型的 MCP 客户端(如 Claude Code、Cursor、VS Code Copilot)所需配置 Scout APM MCP 服务器的 JSON 格式示例。请根据您使用的 AI 助手的具体配置界面,填入这些信息。

{
  "mcpServers": {
    "scout-apm": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "--env", "SCOUT_API_KEY", "scoutapp/scout-mcp-local:latest"],
      "env": { "SCOUT_API_KEY": "your_scout_api_key_here"}
    }
  }
}
  • '"scout-apm"': 这是您为该 MCP 服务器实例定义的名称,AI 助手会用此名称引用它。
  • '"command": "docker"': 指定启动 MCP 服务器所使用的命令。
  • '"args": [...]': 传递给 'docker' 命令的参数列表。
    • '"run"': 运行 Docker 容器。
    • '"--rm"': 容器退出时自动移除。
    • '"-i"': 保持标准输入打开,这是 MCP 服务器通过 Stdio 协议通信所必需的。
    • '"--env", "SCOUT_API_KEY"': 将宿主机环境中的 'SCOUT_API_KEY' 传递给 Docker 容器。
    • '"scoutapp/scout-mcp-local:latest"': 要运行的 Docker 镜像名称及其标签。
  • '"env": { "SCOUT_API_KEY": "your_scout_api_key_here"}': 设置环境变量 'SCOUT_API_KEY' 及其值。您的 AI 助手将使用此密钥来认证并访问 Scout APM 数据。请将 '"your_scout_api_key_here"' 替换为您的实际 API 密钥。

基本使用方法

一旦 Scout APM MCP 服务器配置并启动,您就可以通过 AI 助手与之进行自然语言交互,查询和分析您的应用程序性能数据。以下是一些您可以尝试的提示示例:

  • "总结 Scout Monitoring MCP 中提供的所有工具的功能和用途。"
  • "查找应用 'MyRailsApp' 在过去 7 天内响应时间最慢的端点。生成一个表格,包含端点名称、平均响应时间、P95 响应时间和总吞吐量。"
  • "显示应用 'Foo' 在过去 24 小时内出现频率最高的错误。获取最新错误的详细信息,查看其回溯信息,并建议可能的修复方案。"
  • "获取应用 'Bar' 的任何近期 N+1 查询洞察。拉取其中一个特定追踪(Trace)的完整数据,并根据回溯数据帮助我优化它。"
  • "针对应用 'MyDjangoApp',获取 '/api/users' 端点在昨天和今天之间响应时间的变化趋势。"

信息

分类

开发者工具