Scout Monitoring MCP

官方

Scout 官方 MCP 將生產環境中的錯誤、追蹤和指標數據傳送至您的 AI 代理。

你可以用 Scout Monitoring MCP 做什麼?

  • 列出受監控的應用程式 — 列出可用的 Scout APM 應用程式,可選擇依最後活動日期篩選。
  • 檢視應用程式指標 — 擷取特定應用程式的個別指標資料,例如回應時間或輸送量。
  • 檢查端點 — 取得應用程式的所有端點及其彙總效能指標,或取得單一端點的時間序列指標。
  • 檢視追蹤 — 提取端點最近的追蹤,或取得包含所有 span 與執行細節的單一追蹤。
  • 分類錯誤 — 取得應用程式最近的錯誤群組,可選擇依端點篩選。
  • 呈現效能洞察 — 擷取洞察資訊,包括 N+1 查詢、記憶體膨脹與慢速查詢。

文件

Scout Monitoring MCP

Scout Monitoring MCP server

MCP Badge

此儲存庫包含可在本機執行 MCP 伺服器的程式碼,該伺服器可透過 Scout 的 API 存取 Scout Monitoring 資料。我們提供一個 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: true、errors_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 的 Arguments 中,將 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"}
    }
  }
}

使用 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 - 取得包含所有 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。

本機開發

我們使用 uv 與 taskipy 來管理此專案的環境並執行任務。

使用 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)

發佈發行版會推送 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 金鑰

登錄檔會透過位於 scoutapm.com 頂點的 DNS TXT 記錄(其中包含 Ed25519 公鑰)來驗證我們擁有 com.scoutapm/* 命名空間。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