An always-on SaaS analyst in Hermes Agent

  • Morning briefs and alerts on a Hermes cron schedule
  • Sign in once, or use a token for unattended runs
  • Read-only, no customer names or emails

Chartsy is a hosted, read-only MCP server that gives Hermes Agent, Nous Research's open-source agent, your MRR, churn, refunds and site traffic from Stripe, Paddle, Polar, Lemon Squeezy, Creem or Freemius, plus which channels bring paying customers. A weekday morning brief uses about 22 ChartsyAI questions a month. Last updated October 2026.

Telegram · Hermes Agent · 8:00Sample data

What happened yesterday in Chartsy? Three lines, flag anything unusual.

get_daily_snapshot1 ChartsyAI question

Good morning. A strong Monday.

  • Revenue $1,580, 30% above the 7-day average, mostly annual renewals.
  • 9 new subscribers, 0 cancellations, 0 refunds.
  • Visits up 18%; most of the extra came from one Hacker News comment.
Sample figures for a made-up business.
Setup

How to connect Chartsy to Hermes Agent in 3 steps

A few lines of YAML, one sign-in, one cron job. The server is hosted, so there's nothing else to run.

  1. 1ConnectUnder a minute

    Add Chartsy to config.yaml

    1. Open ~/.hermes/config.yaml
    2. Add chartsy under mcp_servers with auth: oauth
    3. No credentials go in the file; Hermes keeps the sign-in separately
    ~/.hermes/config.yaml
    mcp_servers:
      chartsy:
        url: "https://mcp.chartsy.app/mcp"
        auth: oauth
  2. 2Sign inAbout a minute

    Sign in and test the connection

    1. A browser opens; approve access with your Chartsy login
    2. On a server with no browser, Hermes prints a link to open on another device, or use --flow device
    3. The test lists the Chartsy tools Hermes can use
    Terminal
    hermes mcp login chartsy
    hermes mcp test chartsy

    Hermes caches the sign-in in ~/.hermes/mcp-tokens/chartsy.json, readable only by your user.

  3. 3ScheduleRight away

    Schedule the morning brief

    1. Weekdays at 8:00, delivered to your Telegram
    2. Swap telegram for slack, discord, whatsapp or email
    3. One get_daily_snapshot call: about 22 questions a month
    Terminal
    hermes cron create "0 8 * * 1-5" \
      "What happened yesterday in Chartsy? Three lines, flag anything unusual." \
      --deliver telegram
    Also try (click to copy)

Running OpenClaw instead? See Chartsy + OpenClaw. How the brief works: the daily business brief.

Sign-in or token?

Sign-in, token or skill: what does Hermes Agent need?

The server gives Hermes the numbers. Pick how it signs in by where it runs; the skill is optional.

SurfaceSet withLastsBest for
Chartsy sign-inThis page
auth: oauth, then hermes mcp login chartsyRefreshes itself while in useHermes on your laptop, or a server you check on
Personal token
headers with ${CHARTSY_MCP_TOKEN} from ~/.hermes/.envA year; revoke any timeCron jobs that must never stall on an expired sign-in
Chartsy skills
npx skills add … -a hermes-agentUntil you remove themBetter tool choices and the weekly growth loop
What you can ask

What can you ask Hermes Agent about your SaaS?

Message it from Telegram or Slack, or put a question on cron. Hermes picks the tools, so the calls can vary.

Telegram · Hermes Agent · 8:00Sample data

What happened yesterday in Chartsy? Three lines, flag anything unusual.

get_daily_snapshot~1 question

A strong Monday.

  • Revenue $1,580, 30% above the 7-day average.
  • 9 new subscribers, 0 cancellations.

Scheduled for weekdays: about 22 ChartsyAI questions a month.

More in the MCP prompt library.

Alerts, not noise

Only hear from Hermes when something's off

A second cron job checks yesterday and stays quiet unless refunds or cancellations jump: a reply containing [SILENT] isn't delivered. Keep it in a private chat; revenue numbers don't belong in public channels.

  • [SILENT] keeps normal days quiet
  • Deliver to a DM or a private channel, never a public one
  • One call a day: about 30 ChartsyAI questions a month
  • Pause or remove it any time with hermes cron pause or remove
