Check your SaaS numbers before you ship with Codex

  • MRR, churn and signups inside the Codex CLI and IDE
  • Data-aware pricing, localization and release decisions
  • Read-only, no customer names or emails

Chartsy is a hosted, read-only MCP server that gives OpenAI Codex your MRR, churn, refunds and site traffic from Stripe, Paddle, Polar, Lemon Squeezy, Creem or Freemius. One command adds it; the same config works in the Codex CLI, the IDE extension and the ChatGPT desktop app. Last updated October 2026.

codex · ~/my-saasSample data

Before I ship this pricing change, show MRR by plan.

get_mrr_by_plan1 ChartsyAI question

Current MRR by plan:

  • Pro: $11,800 from 236 customers.
  • Starter: $4,100 from 412 customers.
  • Business: $2,500 from 10 customers.
  • RiskBusiness is 10 customers: a price change there is a big bet on very few accounts.
Sample figures for a made-up business.
Setup

How to add Chartsy to Codex in 2 steps

One command and a sign-in. Nothing to install or run: the server is hosted.

  1. 1ConnectUnder a minute

    Add the Chartsy MCP server

    1. Run the command below
    2. Sign in to Chartsy in the browser and approve (if it doesn't open, run codex mcp login chartsy)
    3. In Codex, type /mcp to check chartsy is connected
    Terminal
    codex mcp add chartsy --url https://mcp.chartsy.app/mcp

    Prefer config files? Add [mcp_servers.chartsy] with url = "https://mcp.chartsy.app/mcp" to ~/.codex/config.toml.

  2. 2AskRight away

    Ask while you work

    Codex uses the Chartsy tools when your question needs real numbers.

    codex · ~/my-saasSample data

    Which countries should I localize for first?

    get_mrr_by_countryget_traffic_sources2 ChartsyAI questions

    Germany first, then Brazil.

    • Germany: 14% of MRR, with an English-only site.
    • Brazil: 9% of visits but only 2% of MRR.
    Also try (click to copy)

Add the Chartsy skill too, so Codex uses fewer calls: see the Chartsy skill below.

Which Codex?

Does Chartsy work in the Codex CLI, IDE and app?

Yes. They share one config, so you set it up once.

SurfaceHow you connectSign-inBest for
Codex CLIThis page
codex mcp add chartsy --url https://mcp.chartsy.app/mcpChartsy login in the browser, onceChecking numbers and writing scripts from the terminal
IDE extension & app
Nothing extra: reads the same ~/.codex/config.tomlSame sign-in as the CLIData-aware changes while you edit code
codex exec & CI
bearer_token_env_var = "CHARTSY_MCP_TOKEN"Personal token from Chartsy → Settings → Claude & MCPScheduled reports and pipelines with no browser
What you can ask

What can you ask Codex about your SaaS metrics?

Engineering questions that are better with real numbers. Codex picks the tools, so the calls can vary.

codex · ~/my-saasSample data

Before I ship this pricing change, show MRR by plan.

get_mrr_by_plan~1 question

Current MRR by plan:

  • Pro: $11,800 from 236 customers.
  • Starter: $4,100 from 412 customers.
  • RiskBusiness is 10 customers: a change there is a big bet on few accounts.

Sample figures for a made-up business.

More in the MCP prompt library.

The Chartsy skill

Add the skill so Codex uses fewer questions

The Chartsy skill teaches Codex which tool answers which question. Codex picks it up from ~/.agents/skills.

  • One snapshot call for "how's the business" and "what happened yesterday"
  • The right tool for each question, no fan-out across tools
  • Names the account and date range behind every number
  • Never guesses who a customer ID belongs to
MCP server reference
Terminal
# Install the Chartsy skill for every project
npx skills add sprifti/chartsy-agent -g

# The skill needs the MCP server from step 1.
# Restart Codex if it doesn't show up in /skills.
New: revenue by channel

Which channels bring paying customers?

Signups only tell you half the story. Codex can now follow each channel into your billing data, so you see which ones bring customers who pay and stay.

  • Paying customers, MRR today, churn and retention for each source, medium, UTM campaign or individual post
  • Signup-to-paid rate, the early signal for a channel that's only weeks old
  • First touch (where they found you) or last touch (what made them sign up)
  • Decide where next month's marketing time and budget go, from revenue rather than clicks

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.

codex · ~/my-saasSample data

Which channels brought paying customers last quarter, and what are they worth now?

get_revenue_by_source1 ChartsyAI question

Search brings the most money; the newsletter converts best.

  • Google: 14 paying customers, $1,260 MRR today, 11% of signups paid.
  • Newsletter: 6 paying, $690 MRR, 16% of signups paid.
  • RiskReddit: 3 paying customers, too few to call yet.
Sample figures for a made-up business.
Growth loop skill

Turn what worked into next week's posts

The Chartsy growth-loop skill teaches Codex 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.

  1. If you added the Chartsy skill above, the growth loop came with it. Otherwise run the command.
  2. Optional: connect your publishing tool (Postiz or Publer) so posts are saved there as drafts.
  3. Ask: "Plan next week's posts based on what brought paying customers."
View the skill
Install the skills
npx skills add sprifti/chartsy-agent -g
Ask Codex
> 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
What Chartsy gives Codex

19 read-only tools Codex can use

The same numbers as your Chartsy dashboard. Type /mcp in Codex to see them.

Revenue 6

  • Current MRRget_mrr
  • MRR by plan, over timeget_mrr_by_plan
  • MRR by countryget_mrr_by_country
  • Revenue by plan, country or payment methodget_revenue_breakdown
  • Refunds and refund ratio by planget_refund_summary
  • Progress on your goalsget_goal_progress

Customers & churn 5

  • Churn rate by periodget_churn_rate
  • New subscribers per periodget_new_subscribers
  • At-risk customerslist_at_risk_customers
  • Top customers by lifetime revenuelist_top_customers
  • MRR concentrationget_customer_concentration

Site traffic 4

  • The sites you tracklist_tracked_sites
  • Visits, visitors and signupsget_site_traffic
  • Traffic by source, campaign or pageget_traffic_sources
  • Tracked events vs your planget_monthly_events_usage

Marketing & attribution 1

  • Paying customers and MRR by channel, campaign or postget_revenue_by_source

Everything at once 3

  • Full business reviewget_business_snapshot
  • Yesterday vs the 7-day averageget_daily_snapshot
  • Accounts your login can readlist_accounts
Privacy & limits

What Codex can and can't see

Numbers and customer IDs reach Codex. Names, emails and write access never do.

  • Read-only

    Codex can read your numbers. It can't change Chartsy, your payment provider's data, or your customers.

  • IDs, not names

    Customers are payment-processor IDs; names and emails stay in Chartsy. Codex sees only the accounts and sites your login owns, checked on every call.

  • One question per tool call

    Each call uses one ChartsyAI question from your monthly allowance, failed calls included. Broad questions usually take one call.

Troubleshooting

What to do if Codex can't use Chartsy

Start with /mcp: it shows whether chartsy is connected.

chartsy needs authentication in Codex

Run codex mcp login chartsy and sign in to Chartsy in the browser. If you use a token instead, check CHARTSY_MCP_TOKEN is set where Codex runs and hasn't expired or been revoked.

codex exec or CI can't reach Chartsy

Unattended runs can't open a browser. Generate a personal token in Chartsy under Settings → Claude & MCP, store it as the CHARTSY_MCP_TOKEN secret, and set bearer_token_env_var = "CHARTSY_MCP_TOKEN" for the chartsy server in config.toml.

The Chartsy skill doesn't show up

Restart Codex after installing it, and check it's in ~/.agents/skills (or .agents/skills in your repo). Type /skills to list what Codex sees.

Codex says "no connected payment provider yet"

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.

Answers stopped working this month

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.

FAQ

Chartsy for Codex: frequently asked questions

Short answers for developers using OpenAI Codex.

How do I add Chartsy to Codex?

Run codex mcp add chartsy --url https://mcp.chartsy.app/mcp, sign in to Chartsy in the browser and approve. If the browser doesn't open, run codex mcp login chartsy. The same config works in the Codex CLI, IDE extension and ChatGPT desktop app.

What goes in config.toml?

For sign-in: [mcp_servers.chartsy] url = "https://mcp.chartsy.app/mcp". For a personal token: [mcp_servers.chartsy] url = "https://mcp.chartsy.app/mcp" bearer_token_env_var = "CHARTSY_MCP_TOKEN", with the token in the CHARTSY_MCP_TOKEN environment variable.

Is this the same as Chartsy in ChatGPT?

No. Codex is OpenAI's coding agent and connects to Chartsy with one command on any setup. ChatGPT is set up separately, as a custom MCP server on a Plus, Pro, Business, Enterprise or Edu plan. Chartsy + ChatGPT.

Can I run Chartsy in Codex headless, from cron or CI?

Yes, with a personal token instead of the browser sign-in: generate it in Chartsy under Settings → Claude & MCP, store it as CHARTSY_MCP_TOKEN, set bearer_token_env_var in config.toml, and run codex exec. Each run uses one ChartsyAI question per tool call.

How many ChartsyAI questions does Codex use?

One per tool call, failed calls included. Most questions take one or two calls. The Chartsy skill keeps broad questions to a single snapshot call.

Is Chartsy for Codex free?

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.

Which payment providers does it work with?

Codex reads whatever you have connected to Chartsy: Stripe, Paddle, Polar, Lemon Squeezy, Creem, Freemius or a custom source through the Chartsy API.

Can Codex change my data?

No. All 19 Chartsy tools are read-only. Codex can't change Chartsy, your payment provider's data, or your customers, whatever its approval mode.

How do I remove Chartsy from Codex?

Run codex mcp remove chartsy, and npx skills remove chartsy if you installed the skill. To cut access everywhere, revoke it in Chartsy under Settings → Claude & MCP.

Can Codex tell me which marketing channels bring paying customers?

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.

Other agents

Use Chartsy in other AI agents

Same server, same numbers. Or see all AI agents and the MCP server reference.

Ship with the numbers in front of you

Connect your payment provider to Chartsy, run one command, and ask Codex.

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 Albania

The 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.