Chartsy is a hosted, read-only MCP server that gives Cursor's agent your MRR, churn, refunds and site traffic from Stripe, Paddle, Polar, Lemon Squeezy, Creem or Freemius, so the numbers in your code match the business. Last updated October 2026.
Which plan should I raise prices on? Check revenue concentration first.
Starter is the safer test.
A token and one config file. Nothing to install: the server is hosted.
Settings → Claude & MCP and click Generate tokenCHARTSY_MCP_TOKEN in your shell profile~/.cursor/mcp.json and restart Cursor{
"mcpServers": {
"chartsy": {
"url": "https://mcp.chartsy.app/mcp",
"headers": {
"Authorization": "Bearer ${env:CHARTSY_MCP_TOKEN}"
}
}
}
}One-click "Add to Cursor" with Chartsy sign-in is coming soon. The token lasts a year and can be revoked in Chartsy any time.
Cursor uses the Chartsy tools when they're relevant, or when you name them. It asks before each call unless you allowlist them.
What happened to signups after yesterday's deploy?
Signups held up.
Using VS Code or Windsurf instead? See Chartsy + VS Code and Chartsy + Windsurf.
Same server and the same numbers. The difference is scope, and where your token lives.
| Surface | Where | Sign-in | Best for |
|---|---|---|---|
Global configThis page | ~/.cursor/mcp.json | Personal token from an env variable | Your numbers in every project you open |
Project config | .cursor/mcp.json in the repo | Token only through ${env:…}, never pasted in | One codebase, for example your SaaS itself |
Add to Cursor link | Coming soon | Chartsy login, approved in the browser | The fastest setup, once Chartsy sign-in works in Cursor |
Questions developers ask while building their own SaaS. The agent picks the tools, so the calls can vary.
Which plan should I raise prices on? Check revenue concentration first.
Starter is the safer test.
Sample figures for a made-up business.
Build an admin page showing MRR by plan. Use Chartsy for real numbers to sanity-check.
The agent:
A gap usually means discounts, annual plans or trials are counted differently.
What happened to signups after yesterday's deploy?
Signups held up.
Sample figures for a made-up business.
Generate seed data that matches my real plan mix.
The agent:
Chartsy returns counts and amounts, never customer details, so nothing real ends up in the seed.
Which customers have failed payments? I want to test the dunning email.
4 customers with 2+ failed payments this quarter:
cus_8f2… on Pro, 3 failed paymentscus_1c9… on Starter, 2 failed paymentsCustomers are payment-processor IDs. Look them up in Chartsy before emailing anyone.
Has our refund ratio changed since the checkout rewrite?
You get:
The agent picks the tools; the count can vary.
More in the MCP prompt library.
In an environment variable. Cursor reads it when it starts, and the config file stays safe to commit.
# Chartsy token for Cursor (and other MCP clients) export CHARTSY_MCP_TOKEN="<your-chartsy-token>" # then restart Cursor so it picks it up
Signups only tell you half the story. Cursor can now follow each channel into your billing data, so you see which ones bring customers who pay and stay.
Needs the Chartsy tracking script on your site and a connected payment provider. Groups under 5 paying customers are flagged as inconclusive, and retention needs about 90 days to mean much.
Which channels brought paying customers last quarter, and what are they worth now?
Search brings the most money; the newsletter converts best.
The Chartsy growth-loop skill teaches Cursor a weekly routine: check which channels and posts brought paying customers, recommend where to focus, and draft next week's posts with tracked links for you to review. Connect Postiz or Publer too and the drafts are saved there, never published. Chartsy stays read-only.
npx skills add sprifti/chartsy-agent -a cursor -g
> Plan next week's posts based on what brought paying customers. get_revenue_by_source · by=campaign Comparison posts brought 5 of 9 new paying customers. Three drafts below, each with a UTM link so next week is measurable. # Sample answer for a made-up business
The same numbers as your Chartsy dashboard. They appear under Available Tools for the chartsy server.
get_mrrget_mrr_by_planget_mrr_by_countryget_revenue_breakdownget_refund_summaryget_goal_progressget_churn_rateget_new_subscriberslist_at_risk_customerslist_top_customersget_customer_concentrationlist_tracked_sitesget_site_trafficget_traffic_sourcesget_monthly_events_usageget_revenue_by_sourceget_business_snapshotget_daily_snapshotlist_accountsNumbers and customer IDs reach the agent. Names, emails and write access never do.
Cursor can read your numbers. It can't change Chartsy, your payment provider's data, or your customers.
Customers are payment-processor IDs; names and emails stay in Chartsy. Cursor sees only the accounts and sites your login owns, checked on every call.
Each call uses one ChartsyAI question from your monthly allowance, failed calls included. Broad questions usually take one call.
Most problems are the token or a restart.
Check that ~/.cursor/mcp.json is valid JSON with a chartsy server, then restart Cursor. The tools appear under Available Tools for that server once it connects.
Cursor didn't get your token. Make sure CHARTSY_MCP_TOKEN is set in the environment Cursor starts from (restart Cursor after exporting it), and that the token hasn't expired or been revoked in Chartsy.
That's Cursor's default for MCP tools. Allowlist the Chartsy tools in your run mode if you want them to run without asking; they're all read-only.
Connect Stripe, Paddle, Polar, Lemon Squeezy, Creem or Freemius in Chartsy and let the first sync finish. The demo data added at signup doesn't count.
Each tool call uses one ChartsyAI question, failed calls included. When your monthly allowance is used up, calls stop until it resets on the 1st, or until you upgrade your Chartsy plan.
Short answers for developers.
Generate a token in Chartsy under Settings → Claude & MCP, export it as CHARTSY_MCP_TOKEN, and add a chartsy server to ~/.cursor/mcp.json with url https://mcp.chartsy.app/mcp and the header Authorization: Bearer ${env:CHARTSY_MCP_TOKEN}. Restart Cursor.
Signing in to Chartsy from Cursor is coming soon. Until then a personal token is the way to connect: it lasts a year, is read-only like everything else, and can be revoked in Chartsy at any time.
No customer names or emails. Chartsy returns numbers and payment-processor IDs only (such as a Stripe or Paddle customer ID), so nothing personal ends up in your prompts, code or seed data.
One per tool call, failed calls included. Most questions take one or two calls; "what happened yesterday?" is a single get_daily_snapshot call. Long agent runs that check numbers repeatedly use more.
Connecting costs nothing extra. It works on any Chartsy plan, including the free trial, and each tool call uses one ChartsyAI question from your plan's monthly allowance.
Cursor reads whatever you have connected to Chartsy: Stripe, Paddle, Polar, Lemon Squeezy, Creem, Freemius or a custom source through the Chartsy API.
No. All 19 Chartsy tools are read-only. Cursor's agent can't change Chartsy, your payment provider's data, or your customers, even with auto-run on.
Delete the chartsy entry from your mcp.json (or disable it under Customize) and restart Cursor. To cut access everywhere, revoke the token in Chartsy under Settings → Claude & MCP.
Yes. The get_revenue_by_source tool follows the people who signed up from each source, medium, UTM campaign or post into your billing data, and returns how many became paying customers, what they're worth in MRR today, how many churned and the retention rate. You can choose first touch (where they first found you) or last touch (what made them sign up). It needs the Chartsy tracking script on your site and a connected payment provider. Groups with fewer than 5 paying customers are flagged as too small to call.
Same server, same numbers. Or see all AI agents and the MCP server reference.
Connect your payment provider to Chartsy, add one server to Cursor, and ask the agent.
Product names are trademarks of their owners, used only to say what Chartsy works with. Chartsy isn't affiliated with or endorsed by them.
Ministry of Economy and Innovation
Startup AlbaniaThe Chartsy program is realized with the financial support of the Albanian Government through the Ministry of Economy and Innovation, under the Grant 2026 scheme, and is implemented by the Innovation4Albania Agency.