Skip to main content

Selling Access to Your MCP Server: Bookkeeping for Usage-Based and Subscription Revenue

Published 12 min readMike ThriftMike Thrift
Selling Access to Your MCP Server: Bookkeeping for Usage-Based and Subscription Revenue
On this page

You published an MCP server that does something genuinely useful — say, structured access to a parts catalog or a document-summarization tool — and one morning you wake up to 40,000 tool calls that arrived overnight from AI agents you have never met. That is the dream, until you realize your billing meter, your books, and your tax setup were all designed for humans clicking buttons at human speed. Agents do not behave like human users: one prompt can chain dozens of tool calls in seconds, loop through thousands of requests to resolve a single instruction, and trigger downstream costs on every hop. If you charge for access, you need metering that matches how agents consume, revenue records that match when value is delivered, and expense tracking that keeps your margin visible. This guide walks through all three.

How MCP Revenue Actually Arrives​

The Model Context Protocol exposes your server as a set of tools and resources that AI clients invoke over JSON-RPC. Because every invocation is programmatic, you have more pricing options than a traditional SaaS seat — and each one books differently.

Per tool call. The simplest model: each method invocation costs a fixed amount. It is easy to meter and easy to explain, and it works well when your tools have roughly uniform cost. It breaks down when one lightweight metadata lookup costs you almost nothing while a workflow tool fans out into a dozen downstream API calls.

By data volume. When methods return large payloads — document content, embeddings, query results — charging per megabyte returned or per thousand tokens aligns price with cost, the way model providers price their own APIs.

By outcome. Instead of charging per attempt, you charge per completed action: per document successfully summarized, per device command executed, per query that returns valid results. Customers love it because failed or empty calls are free; you need metering that can tell success from failure before it counts a unit.

By session or memory. Servers that keep conversational state across calls can charge per session created, per minute of active session time, or per block of retained context. This fits assistants and long-running agents that lean on your memory layer.

Hybrid subscription plus overages. A base monthly fee that includes a quota, with metered charges past the threshold. This is the most common shape in production API businesses because the base covers your fixed costs while overages scale with heavy users.

Prepaid credits. Customers buy blocks of usage upfront and draw them down. Great for cash flow, trickier for accounting (more on that below), because cash received is not revenue earned until the credits are consumed.

Marketplace payouts. Listings and marketplaces around MCP servers take a revenue share and remit the rest to you — the same shape as selling through any app marketplace, with the same gross-versus-net bookkeeping question.

Agent-native micropayments. Protocols like x402 let an agent pay per request in stablecoin over HTTP, with no account signup and no invoice. If you go this route, every tool call can become its own tiny sale, which has real implications for how you record revenue and cost basis. (For background on how these machine payments work, see our guide to AI agents paying each other via x402.)

Pick the meter your customer perceives as value — that is a product decision — but know that each choice above creates a different bookkeeping pattern. The rest of this guide follows the money through each one.

Your Meter Is Your Bookkeeping Source Document​

In a usage-based business, the usage event stream is what timesheets are to a law firm: the source record that justifies every dollar on the invoice. Treat it that way.

The standard plumbing looks like this. Your server emits a usage event per billable unit — method name, customer identity, quantity, timestamp, success or failure. Those events flow into a metering layer (Stripe Billing Meters, a usage-based billing platform, or your own aggregator), which attributes them per customer and rolls them into the period-end invoice. Stripe's metered billing follows exactly this shape: you report usage during the cycle, and at period end it tallies the records and invoices the total.

Three bookkeeping disciplines fall out of that pipeline:

  1. Reconcile meter against invoice every cycle. Metered units times rate should equal invoiced usage revenue, the same way units shipped times price should equal sales. Any gap is either free-tier usage you intended, failed calls your outcome pricing forgave, or leakage — usage your meter never saw. Leakage is the silent killer: an unauthenticated endpoint or an unmetered tool is revenue you earned and will never collect.
  2. Keep raw usage logs as your audit trail. Aggregates are what you bill; event-level logs are what you show when a customer disputes a spike or an accountant asks what a revenue number is made of. Retain them at least as long as your invoice dispute window, ideally as long as your tax records.
  3. Attribute identity at the edge. Decide whether the billable party is the end user behind the prompt or the API key holder integrating your server, and record that decision in the event. When one enterprise key fans out to fifty employees' agents, "who is the customer" is an accounting question with tax consequences, not just a billing detail.

