AI Startup Hub
Server Details
List products in an AI-native directory and get an indexed page with a dofollow backlink.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
get_product, list_products, and search_products are all read operations over the same resource, but the descriptions clearly distinguish them (single fetch by slug, catalog browse with sorting/filters, and full-text relevance search). search_products vs list_products is the only mild overlap, and it is well clarified by the mention of full-text search and upvote ordering.
All tools follow a strict snake_case verb_noun pattern (get_product, list_products, search_products, submit_product, upvote_product) with consistent singular/plural handling matching the resource. No deviation or mixing of conventions.
Five tools cleanly cover the directory's essential actions (retrieve, browse, search, submit, vote) with no redundancy. This is a well-scoped surface for a simple directory service.
The core lifecycle is covered: discover, read, submit, and upvote a product. Minor gaps exist, such as no un-vote/retract vote, no update or delete/withdraw of a submission, and no way to inspect categories or tags as first-class operations, but these are workable around for the stated purpose.
Available Tools
5 toolsget_productBRead-onlyInspect
Get one product by slug.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Product slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe read, and the description adds nothing beyond that — no not-found/miss behavior, no mention of what fields the record contains, no side-effect or permission context. For a trivial read tool the gap is small, but the description contributes almost no behavioral value over the annotation.
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?
A single four-word sentence, front-loaded with verb and resource, with no filler. It is concise to the point of being terse, but nothing is wasted.
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?
For a one-parameter read tool with readOnlyHint annotations and no output schema, the definition is minimally sufficient — an agent knows what to call and with what. It stops short of covering the invalid-slug/not-found case or what the response looks like, which would make it complete.
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 coverage is 100% with a single parameter, and the schema already documents 'slug' as a product slug. The phrase 'by slug' in the description merely echoes that, adding no format, casing, or uniqueness details beyond the schema.
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?
'Get one product by slug' states a specific verb (get), resource (product), cardinality (one), and lookup key (slug). It implicitly distinguishes itself from list_products and search_products by being a single-record lookup, though it never names those siblings explicitly.
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?
Usage is implied: fetch a single product when you already have its slug. There is no explicit statement of when to prefer this over search_products (e.g. when the slug is known) or what to do when the slug is unknown, so guidance is only inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_productsBRead-onlyInspect
Browse the catalog, newest first or by popularity, optionally filtered by category.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based page | |
| sortBy | No | newest or popular | newest |
| category | No | Optional category filter | |
| pageSize | No | Items per page, 1-50 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes this as a safe read operation. The description adds no behavioral context beyond that: it restates sort options already declared in the schema and says nothing about pagination behavior, result caps, or what the returned items contain. With no output schema present, this leaves a real gap.
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?
A single tight sentence that front-loads the action and resource before the modifiers. Every clause earns its place and nothing is padded.
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?
For a four-parameter, zero-required listing tool the description is workable, but it omits pagination semantics (no mention of page/pageSize defaults or limits) and provides no differentiation from search_products. With no output schema, the agent gets no hint about the shape or volume of results.
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 page, sortBy, category, and pageSize are all documented in the schema itself. The description's mention of ordering ('newest first or by popularity') and the optional category filter mirrors the schema but adds no new syntax or format detail. Baseline 3 applies.
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?
States a specific verb (browse/list) and resource (catalog) plus the available ordering and filtering options, so the agent knows this is a read-oriented listing tool. It does not, however, distinguish itself from the sibling search_products, leaving the boundary between 'browse' and 'search' implicit.
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?
Usage is implied by 'Browse the catalog' and the optional category filter, giving a rough sense of when to reach for it. No alternative is named (search_products is the obvious sibling), and no when-not-to-use condition is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsBRead-onlyInspect
Full-text search over product names, descriptions and tags. Ordered by upvotes.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based page | |
| query | Yes | Search text | |
| pageSize | No | Items per page, 1-50 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, covering the safety profile, so the description's burden is lower. It does add one genuinely useful trait beyond structured data — results are 'Ordered by upvotes' — but says nothing about pagination limits, result shape, or matching semantics beyond field scope.
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?
Two short sentences, zero filler, with the retrieval semantics front-loaded and the ordering constraint trailing. Nothing needs trimming and nothing essential is buried.
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?
For a no-output-schema search tool, the description discloses field scope and ordering but omits anything about the result set (fields returned, pagination bounds beyond schema defaults, whether hits are ranked by relevance or strictly by upvotes). Combined with the absence of usage guidance, it is adequate but thin.
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 coverage is 100%, so a baseline of 3 applies, and the description actually earns above it: it defines what the 'query' parameter matches against (names, descriptions, tags), which the schema only labels as 'Search text'. It adds no equivalent meaning for page/pageSize, but those are self-documented.
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?
States a specific verb ('Full-text search') and resource (products) and narrows the searched fields to names, descriptions and tags, plus a result ordering. It is clear what the tool does, though it never names the sibling it contrasts with (list_products/get_product), so differentiation must be inferred.
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?
There is no explicit when-to-use or when-not-to-use guidance and no alternatives named, despite four obvious siblings (get_product, list_products, submit_product, upvote_product). An agent must infer that this is for text discovery rather than ID lookup or browsing, which is only weakly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_productAInspect
List a product, tool or website in the AI Startup Hub directory. Returns the slug and the URL of a server-rendered, indexable page that carries a dofollow backlink to the submitted url. The url must be publicly reachable. No API key needed; limit 10 submissions per hour per IP, 3 products per host.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) URL of the product homepage | |
| name | Yes | Product name, max 200 chars | |
| tags | No | Up to 10 lowercase tags | |
| category | No | One lowercase category, e.g. ai, developer-tools, saas, open-source, api, automation | |
| description | No | One or two sentences on what the product does, max 5000 chars |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (openWorldHint, non-idempotent, non-destructive), it discloses concrete operational detail: no API key required, a limit of 10 submissions per hour per IP, 3 products per host, and that the url must be publicly reachable. It also explains what the operation produces — a server-rendered indexable page with a dofollow backlink — which is exactly the kind of side-effect context the annotations don't carry.
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?
Four short sentences, each earning its place: purpose, return value, precondition, and limits. The purpose and outcome are front-loaded before the operational constraints.
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?
There is no output schema, so the description responsibly states the return (slug and URL), and it covers rate limits, auth requirements, and input preconditions. An agent has everything needed to decide to call it and to call it correctly.
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% and all five parameters are documented in the schema (url, name, tags, category, description). The description adds only the 'publicly reachable' constraint on url, which is marginally beyond the schema. Baseline 3 is appropriate when the schema does the heavy lifting.
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 states a specific verb and resource — listing a product/tool/website into the AI Startup Hub directory — and immediately clarifies the submission semantics by describing the returned slug, URL, and dofollow backlink. This distinguishes it from read-oriented siblings like list_products, search_products, and get_product, which enumerate rather than create entries.
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?
It establishes the context ('list a product in the directory') and preconditions ('url must be publicly reachable'), effectively telling the agent when this tool applies. It stops short of naming alternatives (e.g., upvote_product or search_products are not mentioned), so there are no explicit when-not-to-use exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upvote_productBIdempotentInspect
Upvote a product. One vote per IP per product.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Product slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The idempotentHint annotation already signals that repeat calls do not compound, and the description's 'one vote per IP per product' rule reinforces this by disclosing the vote-deduplication policy. However, it says nothing about auth requirements, whether the vote can be undone, or what error occurs when the limit is hit.
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?
Two short sentences, front-loaded with the action and immediately followed by the key constraint. No wasted words.
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?
For a single-parameter mutation with no output schema, the core action and its voting constraint are covered, but the agent gets no information on failure modes, required identifiers beyond slug, or response shape.
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?
Only one parameter exists and the schema documents 'slug' with 100% coverage, so the description need not explain it. Baseline 3 applies, since the description adds no format or lookup detail beyond the schema.
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?
States a specific verb (Upvote) and resource (product) in a single unambiguous clause. It is clearly distinguishable from get/list/search/submit siblings, though it does not name them explicitly.
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?
There is no guidance on when to use this versus alternatives, nor any prerequisites (e.g., must the product already exist, must the caller not have voted). The 'one vote per IP' note is a limit, not usage guidance.
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.
5 tool updates
- First observed
get_product - First observed
list_products - First observed
search_products - First observed
submit_product - First observed
upvote_product
Related MCP Connectors
Live SEO and AI-search audits of any website, plus startup directories matched to your product.
Build and run directory websites from your own AI: listings, imports, claims, SEO and content.
Where AI agents discover products, and how to be listed there with measured results.
Where an NSFW AI app can get listed: 273 places with price, link type, review terms, submit links.
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceMachine-readable directory of AI products that register themselves, plus an agent-readability grader for any URL.1-
- AlicenseAqualityDmaintenanceKlarna-style product discovery for AI shopping agents. Makes product catalogs machine-readable so AI agents can search, compare, and purchase products programmatically.625 PyPIMIT

LaunchOnIt MCP Serverofficial
AlicenseAqualityCmaintenanceEnables AI agents to search launched software products, inspect weekly leaderboards and Hall of Fame winners, check upcoming launch calendar availability, and retrieve full product details. It can also draft a new product listing from a supplied URL, returning a private review link without publishing or charging.61MIT- AlicenseNot gradedqualityCmaintenanceEnables an AI agent to audit a website for launch readiness, find suitable startup/SaaS/AI directories using filters like DR and link type, and submit product listings to SaaSCity as drafts.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.