Framedash MCP Server 是一个 Model Context Protocol 服务器,可让 LLM 直接访问 Framedash 遥测数据。提供 12 个只读工具和 4 个资源,支持使用自然语言查询游戏分析数据。
在 claude_desktop_config.json 中添加:
"args": ["-y", "@framedash/mcp-server"],
"FRAMEDASH_API_KEY": "fd_admin_xxx",
"FRAMEDASH_PROJECT_ID": "your-project-uuid"
在 VS Code 设置中添加:
"args": ["-y", "@framedash/mcp-server"],
"FRAMEDASH_API_KEY": "fd_admin_xxx",
"FRAMEDASH_PROJECT_ID": "your-project-uuid"
| 变量 | 必须 | 说明 |
|---|
FRAMEDASH_API_KEY | 是 | Admin API 密钥(fd_admin_ 前缀) |
FRAMEDASH_PROJECT_ID | 否 | 默认项目 UUID |
FRAMEDASH_BASE_URL | 否 | API 基础 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://projects | API 密钥关联的项目 |
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 |