AI ROI Calculator MCP Server
August 18, 2026 · View on GitHub
Built by OptimNow. Ask an AI assistant whether an AI project pays for itself, and get an answer built on live model prices, a 3-layer cost model, and arithmetic you can audit, instead of a plausible-sounding guess.
Connect in 30 seconds
The server is hosted, so there is nothing to install.
https://ai-roi-calculator-mc-e9dd36e7.alpic.live/mcp
| Client | How to add it |
|---|---|
claude mcp add --transport http ai-roi-calculator https://ai-roi-calculator-mc-e9dd36e7.alpic.live/mcp | |
| Settings → Connectors → Add custom connector, paste the URL above | |
| Settings → Connectors → Add, paste the URL. The ROI dashboard renders as an interactive widget | |
| Add an HTTP MCP server entry pointing at the URL |
Then just ask:
"We handle 10,000 support tickets a month. What's the ROI of deflecting them with Claude Haiku 4.5?"
Why this exists
Ask any general-purpose model to size an AI business case and it will happily produce a number. It will invent token prices, forget that retries are billed, ignore prompt caching and batch discounts, and skip the orchestration, retrieval and monitoring that make up most of the real bill. The answer looks confident, the arithmetic underneath is usually wrong, and there is no way to check it.
This server replaces the guess with a model you can inspect:
- Layer 1, inference. Live per-model prices, including the provider's published prompt-cache read and batch rates. Retries are billed, because a retried call is charged.
- Layer 2, harness. Orchestration, retrieval, tool APIs, logging, guardrails, egress and storage: the part everyone forgets, and often the larger half of the bill.
- Layer 3, business value. 4 archetypes (cost displacement, revenue uplift, retention uplift, premium monetization), each with a realization rate, because not every technically-successful output turns into money.
Every figure it reports carries the price date it was computed from.
Tools
| Tool | What it answers |
|---|---|
calculate-roi-v4 | "Is this worth doing?" Full ROI, payback, net benefit, cost breakdown, and a break-even volume for every value method except Retention Uplift — there value follows the customers you keep, not the volume, so no threshold exists. Renders an interactive dashboard in clients that support widgets. |
lookup-model-price | "What does this model cost?" Live list, batch and prompt-cache prices for any model in the catalog, or the current top models. |
load-preset | "What are sensible defaults for this use case?" Returns 1 of 11 preset scenarios without computing anything. |
sensitivity-analysis | "What breaks this business case?" Impact ranking of volume, realization rate, cost and value at ±20%. |
All 4 are read-only and take no credentials. Nothing you send is stored.
Presets: support, knowledgeQA, meetingSummary, marketingContent, codingTask,
invoice, callSummary, agentWorkflow, recommendation, retention, premium.
Every answer ends with a deep link that opens the same scenario in the web calculator, so you can keep adjusting the assumptions in the browser and save the result.
Where the numbers come from
Prices are fetched live from the OptimToken catalog, which tracks 250+ models and refreshes daily from OpenRouter. If the hub is unreachable, the server falls back to an embedded snapshot and says so, keeping every figure attached to its provenance.
Formulas live in the AI ROI Calculator
and are copied here verbatim by scripts/sync-engine.mjs. The web app and this server must
answer the same question with the same number. They once drifted far enough that the same
preset returned a 7-point different ROI depending on which one you asked. CI now re-runs the
sync against the calculator on every PR and weekly, and a golden-scenario suite fails if any
preset's figures move.
The full mathematical specification, including every formula and its rationale, is in METHODOLOGY.md.
Do not edit
server/src/lib/: it is generated. Change the calculator, then runnpm run sync:enginehere and regenerate the goldens.
Local development
Requires Node.js 24+.
npm install
npm run dev # Skybridge dev server + MCP inspector
npm test # engine goldens, catalog, formatting guards
npm run build # widgets + server
Working on the calculation engine:
npm run sync:engine # pull the current engine from the calculator
npm run sync:engine:check # CI mode, fails if the local copy is stale
node scripts/generate-goldens.mjs
By default the sync looks for the calculator checked out at ../ai-roi-calculator. Override
it with --from <path> or ROI_CALCULATOR_PATH.
ai-roi-calculator-mcp/
├─ server/src/index.ts # tool + widget registrations
├─ server/src/catalog.ts # live model prices, cached, snapshot fallback
├─ server/src/deeplink.ts # links back into the web calculator
├─ server/src/lib/ # GENERATED, synced from the calculator
└─ web/src/widgets/calculate-roi-v4/
Built with Skybridge, deployed on Alpic.
The rest of the family
| AI ROI Calculator | The web app. Same engine, full UI, saveable scenarios. |
| OptimToken | Compare what 250+ models cost per request, with caching and batch factored in. |
| cloud-finops-skills | FinOps knowledge for AI agents: AWS, Azure, GCP, AI inference, SaaS. |
| finops-mcp-resources | MCP servers, tutorials and client guides for cloud cost work. |
License
Released under the MIT License.
The calculation engine in server/src/lib/ is generated from the
AI ROI Calculator, which is MIT licensed
as well. Prices come from third-party sources and are provided as is, without warranty.
ROI figures are only as good as the assumptions you feed them: treat the output as a
business case to challenge, not a forecast to bank on.
Questions about your own AI cost estimate? Talk to OptimNow.