Skip to main content
Glama
TheBaronofAI

okaneland-mcp

by TheBaronofAI

@okaneland/mcp

A small Model Context Protocol server that gives AI agents two things from Okane Land:

Tool

What it does

get_ai_tool_prices

Current, human-verified pricing for 100+ AI tools solo builders use, with what's free, what a real month costs, the gotcha, and the last-verified date. Fetched live from the maintained price index.

calculate_ai_margin

Turns an AI product's MRR into what you actually keep after the token bill, card fees, failed payments, refunds, and tax, plus the break-even price and usage cap.

It runs on the user's machine over stdio, so there is nothing to host. get_ai_tool_prices fetches the public /api/v1/prices.json at call time, so the data is always as fresh as the site's monthly re-verification.

Install

Add it to your MCP client's config (Claude Desktop, Cursor, Windsurf, and others use the same shape):

{
  "mcpServers": {
    "okaneland": {
      "command": "npx",
      "args": ["-y", "@okaneland/mcp"]
    }
  }
}

Restart the client. The two tools appear in any agent you run there.

Related MCP server: Model Price Watch

Example

You: I want a $20/mo AI writing tool on Claude Sonnet. What do similar tools charge, and would $20 keep money at 500 users?

The agent calls get_ai_tool_prices and calculate_ai_margin, then answers from real data: comparable tools charge more, and at 500 users on a Sonnet-class blend you keep about $3,260/mo (33%), staying profitable down to a $12.25 price or up to 3.3M tokens per user.

Tool reference

get_ai_tool_prices

Inputs (all optional): category, query, id, limit. Returns the matching tool rows plus the index's updated date, method, and source page.

calculate_ai_margin

Inputs: pricePerMonth, payingCustomers, blendedTokenPricePerM, tokensPerUserM, and optional monthlyChurnPct (6.1), intlCardPct (40), vatPct (0), failedPaymentsPct (9), refundsPct (3). Returns gross, tokenBill, cardFees, failedPayments, refunds, tax, keep, keepPct, perCustomerKeep, customersReplacedMonthly, breakEvenPrice, breakEvenTokensPerUserM, and tokenCostExceedsPrice.

Privacy

The server fetches only the public price index over HTTPS and sends nothing about you. The margin calculation runs entirely locally.

Develop

npm install
npm run build     # tsc -> dist/
npm test          # unit tests pin the margin math to the web calculator
npm run smoke     # spins up the server, runs the MCP handshake, calls both tools

The margin math in src/margin.ts is a port of Okane Land's margin calculator; src/margin.test.ts pins its known-good outputs so the two cannot silently drift.

Disclaimer

Numbers are directional, not financial advice.

License

MIT

Available Tools

2 tools
calculate_ai_marginA

