Scout Monitoring MCP
官方Scout 官方 MCP 將生產環境中的錯誤、追蹤和指標數據傳送至您的 AI 代理。
你可以用 Scout Monitoring MCP 做什麼?
- 列出受監控的應用程式 — 列出可用的 Scout APM 應用程式,可選擇依最後活動日期篩選。
- 檢視應用程式指標 — 擷取特定應用程式的個別指標資料,例如回應時間或輸送量。
- 檢查端點 — 取得應用程式的所有端點及其彙總效能指標,或取得單一端點的時間序列指標。
- 檢視追蹤 — 提取端點最近的追蹤,或取得包含所有 span 與執行細節的單一追蹤。
- 分類錯誤 — 取得應用程式最近的錯誤群組,可選擇依端點篩選。
- 呈現效能洞察 — 擷取洞察資訊,包括 N+1 查詢、記憶體膨脹與慢速查詢。
文件
Scout Monitoring MCP
此儲存庫包含可在本機執行 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 金鑰。
- https://scoutapm.com/users/sign_up?utm_source=github&utm_medium=github&utm_campaign=scout-mcp-local
- 在你的應用程式中安裝 Scout Agent 並傳送 Scout 資料!
- 前往設定取得或建立 API 金鑰
- 這_不是_你的「Agent Key」;而是在設定頁面建立的「API Key」
- 這是唯讀金鑰,只能存取你帳號中的資料
- 安裝 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
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"}
}
}
}
使用 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 .
發行
- 建立分支並使用
uv run python bump_versions.py提升版本 - 將其合併
- 以新版本建立 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