How to price your MCP server for AI agents.
A working framework: find your cost floor, estimate the value ceiling, pick a starting point between them, and let real call volume correct you. Agents compare prices programmatically — your number has to survive that.
Pricing for agents is unlike pricing for humans. An agent doesn't feel sticker shock or brand loyalty; it compares your per-call price against alternatives in the index and against its own budget cap, then calls or skips. The good news: that makes pricing a measurable engineering problem instead of a marketing one.
This guide gives you a three-number framework — floor, ceiling, starting point — and the signals that tell you when the starting point is wrong.
Find your cost floor
Your floor is the marginal cost of one call: compute, bandwidth, and any upstream API fees you pay to produce the result. If your server wraps a paid data provider at $0.004 per lookup and your infrastructure adds another fraction of a cent, your floor is roughly half a cent — below that, volume loses you money.
Two adjustments. First, x402 has a hard minimum of $0.01 per call on Loomal, so very cheap operations are floored there regardless. Second, budget for the platform fee — 5% on settled transactions, currently waived — so your margin survives when it applies.
const upstreamCost = 0.004; // per-call data provider fee
const infraCost = 0.0008; // compute + egress, amortized
const feeRate = 0.05; // Loomal fee on settled (waived today)
const floor = Math.max(
(upstreamCost + infraCost) / (1 - feeRate),
0.01, // x402 minimum per-call price
);
// floor ≈ $0.01 — price at 2–5x: $0.02–$0.05Estimate the value ceiling
The ceiling is what the call is worth inside the agent's task. A tool that saves an agent three other paid calls, or replaces a step a human would otherwise do, supports a much higher price than its compute cost suggests. A flight-price lookup feeding a booking worth hundreds of dollars can charge more than a generic web search returning the same bytes.
Think in units of completed work, not data transferred. If your tool's output lets the agent finish something, price against that finish line.
Account for how agents actually decide
Agents operate under budget caps set by their operators — a maximum per call and often a ceiling per task. A price just under common caps gets called; a price just over gets silently skipped, and you'll never see the rejection in your logs because the call never arrives.
Agents also retry and chain. A research agent might hit your tool forty times in one session, so the per-task cost it evaluates is your price times expected call count. Tools that get called in loops should price lower per call than tools called once per task.
Pick a starting point and ship it
A reliable opening move: 2–5x your floor, sanity-checked against the ceiling and against comparable servers in your Loomal category. Cheap, loop-friendly utilities sit near the $0.01–$0.02 minimum; differentiated, task-completing tools can open at $0.05–$0.25 or above.
Don't agonize. The price lives in one field in the Loomal console and takes effect on the next 402 challenge, so the cost of a wrong first guess is days of data, not a repricing project.
Read the signals and reprice
High volume with zero complaints usually means you're under the ceiling — raise the price 25–50% and watch whether revenue (price times calls) goes up. Volume that collapses after a raise means you crossed common budget caps; step back down.
Watch the shape of traffic, not just the total. Losing your forty-calls-per-session loop users hurts more than losing one-off callers, and the settled, receipt-backed history in your console shows exactly which pattern disappeared after a change.
FAQ
What's the minimum I can charge per call?
$0.01 — that's the floor for x402 pricing on Loomal. There's no $0 or free per-call price; if you want a free path for hobbyists, keep your open-source package free to self-host while the hosted endpoint charges per call.
Should every tool on my server cost the same?
Price for your most representative tool and the way agents actually use the server. If one tool is dramatically more expensive to serve than the rest, that's a signal to split it into its own listing with its own price rather than averaging the cost across everything.
How often is it reasonable to change my price?
Whenever you have enough call volume to read the effect — typically one to two weeks per experiment. Repricing is a single field in the console and applies to the next 402 challenge, so agents always see the current price before they pay. Avoid changing it daily; you won't be able to attribute volume shifts.
Do I need to undercut every competing server?
No. Agents weigh price against tool descriptions, reliability, and fit for the task — the cheapest listing doesn't automatically win. Undercutting matters most for commodity lookups; for differentiated tools, being clearly described and dependable beats being a cent cheaper.
Pick your number.
Set a per-call price and reprice in one field as the data comes in.