Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.

Connect an AI agent to your Mesub project with MCP

What it is

An MCP server that Mesub hosts. Your AI tool connects to it, and its agent can then read one project and act on it, the way you would in the dashboard. There is nothing to install and no API key to hand over.
It is not the agent skills. The skills teach an agent to write your integration, in your codebase. The MCP server lets an agent act on your project: look at a subscription, retry a charge, add a webhook.
It is all or nothing. A connected agent can use every tool listed below. There is no read-only mode, so connect an agent only if you would let it do all of it.

Connect

  1. Add the server's address to your AI tool, as a remote MCP server.
  2. The tool opens a Mesub page in your browser. Sign in to the dashboard.
  3. Choose one project. Nothing is chosen for you.
  4. Read what the page lists, then press Authorize.
The address:
https://mcp.mesub.io/mcp
A tool configured by a JSON file takes an entry like this one:
{ "mcpServers": { "mesub": { "url": "https://mcp.mesub.io/mcp" } } }
Some tools want "type": "http" beside the url. A tool configured from a terminal takes the same two things, a name and the address. The words of the command are your tool's own, this is only its usual shape:
your-tool mcp add --transport http \ mesub https://mcp.mesub.io/mcp
The page that asks you to authorize shows the name the application gave itself. Beside it is the host that publishes the application when Mesub could check one, and Unverified app when it could not. The page also says where your browser is sent back to: check both before you authorize. A request you leave open is dropped after ten minutes.
An agent works on the project you chose and no other. To work on another project, connect again and choose it.

What the agent can do

Read
ToolWhat it does
get_projectThe project, its tier, and how much of its limits is used
list_plansEvery plan, with its subscribers and what it collected this period. A prepared plan waits there with its link to sign
get_planOne plan: its subscribers by status, its latest charges, why charges fail
list_subscriptionsSubscriptions, by plan or by status, or found by wallet or by your own customer id
get_subscriptionOne subscription and every charge tried on it
check_accessWhether a customer has access, and why not when they do not
list_eventsWhat happened on a day, over the last 45 days: payments, subscribers, changes to the project. Finds a charge by wallet, your customer id or the start of its signature
list_upcoming_chargesThe charges and retries to come, each one Mesub already expects to fail flagged with why
get_overviewCollected, failed and recovered over 7, 30 or 90 days
list_webhooksThe webhook endpoints, never their secret
list_webhook_deliveriesAn endpoint's deliveries and what your server answered
get_webhook_secretAn endpoint's signing secret
search_docsSearch these docs. It reads nothing of your project
pingWhether Mesub answers
Act
ToolWhat it does
retry_chargeRetry a failed charge, when a customer is late. Mesub refuses one that cannot succeed or a wallet short of funds, spending no retry
update_retry_policyChange how many times a plan retries, and how far apart
create_webhookAdd an endpoint and return its signing secret
update_webhookChange the URL or the events of an endpoint, turn it off or back on
delete_webhookDelete an endpoint
regenerate_webhook_secretDraw a new signing secret. The old one keeps signing for overlap_hours, 0 to 24: at once by default
send_test_webhookSend a test delivery to an endpoint
update_projectRename the project
Prepare
ToolWhat it does
prepare_planFill in a plan for you. It does not exist until you sign it yourself in the dashboard
Before preparing, your agent asks you two things: whether to lock the receiving wallets (up to four, and which one is paid for now) and whether the plan ends on a date. A locked list can never change once you sign. With no list, the plan pays your own wallet.
The tools describe their own parameters to the agent, so there is nothing to learn here: ask in plain words.

What it can never do

Whatever the agent is asked, by you or by anything it reads:
  • See or change your API key.
  • Change the project's tier.
  • Delete a project or a plan.
  • Close a plan, or change the end or the receiving wallets of a plan you already signed.
  • Resend an old webhook delivery.
  • Read a customer's email. It can check access for an email you give it, and never gets one back: a customer is shown by wallet and by your own id.
  • Cancel or change a customer's subscription. Only their wallet can.
These are not tools switched off: the server has no such tool, and Mesub gives an agent no way to them.

Limits

Per connection: 120 reads and 20 changes a minute, and 5 test deliveries a minute, refused ones included. A project holds up to 10 connected agents, and an account 30 across its projects.

See and cut a connection

In the dashboard, open Developers, then Connected agents. Each line is one connection: the application, when it connected, when it was last used and when it ends.
  • Revoke cuts a connection. The agent's very next call is refused.
  • A connection ends by itself after a day without use. While it is used, it stays open: your tool renews its one hour token by itself.
Cutting a connection undoes nothing: what the agent changed stays as it is. To connect again, start from your tool.

Risks

A signing secret lands in your conversation. When an agent creates a webhook, regenerates its secret or reads it, the secret is in the answer, so it is in the conversation and wherever your tool keeps it. Move it to your server's environment, and regenerate it if the conversation is shared.
What the agent reads is written by other people. A plan's name, what a webhook endpoint answered, the identifier of a customer: all of it is text somebody else chose, and it can be written to look like an instruction. The server tells every agent to treat it as data. An agent can still be steered by it. That is why the tools that move money or break an integration, such as retrying a charge, deleting a webhook or regenerating its secret, are marked so that your tool asks you first. Keep that question on, and read it.
You review every prepared plan. The agent fills it in, you sign it. Read the price, the token, the period, the end and above all the receiving wallets in the dashboard before you do: each one is shown in full and marked when it is not on your account. You can still edit the plan there first.

Things to ask

  • "Why does this customer have no access?"
  • "Which renewals are at risk this week?"
  • "Add a webhook for failed payments and give me the secret for my .env"
  • "Prepare a Pro plan at 10 USDC a month"
For what the answers mean, see the lifecycle and check access.