MRR Ledger
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Sourced, dated revenue data on real AI-agent businesses: leaderboard, profiles, growth, lessons.
| Author | com.mrrledger |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 3029 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"MRR Ledger": {
"url": "https://mrrledger.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (15)
search_businessesread-onlyUse when the user asks how much revenue, MRR or ARR an AI agent, AI startup or AI tool makes, or wants real examples of AI businesses in a niche (support, coding, voice, sales, SEO...). Returns AI-agent businesses with sourced, dated revenue (start here). Example: {"query":"support","limit":3} -> 3 customer-support agents with their sourced revenue. Each brief: slug, name, category, tier, one_liner, annualized_revenue_usd, basis, confidence, url_profile; + total + next page. Empty query = all, highest revenue first; filters category, tier, verified_only; limit max 50, offset/cursor. Next: get_business {"slug"}. Cost: free (100 calls/day without a key).
Parameters:
tier— string — Funding-based, not size-based: venture = raised outside venture money (even if small), indie = bootstrapped/founder-funded, experiment = agent-run or research project.limit— number — Results per page. Default 10, max 50.query— string — Keyword, e.g. "support", "coding", "voice". Empty = all businesses.cursor— string — Opaque page token: page.next_cursor from the previous call with the same query and filters.offset— integer — Skip this many matches (page start). Default 0. Use page.next_offset from the previous call.category— string — Category slug, e.g. coding-agents, customer-support (see list_categories).verified_only— boolean — Keep only businesses whose headline figure is payment-processor verified (headline_verification not null).
Hints: read-only yes · destructive no · idempotent yes · open-world no
benchmark_businessread-onlyUse when the user gives their own MRR or asks whether their revenue is good compared with similar AI businesses. Returns where an MRR ranks among fresh same-category MRR peers (rank of N + 1 comparable). Example: {"category":"customer-support","mrr":2000} -> your rank among the customer-support MRR peers + 1 comparable. Also: N, basis, verification date, peer caveat; no growth numbers yet; your MRR is never stored. Cost: free (100 calls/day without a key).
Parameters:
category(required) — string — Category slug, e.g. customer-support, automation-platforms, sales-gtm, indie-solo (see list_categories).mrr(required) — number — Your monthly recurring revenue in USD, e.g. 2000 (greater than 0, at most 100000000). Not stored.full— boolean — Full answers are paused (paid tier paused while we confirm source permissions); you get the free answer.months_live— integer — Optional months since launch (0-600). Accepted but ignored for now.report_token— string — Not used while the paid tier is paused.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_businessread-onlyUse when the user names one AI company or agent (e.g. Cursor, Lovable) and asks about its revenue, pricing model or growth. Returns one business's full sourced record. Example: {"slug":"cursor"} -> Cursor with every figure and its source. Includes every dated revenue figure (label, value, as_of, source_url), what it does, model, tier, lessons, growth series, related businesses. Unknown slug -> isError. Cost: free (100 calls/day without a key).
Parameters:
slug(required) — string — Business slug, e.g. cursor, lovable (from search_businesses or leaderboard).
Hints: read-only yes · destructive no · idempotent yes · open-world no
leaderboardread-onlyUse when the user asks which AI agents or AI startups make the most money, or for a top-N revenue ranking. Returns businesses ranked by latest sourced annualized revenue, highest first (briefs as in search_businesses); filters category, verified_only, limit (max 50). Example: {"category":"coding-agents","limit":5} -> the top 5 coding agents by revenue. Cost: free (100 calls/day without a key).
Parameters:
limit— number — Default 10, max 50.category— string — Category slug, e.g. coding-agents (see list_categories).verified_only— boolean — Keep only businesses whose headline figure is payment-processor verified (headline_verification not null).
Hints: read-only yes · destructive no · idempotent yes · open-world no
compare_businessesread-onlyUse when the user asks to compare two AI companies (X vs Y) on revenue or business model. Returns two businesses side by side (tier, category, annualized revenue + basis, pricing model, founded, top lessons, growth) and a diff with the revenue ratio. Example: {"a":"cursor","b":"lovable"} -> Cursor vs Lovable with the revenue ratio. Cost: free (100 calls/day without a key).
Parameters:
a(required) — string — First business slugb(required) — string — Second business slug
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_growthread-onlyUse when the user asks how fast an AI company grew or for its revenue over time. Returns one business's dated revenue series, oldest first (as_of, annualized_usd, label, value_usd, source_url; MRR x12). Example: {"slug":"lovable"} -> Lovable's dated ARR points with sources. Unknown slug -> isError. Cost: free (100 calls/day without a key).
Parameters:
slug(required) — string — Business slug, e.g. lovable.
Hints: read-only yes · destructive no · idempotent yes · open-world no
whats_newread-onlyUse when the user asks what is new or what changed recently in AI startup revenue figures. Returns the change log, newest first: businesses added and figures added, revised, re-dated or removed, each with source_url; filters since (YYYY-MM-DD), slug, kind, limit (max 100). Example: {"since":"2026-10-14"} -> every change since Oct 14, 2026. Cost: free (100 calls/day without a key).
Parameters:
kind— stringslug— stringlimit— number — Default 20, max 100.since— string — YYYY-MM-DD
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_categoryread-onlyReturns one category: count, median annualized revenue (overall, by tier) and members with rank and revenue. Example: {"slug":"customer-support"} -> the customer-support agents with their revenue. Unknown slug -> isError. Cost: free (100 calls/day without a key).
Parameters:
slug(required) — string — Category slug (e.g. coding-agents, customer-support, indie-solo).
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_categoriesread-onlyReturns every category with count, median annualized revenue and members (slug, name, rank, revenue). Example: {"limit":3} -> the first 3 categories with their members. Cost: free (100 calls/day without a key).
Parameters:
limit— number — Max categories to return (default: all).
Hints: read-only yes · destructive no · idempotent yes · open-world no
search_lessonsread-onlyReturns builder lessons from every business, each with its business and themes; filter by query and/or theme, limit (max 50). Example: {"theme":"pricing","limit":5} -> 5 pricing lessons and their businesses. Cost: free (100 calls/day without a key).
Parameters:
limit— number — Default 10, max 50.query— string — Free text, e.g. "outcome-based pricing".theme— string — Theme id (pricing, growth, enterprise, trust, product, ops, other); labels like "Trust & sourcing" are accepted too.
Hints: read-only yes · destructive no · idempotent yes · open-world no
hub_statsread-onlyReturns dataset totals: business, ranked and lesson counts, counts per category and tier, median annualized revenue, payment-verified share, latest change date. Example: {} -> {business_count, ranked_count, median_annualized_usd, ...}. Cost: free (100 calls/day without a key).
Hints: read-only yes · destructive no · idempotent yes · open-world no
todays_featureread-onlyReturns today's featured business (rotates daily): one full profile, same shape as get_business. Example: {} -> one business record. Cost: free (100 calls/day without a key).
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_tagread-onlyReturns one tag: count, median annualized revenue and members with rank and revenue. Example: {"slug":"trustmrr"} -> every business tagged trustmrr. Unknown slug -> isError. Cost: free (100 calls/day without a key).
Parameters:
slug(required) — string — Tag slug (e.g. trustmrr, mcp, seo).
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_tagsread-onlyReturns every tag with count, median annualized revenue and members, most used first. Example: {"limit":10} -> the 10 most-used tags. Cost: free (100 calls/day without a key).
Parameters:
limit— number — Max tags to return (default: all).
Hints: read-only yes · destructive no · idempotent yes · open-world no
export_datasetread-onlyReturns the Reported AI Revenue Tracker in one call: AI businesses whose figures all come from press coverage, company announcements or filings (reported, not payment-verified), every figure with its as-of date and source_url, plus dated readings. format "csv" ($0.25 USDC via x402) or "jsonl" ($0.50); optional slug = one business, same price. Unpaid call = free preview + exact terms; nothing is charged without a signed payment. Free 10-row preview: https://mrrledger.com/data/reported/
Parameters:
slug— string — Optional: one business slug (tracker businesses only)format— string
Hints: read-only yes · destructive not declared · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.