Framedash Game Telemetry MCP Server
# @framedash/mcp-server
MCP (Model Context Protocol) server for the Framedash game telemetry platform. Provides 12 read-only tools and 4 resources for querying analytics data from LLM-powered tools.
## Setup
### Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"framedash": {
"command": "npx",
"args": ["@framedash/mcp-server"],
"env": {
"FRAMEDASH_API_KEY": "fd_xxx",
"FRAMEDASH_PROJECT_ID": "your-project-uuid"
}
}
}
}
```
### VS Code (Claude Extension)
Add to your VS Code settings:
```json
{
"claude.mcpServers": {
"framedash": {
"command": "npx",
"args": ["@framedash/mcp-server"],
"env": {
"FRAMEDASH_API_KEY": "fd_xxx",
"FRAMEDASH_PROJECT_ID": "your-project-uuid"
}
}
}
}
```
## Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| `FRAMEDASH_API_KEY` | Yes | API key with `analytics:read` for the aggregate tools; the raw `query` tool additionally requires `data:admin` |
| `FRAMEDASH_PROJECT_ID` | No | Default project UUID for project-scoped tools |
| `FRAMEDASH_BASE_URL` | No | API base URL (default: `https://app.framedash.dev`) |
If `FRAMEDASH_PROJECT_ID` is omitted, project-scoped tools still work but
require an explicit `project_id` argument per call.
## Tools
| Tool | Description |
|------|-------------|
| `query` | Execute SQL analytics query (SELECT only, limit default 100) |
| `get_dashboard` | Project KPI summary (DAU, MAU, sessions, events) |
| `get_retention` | Cohort retention data |
| `get_funnel` | Funnel analysis for event steps |
| `get_insights` | Event insights with grouping |
| `get_heatmap` | Heatmap grid data for a map |
| `list_projects` | Show the project bound to the API key |
| `get_project_status` | Project health overview |
| `list_maps` | List maps in a project |
| `list_content` | List content registry entries |
| `list_alerts` | List alert rules |
| `get_alert_history` | Alert trigger history |
## Resources
| URI | Description |
|-----|-------------|
| `framedash://projects` | Project bound to the API key |
| `framedash://projects/{projectId}/maps` | Map list with bounds |
| `framedash://projects/{projectId}/content` | Content registry |
| `framedash://projects/{projectId}/status` | Project health status |
## Development
Run from the repository root:
```bash
pnpm install
pnpm --filter @framedash/mcp-server... build
pnpm --filter @framedash/mcp-server test
```
With pnpm 9, the trailing `...` selects the MCP package plus its workspace
dependencies, including `@framedash/api-client`, before compiling from a clean
checkout.
## License
MIT
TDQS
Scored across 12 tools
The specialized analytics tools (get_retention, get_funnel, get_insights, etc.) have distinct purposes, but the generic `query` tool can duplicate any of them via SQL, causing potential misselection. Additionally, `get_dashboard` and `get_insights` both surface aggregated metrics, so their boundaries are not perfectly crisp.
Most tools follow a consistent `get_<resource>` or `list_<entity>` pattern, making names predictable. However, `query` stands out as a bare verb without a noun, breaking the otherwise uniform convention.
12 tools is within the well-scoped range for a telemetry server. Each tool serves a clear analytics function, and none feel redundant or unnecessary.
The tool surface covers the core analytics domain: raw query, dashboards, retention, funnels, insights, heatmaps, projects, maps, content registry, and alert history. Gaps include lack of alert CRUD and project management operations, but for a read-only telemetry MCP server, the coverage is strong.