跳到內容

MCP Server

Framedash MCP Server 是一個 Model Context Protocol 伺服器,可讓 LLM 直接存取 Framedash 遙測資料。提供 12 個唯讀工具和 4 個資源,支援使用自然語言查詢遊戲分析資料。

claude_desktop_config.json 中新增:

{
"mcpServers": {
"framedash": {
"command": "npx",
"args": ["-y", "@framedash/mcp-server"],
"env": {
"FRAMEDASH_API_KEY": "fd_xxx",
"FRAMEDASH_PROJECT_ID": "your-project-uuid"
}
}
}
}

在 VS Code 設定中新增:

{
"claude.mcpServers": {
"framedash": {
"command": "npx",
"args": ["-y", "@framedash/mcp-server"],
"env": {
"FRAMEDASH_API_KEY": "fd_xxx",
"FRAMEDASH_PROJECT_ID": "your-project-uuid"
}
}
}
}

使用 claude mcp 指令註冊伺服器:

Terminal window
claude mcp add framedash \
-e FRAMEDASH_API_KEY=fd_xxx \
-e FRAMEDASH_PROJECT_ID=your-project-uuid \
-- npx -y @framedash/mcp-server

使用 Full 預設金鑰可啟用所有工具(包括 raw SQL query),使用 Read-only 金鑰可用於 raw SQL 以外的分析工具。

Framedash 也託管了一個遠端 MCP 伺服器,因此支援遠端伺服器與 OAuth 的 MCP 用戶端無需本機安裝。請透過 Streamable HTTP 傳輸向 POST {origin}/api/mcp(預設 https://app.framedash.dev/api/mcp)傳送請求。此端點為無狀態:不使用工作階段 ID。

驗證僅支援 OAuth 2.1 Bearer;此處不接受 API 金鑰。401 回應會帶有 WWW-Authenticate 標頭,其 resource_metadata 指向 {origin}/.well-known/oauth-protected-resource,因此實作了 MCP 授權規範的用戶端可自行探索授權伺服器並完成 OAuth 流程,包括動態用戶端註冊。工具呼叫在已授予的 scope 與專案範圍內執行,與 REST API 一致。GETDELETE 回傳 405。raw SQL query 工具在遠端端點上無法使用:它需要 data:admin scope,而 OAuth 權杖絕不會攜帶該 scope,因此 raw SQL 仍需使用 stdio 伺服器與 Full API 金鑰。

除了按帳戶的方案速率限制之外,遠端端點在其認證前入口處還有一個獨立的按 IP 速率限制。詳情參見 API 概覽中的速率限制

對於支援遠端伺服器與 OAuth 的 MCP 用戶端,可將此託管端點作為 stdio 伺服器的免安裝替代方案。對於基於 API 金鑰或本機的設定,仍應選擇 stdio 伺服器(npx -y @framedash/mcp-server)。

變數必須說明
FRAMEDASH_API_KEY具備 MCP 工具所需 scope 的 API 金鑰。Full 預設允許包括 raw SQL query 在內的所有工具,Read-only 預設允許 raw SQL 以外的分析工具。
FRAMEDASH_PROJECT_ID預設專案 UUID
FRAMEDASH_BASE_URLAPI 基礎 URL(預設:https://app.framedash.dev
工具說明參數
query對 ClickHouse events 表執行唯讀 SQL 查詢sql (string, 必須), project_id (uuid, 選填), limit (int 1-1000, 預設 100)
工具說明參數
get_dashboard專案 KPI(DAU、MAU、工作階段、事件數)project_id (uuid, 選填), days (7/14/30/90, 預設 30)
get_retention同期群留存分析project_id (uuid, 選填), days (7/14/30/90, 預設 30)
get_funnel事件漏斗分析project_id (uuid, 選填), steps (string, 必須: 逗號分隔 2-8 個事件名), days (7/14/30/90, 預設 30)
get_insights按維度彙總的洞察project_id (uuid, 選填), metric (count/unique_players, 必須), group_by (string, 必須: event_name, platform 等), days (7/14/30/90, 預設 30), limit (10/20/50), event_name (string, 選填)
get_heatmap地圖的熱力圖網格資料project_id (uuid, 選填), map_id (string, 必須), cell_size (5/10/25/50, 預設 25), days (1/7/14/30, 預設 7), event_name (string, 選填)
工具說明參數
list_projects顯示 API 金鑰關聯的專案
get_project_status專案健康概覽(事件數、最後事件時間)project_id (uuid, 選填)
list_maps專案中的地圖清單project_id (uuid, 選填)
list_content內容註冊表項目清單project_id (uuid, 選填), type (string, 選填)
工具說明參數
list_alerts告警規則清單project_id (uuid, 選填)
get_alert_history告警觸發/解除歷史project_id (uuid, 選填), limit (int 1-100, 預設 50)

透過 framedash:// URI 方案以 MCP 資源方式存取資料:

URI說明
framedash://projectsAPI 金鑰關聯的專案
framedash://projects/{projectId}/maps包含座標和範圍的地圖清單
framedash://projects/{projectId}/content內容註冊表項目
framedash://projects/{projectId}/status專案狀態和統計

設定 MCP Server 後,可以使用自然語言查詢資料:

範例提示使用的工具
”顯示過去 7 天的 DAU”get_dashboard (days=7)
“分析從 spawn 到 death 的漏斗”get_funnel (steps=“player_spawn,player_death”)
“按平台統計事件數”get_insights (metric=count, group_by=platform)
“顯示地圖的 FPS 熱力圖”get_heatmap (map_id=…)
”查看最近的告警歷史”get_alert_history