Skip to main content
Glama
crane-valley

Framedash Game Telemetry MCP Server

by crane-valley
README.md
# @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

B3.4/5.0

Scored across 12 tools

Disambiguation3/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivitySlowing
ResponsivenessNo issues