@ffanalytics/mcp
v1.3.0
Published
MCP server for AnalyticsFF: lets Claude and other MCP clients explore and query your analytics.
Maintainers
Readme
@ffanalytics/mcp
MCP server for AnalyticsFF. Lets Claude (and any MCP client) explore your projects, events and properties, pull trends, and run read-only SQL.
Setup
Hosted, signed in (recommended)
Nothing to install, new tools appear as soon as they are deployed, and signing in gives Claude your org's
projects and dashboards. In Claude, add a custom connector with the URL https://mcp.analyticsff.com/mcp
and click Connect, or in Claude Code:
claude mcp add --transport http analyticsff https://mcp.analyticsff.com/mcp --scope userthen run /mcp and pick analyticsff to sign in with GitHub.
Hosted, with an API key
For scripts and CI. Keys can read projects but have no org, so the dashboard tools answer 403.
claude mcp add --transport http analyticsff https://mcp.analyticsff.com/mcp \
--header "Authorization: Bearer sk_..." --scope userLocal (npm)
Runs the same tools on your machine. @latest makes npx pick up new versions.
claude mcp add ffanalytics --scope user -e FF_API_KEY=sk_... -- npx -y @ffanalytics/mcp@latestAny MCP client (JSON config)
{
"mcpServers": {
"analyticsff": {
"command": "npx",
"args": ["-y", "@ffanalytics/mcp@latest"],
"env": { "FF_API_KEY": "sk_..." }
}
}
}| Env var | Default | |
|---|---|---|
| FF_API_KEY | required | sk_ key |
| FF_API_HOST | https://us.api.analyticsff.com | e.g. https://dev.api.analyticsff.com |
Tools
| Tool | |
|---|---|
| list_projects | Projects you can see, with event counts (also sent as the server's instructions when it connects) |
| list_events | Event names, counts, unique users |
| list_properties | Property keys, optionally for one event |
| get_trend | Count / unique users per hour, day or week, with optional breakdown |
| list_persons | People in a project, most recently active first |
| get_person | One person's profile and activity timeline, by id or email |
| run_sql | Read-only ClickHouse SQL on one project, which is all it can see (30s / 10k-row limits) |
| screenshot_replays | Screenshot up to 10 sessions' recordings a few seconds in, or a few seconds after they opened a page (after_path), kept 30 days; a custom tile shows one with <img data-ff-screenshot="<session_id>"> |
| list_dashboards | Dashboards on the web app, with page URLs |
| get_dashboard | A dashboard's tiles |
| create_dashboard | A new dashboard, optionally with its tiles |
| add_tile | Add a line, bar, table or number tile for an event trend |
| add_chart_tile | Add a chart drawn from your own Vega-Lite spec over one or more datasets |
| add_table_tile | Add a table with a row per user, session or order, usually from one SQL dataset |
| add_custom_tile | Add a tile whose look you write in HTML, CSS and JavaScript over its own SQL: screenshots, headings, links and nested sections, run in a sandboxed frame with no network |
| add_text_tile | Save a written answer, like a nightly recap, with the question it answers and the dates it covers |
| update_tile | Change a tile's title, display or query |
| update_chart_tile | Change a chart, table or custom tile's datasets, spec, table or html |
| update_text_tile | Rewrite a text tile, usually for new dates when the user asks for it again |
| remove_tile | Remove a tile |
| delete_dashboard | Delete a dashboard and its tiles |
Tools that take project use your only project when you leave it out. The dashboard tools need a signed-in connection; everything else is read-only and works with a key.
License
MIT
