What Stripe gives through its API
Control.dev reads Stripe through its API with a restricted key that has read access only. It sends only read requests and never creates, updates, refunds, charges or otherwise changes anything in Stripe. From the Stripe activity, Control.dev derives accounting entries, kept beside the group’s statements.
- Customers and subscriptions
- Invoices and credit notes
- Charges, refunds and balance transactions
What an AI client gets from Stripe alone today
Stripe runs its own remote MCP server at mcp.stripe.com, with setup steps for Claude, ChatGPT, Codex and other clients. Interactive clients sign in with OAuth, and an AI application that needs its own persistent access uses an agent API key1. Its tools read through any supported GET method of the Stripe API and write through supported POST, PATCH, PUT and DELETE methods, across customers, subscriptions, invoices, charges, refunds, credit notes and balance transactions2.
Stripe asks a person to confirm certain writes, such as refunds and outbound payments, and a request not approved within 24 hours expires3. Stripe also asks users to move to agent API keys or OAuth by 30 November 2026: from December, its MCP server stops accepting full access secret keys and restricted keys without the Agent tag4.
What Control.dev’s MCP adds beside Stripe
Control.dev reads Stripe beside the group’s ledgers, derives accounting entries from the Stripe activity and gives the whole group, with those entries beside its statements, to the same AI client over MCP. The client reads the entries as a monthly summary, an aggregation or the lines behind one month, invoice or customer, and can check that each entry’s debits and credits balance. Control.dev sets the Stripe entries up for each workspace, so the journal-entry tools answer once that setup is done, not from the key alone.
- Every entity on one group chart Each entity’s accounts are mapped to one group chart of accounts, and the eliminations, currency translation and CTA are done before the client reads. The eliminations sit in a column of their own.
- Statements first, not a raw export The client starts from the statements and the group structure, not a raw export of the general ledger. It finds what needs attention there and traces it to the entries.
- Every figure opens to its entries Every actual opens to the transactions behind it, and every row stays connected to its source system and legal entity.
- Your role decides what it sees Over MCP the client gets at most the access your role allows in Control.dev, and a read-only session rejects write tools.
- A plan with a reason on every cell The client can also draft budget values over MCP, and every value it writes carries its reason. The budget version keeps its change history, so a later variance analysis compares the actuals with the assumptions.
- Other MCP servers in the same conversation The client can use its other MCP servers in the same conversation, a CRM for example, and bring that data into a plan or an analysis next to the group’s actuals.
How each AI client connects is on the Control.dev MCP server, every tool it exposes on MCP tools and reusable instructions on finance skills, every integration and what comes in from it on the integrations page, and how the group view is built on multi-entity consolidation.
Already connected Claude to Stripe yourself? Control.dev vs building it yourself with Claude compares what you build and keep alive, what the client reads, who may change what, and what it costs.
Stripe MCP in three steps
Our team sets up the integration with you. Most companies have live data in under two hours from the first call, a larger group takes days, the hardest a few weeks, and there is no setup fee.
- 01Create a restricted key in Stripe In the Stripe Dashboard, under Developers and API keys, create a restricted key named Control with Read access on the resources Control.dev reads and None on everything else, then paste it into the Stripe data source in Control.dev. Test and live modes use different keys, so connect the mode you report on. The steps are in the Stripe integration guide. Control.dev then sets up the Stripe entries for your workspace; the journal-entry tools answer once that is done.
- 02Copy the server URL and the client ID into your client In Control.dev, open Data outputs and then MCP Server. Add the server URL and the client ID from the MCP Server page to Claude, ChatGPT or Codex as a remote MCP server, then sign in with your Control.dev login. If the page shows no client ID yet, ask us: registering your client is part of setup.
- 03Ask something you already know One company, one month, one figure. Check it against the same view in Control.dev, then ask the bigger questions.
Questions
How does Stripe count among the integrations, and what does it cost?
Stripe connects beside the group’s ledgers, and one integration is one connected accounting system, such as one entity’s ledger. Control.dev publishes its monthly prices, excluding VAT: EUR 249 for one entity and one integration, EUR 499 for consolidation with three integrations and EUR 999 with five, where a Stripe connection counts as one integration, with no implementation fee, no multi-year contract and a notice period from one month. Larger groups are priced on request: book a demo.
Does Control.dev write to Stripe?
No. Control.dev reads Stripe with a restricted key that has read access only and never changes anything in Stripe: it creates, updates, refunds and charges nothing. The accounting entries it derives from the Stripe activity stay in Control.dev, beside the group’s statements, where your AI client reads them.
Where does the AI process our data?
Control.dev’s own AI features process data in the EU, and Control.dev’s data is hosted on Google Cloud in Hamina, Finland, encrypted in transit and at rest. What your AI client reads is processed under your agreement with its provider, so where that data goes is your decision.
Where does a refund in Stripe show up in Control.dev?
In the Stripe entries. Control.dev derives accounting entries from refunds as it does from payments, fees and disputes, and your AI client reads them beside the group’s statements: in the monthly summary, or as the lines behind that month.
What does Stripe’s own MCP server do, and when do you use both?
It gives an AI client tools to read and write through the Stripe API, by default on the Stripe account tied to its OAuth session or key5, and Stripe asks a person to confirm certain writes, such as refunds3. Use it for work inside Stripe. Use Control.dev for the group’s books: every entity on one group chart of accounts, with the eliminations done, and the Stripe entries beside the group’s statements. One AI client can use both servers in the same conversation.