SaaSCity
Qué hace este MCP
Audits website launch readiness, researches launch directories and competitors, and submits or monitors product listings in a launch directory.
Herramientas
Esquema de entrada
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'Site URL to scan (the listing URL; the homepage is read as well)'}}}
Esquema de salida
{'type': 'object', 'required': ['found', 'code', 'message'], 'properties': {'code': {'type': 'string', 'description': 'FOUND, BADGE_NOT_FOUND, UNREACHABLE, TIMEOUT, HTTP_ERROR, ...'}, 'found': {'type': 'boolean'}, 'message': {'type': 'string'}, 'badgeSnippet': {'type': 'string', 'description': 'The HTML to embed when not found'}}}
Esquema de entrada
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'Homepage URL; the https:// prefix is optional'}}}
Esquema de salida
{'type': 'object', 'required': ['url', 'finalUrl', 'httpStatus', 'responseMs', 'score', 'verdict', 'saascityBadge', 'checks'], 'properties': {'url': {'type': 'string'}, 'score': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'checks': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'status', 'detail'], 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}, 'detail': {'type': 'string', 'description': 'Finding, and the fix when not passing'}, 'status': {'enum': ['pass', 'warn', 'fail'], 'type': 'string'}, 'critical': {'type': 'boolean', 'description': 'Blocks launch when failing'}}}}, 'verdict': {'enum': ['ready', 'almost_ready', 'not_ready'], 'type': 'string'}, 'finalUrl': {'type': 'string', 'description': 'After redirects'}, 'httpStatus': {'type': ['integer', 'null']}, 'responseMs': {'type': ['integer', 'null'], 'description': 'Time to response headers, from SaaSCity servers'}, 'saascityBadge': {'type': 'boolean', 'description': 'The SaaSCity badge is on the page'}}}
Esquema de entrada
{'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'}}}
Esquema de salida
{'type': 'object', 'required': ['listings'], 'properties': {'category': {'type': 'string'}, 'listings': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'tagline', 'slug', 'category', 'points', 'pageUrl', 'websiteUrl'], 'properties': {'slug': {'type': 'string', 'description': 'Pass to get_listing or find_alternatives'}, 'title': {'type': 'string'}, 'points': {'type': 'integer', 'description': 'Community upvote points'}, 'pageUrl': {'type': 'string', 'description': 'SaaSCity listing page'}, 'tagline': {'type': 'string'}, 'category': {'type': 'string'}, 'websiteUrl': {'type': 'string', 'description': 'The product site'}}}}}}
Esquema de entrada
{'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'}}}
Esquema de salida
{'type': 'object', 'required': ['total', 'offset', 'directories', 'dataUpdatedAt', 'attribution'], 'properties': {'total': {'type': 'integer', 'description': 'Matches before pagination'}, 'offset': {'type': 'integer'}, 'attribution': {'type': 'string'}, 'directories': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'domain', 'submitUrl', 'dr', 'linkType', 'pricing', 'category', 'badgeExchange', 'drCheckedAt'], 'properties': {'dr': {'type': 'integer', 'description': 'Ahrefs Domain Rating; 0 means no data, not worthless'}, 'name': {'type': 'string'}, 'note': {'type': 'string', 'description': 'Hand-written verdict, present on curated picks only'}, 'domain': {'type': 'string'}, 'pricing': {'enum': ['free', 'freemium', 'paid', 'unknown'], 'type': 'string'}, 'category': {'type': 'string'}, 'linkType': {'enum': ['dofollow', 'nofollow', 'unknown'], 'type': 'string'}, 'submitUrl': {'type': 'string', 'description': 'Where to submit or list'}, 'drCheckedAt': {'type': ['string', 'null'], 'description': 'Day the DR was last checked (YYYY-MM-DD); null = value from the last list sweep'}, 'badgeExchange': {'type': 'boolean', 'description': 'The free listing asks for their badge on your site'}}}}, 'dataUpdatedAt': {'type': 'string', 'description': 'Date link type and price were last swept (YYYY-MM-DD). DR has its own date per row.'}}}
Esquema de entrada
{'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"'}}}
Esquema de salida
{'type': 'object', 'required': ['found', 'dataUpdatedAt', 'attribution'], 'properties': {'found': {'type': 'boolean'}, 'directory': {'type': 'object', 'required': ['name', 'domain', 'submitUrl', 'dr', 'linkType', 'pricing', 'category', 'badgeExchange', 'drCheckedAt'], 'properties': {'dr': {'type': 'integer', 'description': 'Ahrefs Domain Rating; 0 means no data, not worthless'}, 'name': {'type': 'string'}, 'note': {'type': 'string', 'description': 'Hand-written verdict, present on curated picks only'}, 'domain': {'type': 'string'}, 'pricing': {'enum': ['free', 'freemium', 'paid', 'unknown'], 'type': 'string'}, 'category': {'type': 'string'}, 'linkType': {'enum': ['dofollow', 'nofollow', 'unknown'], 'type': 'string'}, 'submitUrl': {'type': 'string', 'description': 'Where to submit or list'}, 'drCheckedAt': {'type': ['string', 'null'], 'description': 'Day the DR was last checked (YYYY-MM-DD); null = value from the last list sweep'}, 'badgeExchange': {'type': 'boolean', 'description': 'The free listing asks for their badge on your site'}}}, 'attribution': {'type': 'string'}, 'dataUpdatedAt': {'type': 'string', 'description': 'Date link type and price were last swept (YYYY-MM-DD). DR has its own date per row.'}}}
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'type': 'object', 'required': ['freeCapacityPerWeek', 'weeks'], 'properties': {'weeks': {'type': 'array', 'items': {'type': 'object', 'required': ['weekStart', 'freeRemaining', 'isCurrent'], 'properties': {'isCurrent': {'type': 'boolean'}, 'weekStart': {'type': 'string', 'description': 'Monday, YYYY-MM-DD'}, 'freeRemaining': {'type': 'integer'}}}}, 'freeCapacityPerWeek': {'type': 'integer'}}}
Esquema de entrada
{'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'}}}
Esquema de salida
{'type': 'object', 'required': ['listings', 'period'], 'properties': {'period': {'type': 'string'}, 'listings': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'tagline', 'slug', 'category', 'points', 'pageUrl', 'websiteUrl'], 'properties': {'slug': {'type': 'string', 'description': 'Pass to get_listing or find_alternatives'}, 'title': {'type': 'string'}, 'points': {'type': 'integer', 'description': 'Community upvote points'}, 'pageUrl': {'type': 'string', 'description': 'SaaSCity listing page'}, 'tagline': {'type': 'string'}, 'category': {'type': 'string'}, 'websiteUrl': {'type': 'string', 'description': 'The product site'}}}}, 'weekStart': {'type': 'string', 'description': 'Present for period=week'}}}
Esquema de entrada
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Listing slug, the last part of saascity.io/live/<slug>'}}}
Esquema de salida
{'type': 'object', 'required': ['found'], 'properties': {'found': {'type': 'boolean'}, 'listing': {'type': 'object', 'required': ['title', 'tagline', 'slug', 'category', 'points', 'pageUrl', 'websiteUrl', 'description', 'linkType'], 'properties': {'slug': {'type': 'string', 'description': 'Pass to get_listing or find_alternatives'}, 'title': {'type': 'string'}, 'points': {'type': 'integer', 'description': 'Community upvote points'}, 'pageUrl': {'type': 'string', 'description': 'SaaSCity listing page'}, 'tagline': {'type': 'string'}, 'category': {'type': 'string'}, 'linkType': {'enum': ['dofollow', 'nofollow'], 'type': 'string'}, 'websiteUrl': {'type': 'string', 'description': 'The product site'}, 'description': {'type': 'string'}}}}}
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'type': 'object', 'required': ['offers'], 'properties': {'offers': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'priceUsd', 'summary'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'summary': {'type': 'string'}, 'priceUsd': {'type': 'number'}}}}}}
Esquema de entrada
{'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)'}}}
Esquema de salida
{'type': 'object', 'required': ['state'], 'properties': {'state': {'enum': ['not_found', 'unclaimed', 'claimed_in_review', 'expired', 'live'], 'type': 'string'}, 'listing': {'type': 'object', 'required': ['title', 'weekStart', 'badge', 'linkType', 'points'], 'properties': {'badge': {'type': 'string'}, 'title': {'type': 'string'}, 'points': {'type': 'integer'}, 'linkType': {'type': 'string'}, 'weekStart': {'type': ['string', 'null']}}}, 'expiresAt': {'type': 'string'}}}
Esquema de entrada
{'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'}}}
Esquema de salida
{'type': 'object', 'required': ['productType', 'groups', 'dataUpdatedAt', 'attribution'], 'properties': {'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'advice', 'directories'], 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}, 'advice': {'type': 'string'}, 'directories': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'domain', 'submitUrl', 'dr', 'linkType', 'pricing', 'category', 'badgeExchange', 'drCheckedAt'], 'properties': {'dr': {'type': 'integer', 'description': 'Ahrefs Domain Rating; 0 means no data, not worthless'}, 'name': {'type': 'string'}, 'note': {'type': 'string', 'description': 'Hand-written verdict, present on curated picks only'}, 'domain': {'type': 'string'}, 'pricing': {'enum': ['free', 'freemium', 'paid', 'unknown'], 'type': 'string'}, 'category': {'type': 'string'}, 'linkType': {'enum': ['dofollow', 'nofollow', 'unknown'], 'type': 'string'}, 'submitUrl': {'type': 'string', 'description': 'Where to submit or list'}, 'drCheckedAt': {'type': ['string', 'null'], 'description': 'Day the DR was last checked (YYYY-MM-DD); null = value from the last list sweep'}, 'badgeExchange': {'type': 'boolean', 'description': 'The free listing asks for their badge on your site'}}}}}}}, 'attribution': {'type': 'string'}, 'productType': {'type': 'string'}, 'dataUpdatedAt': {'type': 'string', 'description': 'Date link type and price were last swept (YYYY-MM-DD). DR has its own date per row.'}}}
Esquema de entrada
{'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'}}}
Esquema de salida
{'type': 'object', 'required': ['listings', 'offset'], 'properties': {'offset': {'type': 'integer'}, 'listings': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'tagline', 'slug', 'category', 'points', 'pageUrl', 'websiteUrl'], 'properties': {'slug': {'type': 'string', 'description': 'Pass to get_listing or find_alternatives'}, 'title': {'type': 'string'}, 'points': {'type': 'integer', 'description': 'Community upvote points'}, 'pageUrl': {'type': 'string', 'description': 'SaaSCity listing page'}, 'tagline': {'type': 'string'}, 'category': {'type': 'string'}, 'websiteUrl': {'type': 'string', 'description': 'The product site'}}}}}}
Esquema de entrada
{'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'}}}
Esquema de salida
{'type': 'object', 'required': ['claimUrl', 'expiresAt', 'claimToken', 'badgeSnippet'], 'properties': {'claimUrl': {'type': 'string', 'description': 'The human must open this to publish the listing'}, 'expiresAt': {'type': 'string', 'description': 'ISO date after which the draft is discarded'}, 'claimToken': {'type': 'string', 'description': 'Pass to get_submission_status'}, 'badgeSnippet': {'type': 'string', 'description': 'HTML that earns a dofollow link once verified with check_badge'}}}
Cambios recientes en herramientas
Servidores MCP similares
Heista
Analyzes video advertising, builds brand intelligence profiles, researches markets, and generates advertising scripts and creativ…
rankparse-mcp
Provides SEO and search marketing research including backlinks, authority, competitor gaps, Google Ads keyword metrics, and Googl…
VarynForge
Supports SEO research and content planning through niche analysis, competitor and keyword research, opportunity discovery, and wr…
AfterLaunch: the agentic growth marketing engine
Runs growth-marketing workflows covering SEO, AI-search visibility, competitor analysis, content planning, distribution channels,…
sonar
Provides app-store optimization tools for keyword research, rankings, reviews, competitor analysis, alerts, and ASO scoring on iO…
Prowlo — Reddit & X for AI agents
Indexes and searches Reddit and X-related social data, discovers communities, monitors keywords, finds engagement opportunities, …
AgentSEO
Provides SEO research and execution tools for SERP analysis, rankings, backlinks, content gaps, technical audits, and AI visibili…
NanoTools
Offers utility APIs alongside web search, scraping, browser rendering, screenshots, SERP data, and SEO audits.