Turn an AI product's MRR into what the builder actually keeps after the token bill, card processing fees, failed payments, refunds, and sales tax. Also returns the break-even price and the break-even usage cap (tokens per user), the per-customer margin, and a flag when a flat price sits below its own token cost. A metered token bill is owed even past revenue, so a loss is unbounded (not floored at the gross). All monetary values are USD per month. Mirrors Okane Land's margin calculator; directional, not financial advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
vatPctNoSales tax / VAT percent you remit (default 0).
refundsPctNoPercent of gross lost to refunds and disputes (default 3).
intlCardPctNoPercent of sales on international cards, which carry higher fees (default 40).
pricePerMonthYesWhat one customer pays per month, in USD.
tokensPerUserMYesMillions of tokens an average user burns per month.
monthlyChurnPctNoMonthly churn as a percent (default 6.1).
payingCustomersYesNumber of paying customers right now.
failedPaymentsPctNoPercent of gross lost to failed and declined cards (default 9).
blendedTokenPricePerMYesBlended model token price in USD per million tokens (e.g. ~0.5 for Haiku/GPT-mini, ~5 for a Sonnet/GPT-class blend, ~20 for a frontier blend, ~0.1 self-hosted).

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses that losses are unbounded (not floored) and that values are directional. This goes beyond basic functionality and adds useful behavioral context. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph that front-loads the primary action and lists key outputs. It is relatively concise with no redundant sentences, though it could be structured more clearly with separate sections. It earns its space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters, no output schema, and no annotations, the description covers the core functionality well: what it calculates, important behaviors (unbounded loss), and that it's directional. It does not explain all parameter meanings but compensates with schema coverage. A bit more on output interpretation would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 9 parameters have descriptions in the input schema (100% coverage), so the baseline is 3. The description mentions cost categories like 'token bill, card processing fees' but does not map them to specific parameter names or add meaning beyond the schema. It adds marginal value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Turn an AI product's MRR into what the builder actually keeps' and lists specific outputs like break-even price and per-customer margin. It distinguishes from the sibling 'get_ai_tool_prices' by focusing on margin calculation rather than price lookups.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for computing net margins and break-even metrics, and mentions it mirrors a known calculator. However, it does not explicitly state when to use this tool versus the sibling 'get_ai_tool_prices' or provide exclusions. The directional/non-advice note is helpful but not a usage guideline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ai_tool_pricesA

Current, human-verified pricing for 100+ AI tools that solo builders use (coding agents, editors and assistants, app and UI builders, frameworks and APIs, local models, marketing and content, sales and automation, search and research, review/test/secure, workflow and ops). For each tool it returns: what is free, the entry paid plan, what a real working month actually costs, per-unit costs, the gotcha to watch, and the date the row was last verified. Source: Okane Land's maintained price index (okaneland.com). Filter by category, a free-text query, or an exact tool id. Valid categories: 'Agents & terminal', 'App & UI builders', 'Editors & assistants', 'Frameworks & APIs', 'Local models', 'Marketing & content', 'Review, test & secure', 'Sales & automation', 'Search & research', 'Workflow & ops'.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoExact tool id, e.g. 'creatify' or 'cursor'.
limitNoMaximum number of tools to return.
queryNoFree-text match against a tool's name, description, id, or category.
categoryNoExact category name to filter by (see the list in this tool's description).

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It explains the data source, verification status, and output fields, but omits details about pagination, error handling, rate limits, or authentication. The behavior is somewhat transparent but not fully comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is fairly concise and well-structured, starting with the tool's purpose, then output, source, and filtering options. It could be slightly more compact but is efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no output schema, the description compensates by listing the returned fields. It includes source info and valid categories, and covers the four optional parameters. Missing details like pagination or error behavior are minor given the tool's straightforward nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds value by providing the list of valid categories and explaining that 'query' can match against name, description, id, or category. This goes beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: retrieving current, human-verified pricing for over 100 AI tools used by solo builders. It lists specific categories and output fields, distinguishing it from the sibling tool 'calculate_ai_margin' which is about margin calculation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the tool's capabilities and filtering options (by category, query, or exact id), but does not explicitly mention when not to use it or compare it directly with the sibling tool. However, the context is clear enough for an agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv0.1.1
    • First observedcalculate_ai_margin
    • First observedget_ai_tool_prices

TDQS

A4.2/5.0

Scored across 2 tools

Disambiguation5/5

The two tools serve clearly distinct purposes: one retrieves pricing data, the other calculates margins. No overlap or confusion.

Naming Consistency5/5

Both tool names follow a consistent verb_noun pattern in snake_case ('get_ai_tool_prices', 'calculate_ai_margin'), making them predictable and easy to understand.

Tool Count4/5

With only 2 tools, the server is minimal but focused on a specific niche (AI tool pricing and margin analysis). It covers the core functionality without being overly thin.

Completeness4/5

The tool set covers the primary needs: retrieving price data and calculating margins. Minor gaps like a category listing tool are mitigated by the filtering capabilities.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers