How to build analytics charts and dashboards through AI (Claude, Cursor, ChatGPT) and MCP
With the nana800-mcp-server MCP server version 1.3.0 an AI assistant builds nana800 analytics charts and dashboards from a request in plain words. It finds the events of the project, checks the numbers with a preview, saves the charts, lays them out on a dashboard and can turn on a public link. These charts open and edit in the web app like charts made by hand.
Updated:
What it looks like
You write an ordinary request, for example: "Build a dashboard of 3 charts for the website project: visitors by day for 30 days, traffic channels and a funnel from a visit to a Call click, and turn on a public link".
The assistant then calls the server tools on its own. It finds the organization and the project, reads the event names and their properties and counts every chart without saving to check the numbers. Then it saves the charts to a new dashboard and turns the link on. Its answer has the numbers and the links to the dashboard in the web app and to the public page. In our check such a request for a fitness club website took 23 tool calls: 49 visitors, channels "search 33, direct 9, maps 5" and a funnel of 49 → 1 (2.04%).
How to connect it
You need Node.js 18 or newer and a personal nana800 API key from the account settings at cloud.nana800.io/settings. The key acts as you, so keep it only in the assistant settings. The server runs on your computer with npx -y nana800-mcp-server, so any assistant that connects local MCP servers fits: Claude Desktop, Claude Code, Cursor, VS Code. ChatGPT fits if your ChatGPT app can run local MCP servers.
{
"mcpServers": {
"nana800": {
"command": "npx",
"args": ["-y", "nana800-mcp-server"],
"env": { "MCP_API_KEY": "your_personal_api_key" }
}
}
}This block goes into claude_desktop_config.json for Claude Desktop or into ~/.cursor/mcp.json for Cursor. In Claude Code: claude mcp add nana800 -e MCP_API_KEY=your_key -- npx -y nana800-mcp-server. If the server was connected before, restart the assistant so that npx -y fetches version 1.3.0.
What the assistant can do with charts
The server has six chart tools: a preview without saving, create, read, update and delete a chart, and a list of event properties.
- The same chart types as in the web app: lines, bars, funnel and retention.
- Count unique users or all events.
- Split by a property, for example by traffic channel, page or device.
- Conditions on each series, common conditions on the whole chart, for example to drop test traffic, and conditions on user properties.
- A live period like "the last 30 days" or exact dates, with a time zone for day boundaries.
- The funnel conversion window, the number of retention periods, series labels and colors, up to 5 formulas like conversion A / B.
A preview returns the numbers themselves to the assistant: series totals, values per day, funnel steps with conversion and the retention table. So the assistant can answer "how many sign-ups were there last week" without saving a chart.
What the assistant can do with dashboards
The server has nine dashboard tools.
- List the dashboards of an organization, create, rename and delete a dashboard.
- Put a saved chart onto a dashboard at a position with a width. A dashboard is a grid of 3 columns: width 1 takes a third of a row, 3 the whole row. Other charts move on their own.
- Take a chart off a dashboard, the chart itself stays.
- Turn the public dashboard link on, reissue it or turn it off. This needs the owner or editor role in the organization.
What a client sees by the public link and what stays hidden is in the public link guide.
Request examples
The assistant understands requests in English and Russian. Here is where to start.
- "Build a funnel from a view to a purchase for 30 days with a 7 day window": a three step funnel by day for the last 30 days.
- "How many new users came this week from each utm_source?": a bar preview with a split, without saving.
- "Show weekly retention for the last 3 months for people who signed up": a retention chart with sign up as the start event.
- "Build a dashboard of three charts for the site and turn on a public link for the client": a dashboard, its charts and the link in the answer.
- "Move the funnel to the first row and make it full width": a new place and width of a chart on the dashboard.
For a split by channel to work, the tags must be event properties. The guide to events and tags shows how to send them.
Limits
The assistant works under the same rules as the web app.
- It sees only the organizations the key owner is a member of. Only an owner or an editor can turn on a public link.
- One chart processes up to 2,000,000 events, and an organization counts at most 2 charts at the same time.
- Deleting a chart or a dashboard through the assistant cannot be undone, so check what exactly it is going to delete.
- The list of users behind a chart point is not available through MCP, it is in the web app. Raw event rows come with an export through MCP.
Frequently asked questions
Can AI build nana800 analytics charts?
Yes, with nana800-mcp-server version 1.3.0. Connect the server to Claude, Cursor or another assistant that supports local MCP servers and ask for a chart in plain words. The assistant saves it in the web app and sends the link.
Does it work with ChatGPT?
The server runs on your computer through npx. If your ChatGPT app can connect local MCP servers, it works the same way as Claude Desktop and Cursor. The clients listed in the package description are Claude Desktop, Claude Code, Cursor and VS Code.
Can I edit a chart the assistant built?
Yes. Charts made through MCP are stored like charts made by hand and open in the chart builder of the web app. You can also ask the assistant to change a chart: the period, the split, the conditions or the labels.
How much does building charts through MCP cost?
It is not paid separately. You pay only for accepted events: 100,000 a month are free, then $0.015 (1.5 RUB) per 1,000. The AI assistant subscription is paid to its own vendor.
Which key is needed and where do I get it?
The personal API key from the account settings at cloud.nana800.io/settings, in the MCP_API_KEY variable. The ingest_... project key will not work: it can only send events.