How the daily brief works
Terminal
hermes cron create "0 9 * * *" \
  "Check yesterday in Chartsy. If refunds and cancellations are at or below the 7-day average, reply [SILENT]. Otherwise say what's off." \
  --deliver telegram
New: revenue by channel

Which channels bring paying customers?

Signups only tell you half the story. Hermes Agent 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.

Telegram · Hermes Agent · 8:00Sample 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 Hermes Agent 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. Install both Chartsy skills for Hermes Agent with the command here
  2. Start a new Hermes session so it loads them
  3. Ask, or put it on a Monday cron job: "Plan next week's posts based on what brought paying customers."

Installs to ~/.hermes/skills/. A cron job can load it with --skill chartsy-growth-loop.

View the skill
Terminal
npx skills add sprifti/chartsy-agent -a hermes-agent -g
Ask Hermes Agent
> 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 Hermes Agent

19 read-only tools Hermes Agent can use

The same numbers as your Chartsy dashboard. Narrow them with tools.include on the chartsy entry if a job needs only a few.

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 Hermes Agent can and can't see

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

  • Read-only

    Hermes Agent 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. Hermes Agent 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 Hermes Agent can't use Chartsy

Most problems are the sign-in on a headless host, or a token Hermes can't see.

The sign-in won't open on my server

On a host with no browser, hermes mcp login chartsy prints a link. Open it on another device, approve access, and paste the redirect URL back into the terminal. Or run hermes mcp login chartsy --flow device and enter the code on another device.

A cron job failed overnight with an auth error

The saved sign-in couldn't refresh. Run hermes mcp login chartsy again. For jobs that must never stall, switch the chartsy entry to a personal token in headers instead of auth: oauth.

Chartsy returns 401 Unauthorized with a token

Hermes can't see the token, or it was revoked. Check that CHARTSY_MCP_TOKEN is in ~/.hermes/.env and the header reads "Bearer ${CHARTSY_MCP_TOKEN}", then run hermes mcp test chartsy. Generate a new token if the old one was revoked or expired.

hermes mcp test chartsy can't connect

Check the url is exactly https://mcp.chartsy.app/mcp and that chartsy is indented under mcp_servers. YAML is strict about spaces.

Hermes 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 Hermes Agent: frequently asked questions

Short answers for people running their own Hermes Agent.

How do I connect Chartsy to Hermes Agent?

Add a chartsy entry under mcp_servers in ~/.hermes/config.yaml with url https://mcp.chartsy.app/mcp and auth: oauth. Then run hermes mcp login chartsy, approve access with your Chartsy login, and run hermes mcp test chartsy to check it.

Should I use a sign-in or a token?

A sign-in is simplest when you can reach a browser. For cron jobs that run unattended, a personal token is safer: generate one in Chartsy → Settings → Claude & MCP, put it in ~/.hermes/.env as CHARTSY_MCP_TOKEN, and send it as an Authorization header. It lasts a year and never needs a sign-in.

Where should I keep the token?

In ~/.hermes/.env, not in config.yaml. Hermes fills ${CHARTSY_MCP_TOKEN} in the header when it connects, so the token never sits in a file you might share or commit. It reads your Chartsy data for a year unless you revoke it.

How many ChartsyAI questions does a daily brief use?

One per run. A weekday morning brief is one get_daily_snapshot call, so about 22 questions a month. A daily alert check adds about 30. Failed calls count too.

Can Hermes send the brief to Slack, Telegram or Discord?

Yes. A cron job with --deliver sends to any platform your Hermes is connected to, including Telegram, Slack, Discord, WhatsApp, Signal and email. Use a private chat: revenue numbers shouldn't go to public channels.

Is Chartsy for Hermes Agent 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?

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

Can Hermes Agent change my data?

No. All 19 Chartsy tools are read-only. Hermes can't change Chartsy, your payment provider's data, or your customers.

How do I disconnect Chartsy from Hermes Agent?

Remove the chartsy entry from ~/.hermes/config.yaml, remove its cron jobs with hermes cron list and hermes cron remove, and delete ~/.hermes/mcp-tokens/chartsy.json. To cut access everywhere, revoke it in Chartsy under Settings → Claude & MCP.

Can Hermes Agent 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.

Let Hermes watch the numbers for you

Connect your payment provider to Chartsy, add the server to Hermes, and schedule the morning brief.

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.