_ registry / mcp + a2a streamable-http · checked 2h ago

saascity

https://saascity.io

Registry code: edd86a40f2e693e9

api record

SaaSCity helps a founder launch a product. Typical flow: check_launch_readiness on the site, fix what fails, then recommend_launch_directories (hand-picked, with notes) or find_launch_directories (the full dataset, filterable by DR, link type and price). submit_project lists the product on SaaSCity as an inert draft and returns a claim link the human must open - nothing is published or paid without them, and every listing is reviewed by a person. DR figures are Ahrefs Domain Rating; say so when quoting them. Docs: https://saascity.io/mcp

endpoint
https://saascity.io/api/mcp
door code
1add9752e04dc612
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is saascity live?
Yes — it answered the hub's last check (checked 2h ago). It answered 100% of checks over the last 30 days.
Is saascity free to use?
Yes — the hub reached it with no key and no payment.
What tools does saascity have?
22 tools: check_badge, submit_project, get_listing, ab_test_significance, check_launch_readiness, find_alternatives, get_submission_status, get_launch_directory, ….
Is saascity safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
99.5%

90 days 99.1%· all time 99.1%

latency
143ms

last good check

priced tools
0

of 22 tools

_ answered our checks, 90 days 1091 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • degraded → live
  • live → degraded· timeout after 20000ms
_ what it is for
used for
  • audit a homepage before launch
  • find startup launch directories
  • submit a product to a launch directory
  • check a directory's domain rating
  • browse top product launches
takes → gives
web pages, text → data
tools
12 reads1 changes data
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 22 tools
14 open 8 never probed 14 of 22 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • calculate_nps open 4h ago

    Net Promoter Score from the counts of promoters (9-10), passives (7-8) and detractors (0-6), with the margin of error at 95% confidence. Full calculator: https://saascity.io/free-tools/nps-calculator

    mcp-tool

    {
      "type": "object",
      "required": [
        "promoters",
        "passives",
        "detractors"
      ],
      "properties": {
        "passives": {
          "type": "number",
          "description": "Responses scoring 7 or 8"
        },
        "promoters": {
          "type": "number",
          "description": "Responses scoring 9 or 10"
        },
        "detractors": {
          "type": "number",
          "description": "Responses scoring 0 to 6"
        }
      }
    }
    arguments 22 lines
  • get_launch_weeks reads open 19h ago

    SaaSCity launch-week queue: the next 12 Mondays, how many free slots each has left, and which are full. Use it to tell a founder when a free listing would go live.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • get_leaderboard reads open 19h ago

    SaaSCity's most upvoted launches for this week's launch, the last 30 days, or all time, optionally within one category.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "default": 10,
          "maximum": 25,
          "minimum": 1,
          "description": "How many to return"
        },
        "period": {
          "enum": [
            "week",
            "month",
            "all_time"
          ],
          "type": "string",
          "default": "week",
          "description": "week = this Monday's launch"
        },
        "category": {
          "enum": [
            "ai",
            "saas",
            "productivity",
            "devtools",
            "design",
            "marketing",
            "fintech",
            "health",
            "mobile",
            "games",
            "web3",
            "molt",
            "directories",
            "other"
          ],
          "type": "string",
          "description": "Listing category id"
        }
      }
    }
    arguments 42 lines
  • calculate_arr open 11h ago

    Turn monthly recurring revenue into annual recurring revenue (ARR = MRR x 12), with ARPU when the customer count is given and the months to $100k, $1M and $10M ARR at a monthly growth rate. Count annual plans at their yearly price divided by 12 and leave one-time fees out of MRR. Full calculator: https://saascity.io/free-tools/arr-calculator

    mcp-tool

    {
      "type": "object",
      "required": [
        "mrr"
      ],
      "properties": {
        "mrr": {
          "type": "number",
          "description": "Monthly recurring revenue in any currency"
        },
        "customers": {
          "type": "number",
          "description": "Paying customers, for ARPU (optional)"
        },
        "monthly_growth_pct": {
          "type": "number",
          "description": "Expected MRR growth per month in percent, e.g. 8 (optional)"
        }
      }
    }
    arguments 20 lines
  • calculate_arr_bridge open 11h ago

    Explain how ARR moved over a period: ending ARR = starting ARR + new + expansion - contraction - churned. Returns net new ARR, growth, the SaaS quick ratio ((new + expansion) / (contraction + churned)), and net and gross revenue retention of the starting base. Full calculator: https://saascity.io/free-tools/arr-calculator

    mcp-tool

    {
      "type": "object",
      "required": [
        "start_arr"
      ],
      "properties": {
        "new_arr": {
          "type": "number",
          "description": "ARR from customers who started paying in the period"
        },
        "start_arr": {
          "type": "number",
          "description": "ARR at the start of the period"
        },
        "churned_arr": {
          "type": "number",
          "description": "ARR lost to customers who cancelled"
        },
        "expansion_arr": {
          "type": "number",
          "description": "ARR added by existing customers (upgrades, seats, add-ons)"
        },
        "contraction_arr": {
          "type": "number",
          "description": "ARR lost to downgrades from customers who stayed"
        }
      }
    }
    arguments 28 lines
  • find_launch_directories reads open 14h ago

    Filter 1,667 startup, SaaS and AI directories by category, minimum Ahrefs DR, link type (dofollow/nofollow), price and badge-swap requirement. Returns submit URLs. Link type and price are "unknown" where nobody has verified them yet - treat those as unverified, not as free or dofollow.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "sort": {
          "enum": [
            "dr",
            "name"
          ],
          "type": "string",
          "default": "dr",
          "description": "dr = strongest first"
        },
        "limit": {
          "type": "integer",
          "default": 20,
          "maximum": 50,
          "minimum": 1,
          "description": "Results per page"
        },
        "query": {
          "type": "string",
          "description": "Match against directory name or domain, e.g. \"hunt\" or \"betalist\""
        },
        "min_dr": {
          "type": "integer",
          "default": 0,
          "maximum": 100,
          "minimum": 0,
          "description": "Minimum Ahrefs Domain Rating"
        },
        "offset": {
          "type": "integer",
          "default": 0,
          "minimum": 0,
          "description": "Skip this many results (pagination)"
        },
        "pricing": {
          "enum": [
            "any",
            "free",
            "free_or_freemium",
            "paid"
          ],
          "type": "string",
          "default": "any",
          "description": "free_or_freemium = there is a no-cost route"
        },
        "category": {
          "enum": [
            "AI Tools",
            "Community",
            "Design Tools",
            "Developer Tools",
            "General Directory",
            "Launchpad",
            "Marketing Tools",
            "Marketplace",
            "Open Source",
            "SaaS Tools",
            "Software Discovery",
            "Software Reviews",
            "Tech / Startups"
          ],
          "type": "string",
          "description": "Directory category"
        },
        "link_type": {
          "enum": [
            "any",
            "dofollow",
            "nofollow"
          ],
          "type": "string",
          "default": "any",
          "description": "dofollow = verified followed link"
        },
        "exclude_badge_exchange": {
          "type": "boolean",
          "default": false,
          "description": "Drop directories whose free listing requires their badge on your site"
        }
      }
    }
    arguments 83 lines
  • calculate_churn open 7h ago

    Customer churn and retention for a period, its monthly and annual equivalents (compounded, so 5% a month is about 46% a year, not 60%), and the average customer lifetime. Full calculator: https://saascity.io/free-tools/churn-rate-calculator

    mcp-tool

    {
      "type": "object",
      "required": [
        "customers_at_start",
        "customers_lost"
      ],
      "properties": {
        "period": {
          "enum": [
            "month",
            "quarter",
            "year"
          ],
          "type": "string",
          "description": "month, quarter or year"
        },
        "customers_lost": {
          "type": "number",
          "description": "Customers from that base who cancelled during the period"
        },
        "customers_at_start": {
          "type": "number",
          "description": "Customers at the start of the period"
        }
      }
    }
    arguments 26 lines
  • rule_of_40 open 2h ago

    Rule of 40 score (revenue growth % + profit margin %), plus the magic number, burn multiple and SaaS quick ratio when their inputs are given. Full calculator: https://saascity.io/free-tools/rule-of-40-calculator

    mcp-tool

    {
      "type": "object",
      "required": [
        "growth_pct",
        "margin_pct"
      ],
      "properties": {
        "new_mrr": {
          "type": "number",
          "description": "Optional: new MRR, for the quick ratio"
        },
        "net_burn": {
          "type": "number",
          "description": "Optional: net burn over a period, for the burn multiple"
        },
        "growth_pct": {
          "type": "number",
          "description": "Year-over-year revenue growth in percent"
        },
        "margin_pct": {
          "type": "number",
          "description": "Profit margin in percent (EBITDA or free cash flow); negative when losing money"
        },
        "churned_mrr": {
          "type": "number",
          "description": "Optional: churned MRR"
        },
        "net_new_arr": {
          "type": "number",
          "description": "Optional: net new ARR over the same period"
        },
        "expansion_mrr": {
          "type": "number",
          "description": "Optional: expansion MRR"
        },
        "contraction_mrr": {
          "type": "number",
          "description": "Optional: contraction MRR"
        },
        "revenue_last_quarter": {
          "type": "number",
          "description": "Optional: revenue last quarter"
        },
        "revenue_this_quarter": {
          "type": "number",
          "description": "Optional: revenue this quarter, for the magic number"
        },
        "sales_marketing_last_quarter": {
          "type": "number",
          "description": "Optional: sales and marketing spend last quarter"
        }
      }
    }
    arguments 53 lines
  • get_offers reads open 2h ago

    SaaSCity listing offers with real prices - free queue, Quick Pass, Premium - and exactly what each buys (queue position, dofollow link, city-map building, launch post). Only a human can pay, on the claim page.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • uptime_downtime open 11h ago

    Allowed downtime per day, week, month, quarter and year, in seconds, for an availability target such as 99.9%. Full calculator: https://saascity.io/free-tools/uptime-calculator

    mcp-tool

    {
      "type": "object",
      "required": [
        "availability_pct"
      ],
      "properties": {
        "availability_pct": {
          "type": "number",
          "description": "Availability target in percent, e.g. 99.95"
        }
      }
    }
    arguments 12 lines
  • calculate_nrr open 4h ago

    Net revenue retention (NRR) and gross revenue retention (GRR) of a group of customers from their starting MRR, expansion, contraction and churned MRR, with annualised figures. Full calculator: https://saascity.io/free-tools/net-revenue-retention-calculator

    mcp-tool

    {
      "type": "object",
      "required": [
        "start_mrr"
      ],
      "properties": {
        "period": {
          "enum": [
            "month",
            "quarter",
            "year"
          ],
          "type": "string",
          "description": "month, quarter or year"
        },
        "start_mrr": {
          "type": "number",
          "description": "MRR of the customers at the start of the period"
        },
        "churned_mrr": {
          "type": "number",
          "description": "MRR lost to cancellations"
        },
        "expansion_mrr": {
          "type": "number",
          "description": "MRR added by those customers"
        },
        "contraction_mrr": {
          "type": "number",
          "description": "MRR lost to downgrades"
        }
      }
    }
    arguments 33 lines
  • markup_margin open 4h ago

    Selling price, profit and margin from a cost and a markup percent, or markup and margin from a cost and a selling price. Full calculator: https://saascity.io/free-tools/markup-calculator

    mcp-tool

    {
      "type": "object",
      "required": [
        "cost"
      ],
      "properties": {
        "cost": {
          "type": "number",
          "description": "Unit cost"
        },
        "price": {
          "type": "number",
          "description": "Selling price (give this or markup_pct)"
        },
        "markup_pct": {
          "type": "number",
          "description": "Markup in percent (give this or price)"
        }
      }
    }
    arguments 20 lines
  • recommend_launch_directories reads open 14h ago

    Hand-picked launch directories for a product type, grouped by when to submit (launch day first, evergreen after). Every pick carries a human-written verdict, including the ones that are not worth paying for, plus Ahrefs DR, link type and price. Start here; use find_launch_directories to go wider across all 1,667 sites.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "free_only": {
          "type": "boolean",
          "default": false,
          "description": "Only picks with a free or freemium route"
        },
        "product_type": {
          "enum": [
            "any",
            "saas",
            "ai",
            "devtools"
          ],
          "type": "string",
          "default": "any",
          "description": "saas = B2B/B2C software, ai = AI tool or app, devtools = sold to developers, any = general"
        }
      }
    }
    arguments 21 lines
  • search_listings reads open 19h ago

    Search products listed on SaaSCity by keyword and/or category. Returns title, tagline, category, upvote points, the listing page and the product site. Useful for market research ("what else exists in this space?") before a launch.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "sort": {
          "enum": [
            "points",
            "newest"
          ],
          "type": "string",
          "default": "points",
          "description": "points = most upvoted first"
        },
        "limit": {
          "type": "integer",
          "default": 10,
          "maximum": 25,
          "minimum": 1,
          "description": "Results per page"
        },
        "query": {
          "type": "string",
          "description": "Keyword matched against title and tagline"
        },
        "offset": {
          "type": "integer",
          "default": 0,
          "minimum": 0,
          "description": "Skip this many results (pagination)"
        },
        "category": {
          "enum": [
            "ai",
            "saas",
            "productivity",
            "devtools",
            "design",
            "marketing",
            "fintech",
            "health",
            "mobile",
            "games",
            "web3",
            "molt",
            "directories",
            "other"
          ],
          "type": "string",
          "description": "Listing category id"
        }
      }
    }
    arguments 51 lines
  • check_badge reads unknown 24h ago

    Check whether the SaaSCity badge is live on a site. Reads the given URL and, for a deep page, the site homepage too, rendering JavaScript if the static HTML misses it. A verified badge turns the listing link dofollow.

    mcp-tool

    {
      "type": "object",
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "description": "Site URL to scan (the listing URL; the homepage is read as well)"
        }
      }
    }
    arguments 12 lines
  • submit_project changes data unknown never probed

    List a product on the SaaSCity launch directory. Creates an inert draft and returns a claim URL; the human opens it to sign in, gets the submit form prefilled with the draft, picks a launch Monday and submits the form. Nothing is submitted, published or charged until they submit that form, and every listing is reviewed by a person. Free to submit. Free subdomain hosts (github.io, netlify.app...) and domains that already have a listing are refused.

    mcp-tool

    {
      "type": "object",
      "required": [
        "title",
        "tagline",
        "category",
        "description",
        "website_url"
      ],
      "properties": {
        "tags": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 40
          },
          "maxItems": 10,
          "description": "Up to 10 short keywords (optional)"
        },
        "title": {
          "type": "string",
          "maxLength": 60,
          "minLength": 3,
          "description": "Product name"
        },
        "tagline": {
          "type": "string",
          "maxLength": 100,
          "minLength": 10,
          "description": "One line on what it does and for whom"
        },
        "category": {
          "enum": [
            "ai",
            "saas",
            "productivity",
            "devtools",
            "design",
            "marketing",
            "fintech",
            "health",
            "mobile",
            "games",
            "web3",
            "molt",
            "directories",
            "other"
          ],
          "type": "string",
          "description": "Listing category id"
        },
        "github_url": {
          "type": "string",
          "maxLength": 200,
          "description": "Public repo URL (optional)"
        },
        "description": {
          "type": "string",
          "maxLength": 5000,
          "minLength": 50,
          "description": "Plain text: the problem, who it is for, what makes it different"
        },
        "twitter_url": {
          "type": "string",
          "maxLength": 200,
          "description": "X/Twitter profile URL (optional)"
        },
        "website_url": {
          "type": "string",
          "maxLength": 500,
          "description": "Product homepage, https, on its own domain"
        }
      }
    }
    arguments 74 lines
  • get_listing reads unknown 7h ago

    One live SaaSCity listing by slug: title, tagline, full description, category, upvote points, link type (dofollow/nofollow), listing page and product site.

    mcp-tool

    {
      "type": "object",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "description": "Listing slug, the last part of saascity.io/live/<slug>"
        }
      }
    }
    arguments 12 lines
  • ab_test_significance unknown never probed

    Two-proportion test of an A/B result: conversion rates, relative uplift, p-value, confidence interval, the chance that B beats A, and a sample ratio mismatch check. Full calculator: https://saascity.io/free-tools/ab-test-calculator

    mcp-tool

    {
      "type": "object",
      "required": [
        "visitors_a",
        "conversions_a",
        "visitors_b",
        "conversions_b"
      ],
      "properties": {
        "visitors_a": {
          "type": "number",
          "description": "Visitors in A"
        },
        "visitors_b": {
          "type": "number",
          "description": "Visitors in B"
        },
        "conversions_a": {
          "type": "number",
          "description": "Conversions in A"
        },
        "conversions_b": {
          "type": "number",
          "description": "Conversions in B"
        },
        "confidence_pct": {
          "type": "number",
          "description": "90, 95 or 99 (default 95)"
        }
      }
    }
    arguments 31 lines
  • check_launch_readiness reads unknown 24h ago

    Audit a product homepage before launching it: HTTPS, noindex, title and meta description, og:image (fetched to confirm it loads), X card, favicon, canonical, mobile viewport, h1, JSON-LD, robots.txt, sitemap, parked or 404 pages, response time, and whether the page is empty without JavaScript. Returns a 0-100 score, a verdict and a fix for every problem. Reads the static HTML the way directory scrapers and link-preview bots do.

    mcp-tool

    {
      "type": "object",
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "description": "Homepage URL; the https:// prefix is optional"
        }
      }
    }
    arguments 12 lines
  • find_alternatives reads unknown 24h ago

    Other SaaSCity listings in the same category as a given listing, most upvoted first. Useful for competitor research and positioning.

    mcp-tool

    {
      "type": "object",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "description": "Slug of the listing to find alternatives for"
        },
        "limit": {
          "type": "integer",
          "default": 10,
          "maximum": 25,
          "minimum": 1,
          "description": "How many to return"
        }
      }
    }
    arguments 19 lines
  • get_submission_status reads unknown 14h ago

    Where a SaaSCity submission stands. By claim token: unclaimed, expired, claimed but the form not submitted yet, submitted and in review, rejected, archived, or live. By slug: a live listing (launch week, badge, link type, points).

    mcp-tool

    {
      "type": "object",
      "properties": {
        "slug": {
          "type": "string",
          "description": "Slug of a live listing"
        },
        "claim_token": {
          "type": "string",
          "description": "Token from submit_project (the mcp_... part of the claim URL)"
        }
      }
    }
    arguments 13 lines
  • get_launch_directory reads unknown 7h ago

    Look up one directory by domain or URL: Ahrefs DR, dofollow or nofollow, price, whether it wants a badge swap, the submit URL, and a human verdict where one exists. Use it to vet a directory before paying for a listing.

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "Directory domain or any URL on it, e.g. \"uneed.best\" or \"https://www.producthunt.com/posts/new\""
        }
      }
    }
    arguments 12 lines
_ try it over mcp through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id edd86a40f2e693e9.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/edd86a40f2e693e9/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/edd86a40f2e693e9/badge.svg)](https://brick.blue/agent/edd86a40f2e693e9?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we knowoff the mcp door
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.