okaneland-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@okaneland-mcpFind AI writing tool prices and margin analysis for $20/mo."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@okaneland/mcp
A small Model Context Protocol server that gives AI agents two things from Okane Land:
Tool | What it does |
| 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. |
| 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 toolsThe 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 toolscalculate_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.
| Name | Required | Description | Default |
|---|---|---|---|
| vatPct | No | Sales tax / VAT percent you remit (default 0). | |
| refundsPct | No | Percent of gross lost to refunds and disputes (default 3). | |
| intlCardPct | No | Percent of sales on international cards, which carry higher fees (default 40). | |
| pricePerMonth | Yes | What one customer pays per month, in USD. | |
| tokensPerUserM | Yes | Millions of tokens an average user burns per month. | |
| monthlyChurnPct | No | Monthly churn as a percent (default 6.1). | |
| payingCustomers | Yes | Number of paying customers right now. | |
| failedPaymentsPct | No | Percent of gross lost to failed and declined cards (default 9). | |
| blendedTokenPricePerM | Yes | Blended 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
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.
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.
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.
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.
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.
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Exact tool id, e.g. 'creatify' or 'cursor'. | |
| limit | No | Maximum number of tools to return. | |
| query | No | Free-text match against a tool's name, description, id, or category. | |
| category | No | Exact category name to filter by (see the list in this tool's description). |
TDQS
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.
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.
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.
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.
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.
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.
2 tool updates
v0.1.1- First observed
calculate_ai_margin - First observed
get_ai_tool_prices
TDQS
Scored across 2 tools
The two tools serve clearly distinct purposes: one retrieves pricing data, the other calculates margins. No overlap or confusion.
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.
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.
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
Related MCP Connectors
Live LLM API pricing: token prices, comparisons, cheapest-model lookups. No key required.
Verified SaaS, AI, and LLM pricing for 490+ tools: plans, hidden costs, TCO, and alternatives.
Verified data on 8,000+ AI tools: live status, pricing, sentiment, alternatives. Free, read-only.
Extract structured pricing tiers and addons from any SaaS pricing page URL. Built for AI agents.
Related MCP Servers
- AlicenseAqualityCmaintenanceGlobal price benchmarking for AI inference across 2,600+ SKUs from 47 vendors. Query live pricing, market indexes, and model specs via 8 tools. Free tier available.853MIT
- AlicenseAqualityAmaintenanceLive LLM API pricing: current token prices, model comparisons, cheapest-model lookups, and The LLM Price Index for 150+ models across 20+ providers, re-verified daily. No API key required.51MIT
- AlicenseAqualityAmaintenanceProvides real-time AI compute pricing and cost analysis across LLM providers, enabling session cost tracking, model price comparisons, and historical data queries.2175MIT
- FlicenseNot gradedqualityBmaintenanceProvides verified pricing data for SaaS, AI tools, and LLMs across 490+ tools. No API key required, returns sourced records with attribution links.2-