Recording Usage Revenue the Right Way​

Here is where MCP operators most often go wrong: cash hits Stripe, they book it as revenue, and the books quietly drift from reality. Under ASC 606 — the revenue recognition standard — the rule for consumption pricing is straightforward: recognize revenue as the customer consumes, because each unit consumed is the performance obligation being satisfied. Usage fees are variable consideration, which means you recognize what was actually used in the period, not what you hope the contract is worth.

Pure pay-as-you-go is the easy case. Agents consumed 100,000 calls in September at your listed rate; September revenue is 100,000 times the rate, even if the invoice is not paid until October. Record a receivable when you invoice, revenue when usage occurred. If you want the full treatment of token and usage metering under ASC 606, our guides to billing for tokens and usage-based SaaS revenue recognition go deeper.

Hybrid base plus overage splits in two. The base subscription is recognized ratably over the service period — one-thirtieth per day on a monthly plan — while overages are recognized as the excess usage occurs. Keep them in separate revenue accounts. Blending them hides the two numbers that actually run your business: predictable subscription MRR and spiky consumption revenue.

Prepaid credits create a liability, not revenue. When a customer buys a block of credits, debit cash and credit deferred revenue. Each time usage draws down the balance, move the consumed value from deferred revenue to earned revenue. The leftover that customers never redeem — breakage — has its own rule: if your history lets you reliably estimate the unused share, you recognize that expected breakage gradually in proportion to actual usage; if you are too new to estimate it, you wait until the credits expire or redemption becomes remote, then recognize the remainder. New MCP servers almost always fall in the second camp, so do not book expected breakage early to flatter a month.

Outcome-based pricing adds a timing wrinkle: revenue is recognized when the outcome is achieved and measurable, not when the call starts. If your meter counts only successful completions, your revenue records should follow the same counter — the meter and the ledger must agree on what "a sale" is.

Two practical habits make all of this survivable. First, run a separate revenue account or tag per billing meter (per-call tools, data volume, sessions, overages), so a margin problem in one tool does not hide inside a blended total. Second, enforce a month-end cut-off: usage timestamped in September belongs to September even if the invoice finalizes October 2. Metering pipelines with batch delays make cut-off errors the most common misstatement in usage businesses.

The Expense Side: What an MCP Server Really Costs​

Revenue per tool call means nothing without cost per tool call. Build your cost of goods sold from the bottom up:

  • Compute and hosting. The servers, containers, or serverless invocations running your tools, plus egress bandwidth for payload-heavy methods.
  • Downstream API and model costs. Every LLM call, embedding lookup, search query, or third-party API hit your tools make on the customer's behalf. If your summarization tool calls a model provider per document, that passthrough is your largest variable cost and it must be tracked per tool, not as a monthly lump.
  • Data and license fees. Royalties or per-query fees for proprietary data your server exposes.
  • Marketplace revenue share. The platform's cut of marketplace sales is a selling expense (or a reduction to net payout — pick one treatment and stay consistent), never an offset buried inside revenue.
  • Payment processing. Card fees on subscription billing, gateway fees on invoices, network fees on stablecoin settlement. At micropayment scale these bite: a fixed per-transaction fee can exceed the margin on a sub-cent tool call, which is exactly why agent-payment protocols settled on low-fee rails.

Run the unit math per tool before you price it. Suppose your catalog-lookup tool costs you $0.004 per call in compute plus downstream queries, and you charge $0.01. That looks like 60 percent gross margin — until support, metering infrastructure, and failed-call forgiveness pull it down. Price from measured cost, not from vibes, and re-run the math whenever a downstream provider changes its rates.

Stablecoin receipts deserve a paragraph of their own. For tax purposes, stablecoins are property, not currency: the fair market value at the moment of receipt is your revenue, and that value becomes your cost basis. If you hold the coins and the peg wobbles or you later convert at a different value, the difference is a gain or loss. At micropayment volume, per-transaction tracking is non-negotiable — aggregate guessing will not survive an examination — so pipe settlement records into your books automatically rather than reconstructing them at year end.

Sales Tax: Your API Is Taxable in More States Than You Think​

Here is the compliance surprise waiting for most MCP operators: selling API access is selling software or digital products, and states are expanding those definitions fast.

  • California signed SB 122 in June 2026, extending sales tax to digital products including remotely accessed software and SaaS, effective January 1, 2027 — ending a decades-long exemption in the country's largest state market.
  • Chicago taxes SaaS and cloud software under its Personal Property Lease Transaction Tax at 9 percent, even though Illinois does not tax SaaS at the state level.
  • Oklahoma went the other way, ruling that electronically delivered SaaS subscriptions are exempt — proof that you cannot assume one answer nationwide.

Economic nexus thresholds decide where you must collect: most states with a sales tax use a $100,000-in-sales threshold for remote sellers, with California, Texas, and New York at $500,000. A metered API with national reach can cross a threshold in a state where you have never set foot, purely on transaction volume.

What to do about it:

  1. Determine taxability per state where you have customers, not just where you live. Your meter already records customer location for attribution — reuse that data for nexus tracking.
  2. Marketplace sales may be covered. Where a marketplace qualifies as a marketplace facilitator, it collects and remits on your sales through it. Direct sales from your own site or your own x402 endpoint are entirely your responsibility.
  3. Automate collection early. A tax engine (Stripe Tax and its competitors) plugged into checkout costs far less than registering, filing, and remitting in a dozen states by hand — and it keeps the customer-location evidence auditors ask for.
  4. Watch the calendar. With California's 2027 effective date and similar expansions moving through other legislatures, a "we are too small to worry" posture expires fast.

Marketplace Payouts and Tax Forms​

If any of your revenue arrives as a marketplace payout, book it the way app-store developers do: record the gross sale as revenue and the platform's share as an expense. Your 1099-K (or 1099-NEC, depending on the platform's classification) will report the gross figure, and the IRS matches that number against your return — reporting only the net deposit is how underreporting notices start. Reconcile gross payout statements to net bank deposits every month, and keep the fee schedule that explains the difference.

Also mind the timing gap: the platform's payout date is not your revenue date. Revenue belongs to the period when the end customer's agents consumed your tools, even if the marketplace remits two weeks later. For direct sales the same principle applies — usage period governs, settlement date does not.

A Month-End Checklist for MCP Operators​

Close your books the same way every month and the edge cases stop compounding:

  1. Pull metered usage per customer per meter and tie it to invoiced usage revenue. Investigate any gap above your free-tier and failure-forgiveness baseline.
  2. Split hybrid invoices into base (ratable) and overage (as-consumed) revenue accounts.
  3. Roll prepaid-credit drawdowns out of deferred revenue; review aging credit balances for breakage treatment.
  4. Post downstream API, hosting, and data costs per tool; recompute gross margin per meter.
  5. Reconcile marketplace gross statements to net deposits; file the statements with the month's records.
  6. Log stablecoin receipts at fair market value and track cost basis through conversion.
  7. Review customer-location totals against state nexus thresholds; confirm tax collection where required.
  8. Save the raw usage export with the month's close package — it is the source document your future self (or auditor) will ask for.

Simplify Your Financial Management​

Metered revenue, deferred credit balances, passthrough API costs, and fifty-state taxability are a lot of moving parts for a side project that started as a weekend MCP server. Beancount.io gives you plain-text accounting with complete transparency and control over your financial data — every usage invoice, credit drawdown, and marketplace fee recorded as version-controlled, AI-ready transactions you can actually audit. Get started for free and keep your agent economy books as programmable as your server.

Source: https://beancount.io/blog/2026/10/06/mcp-server-monetization-bookkeeping-usage-based-subscription-revenue-guide

Published: October 6, 2026