Makeroo
Server Details
Search the Makeroo product directory and submit your product from your own agent.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Most tools target clearly distinct operations: reading a single listing, searching/browsing listings, listing categories, submitting, and polling status. The only mild overlap is get_listing vs search_listings (both read listings), but the slug-vs-search distinction is spelled out in the descriptions.
All five tools follow a consistent verb_noun snake_case pattern: get_listing, get_submission_status, list_categories, search_listings, submit_listing. No stylistic deviations or mixed conventions.
Five tools is a tight, well-scoped set for a listing directory plus submission flow, and each earns its place. It leans slightly thin, but nothing feels redundant or missing from a core-workflow standpoint.
The surface covers the key lifecycle: browse/search listings, fetch details, list categories, submit, and check status. Minor gaps exist around editing or canceling a pending submission, but agents can work around these via the confirm-link flow.
Available Tools
5 toolsget_listingGet listingARead-onlyInspect
Get one live listing by its slug.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Listing slug, e.g. from search_listings |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral detail — 'live' implies non-live/unpublished listings are not returned — but says nothing about error behavior for a missing or unpublished slug.
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?
One short sentence, front-loaded with verb and resource, with zero filler. Nothing needs trimming and nothing important 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 one-parameter read tool with annotations covering safety and a fully documented schema, the description is nearly sufficient. The only gap is the not-found / not-live case, which for a 'live listing' lookup an agent might reasonably want spelled out.
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 the single slug parameter fully described and even sourced ('e.g. from search_listings'). The description adds no format or syntax detail beyond the schema, so the baseline 3 for a fully documented schema is appropriate.
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 names a specific verb (get) and resource (one live listing) with a clear retrieval scope, so an agent immediately understands this is a single-item fetch rather than a search. It does not explicitly contrast itself with sibling search_listings, though 'one ... by its slug' implicitly separates it.
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 only implied: 'by its slug' tells the agent a slug is required, and the schema note 'e.g. from search_listings' hints at the workflow, but that guidance lives in the schema, not the description. There is no statement of when to use this versus search_listings or what happens if the listing is not live.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_submission_statusGet submission statusARead-onlyInspect
Check a submission: pending, review (needs human look), live or rejected, with the verification verdict and reasons.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Submission id returned by submit_listing |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuine behavioral context by disclosing the possible returned states and that a verification verdict with reasons accompanies them — useful, though it says nothing about polling cadence or how long 'review' states persist.
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 front-loaded sentence that packs the outcome states and the additional verdict payload without a wasted word. Nothing is buried or repeated.
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?
With no output schema, the description must convey what comes back, and it largely does: status values plus verification verdict and reasons. It is slightly thin on whether the verdict is always present and on the 'review' lifecycle, but it is adequate for a one-parameter read tool.
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?
There is a single required parameter with 100% schema description coverage, so the schema already documents it fully ('Submission id returned by submit_listing'). The description adds no syntax, format, or sourcing detail beyond that. 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 (check) and resource (a submission) and enumerates the outcome space (pending, review, live, rejected) plus the verification verdict/reasons. The purpose is unambiguous, though it never names a sibling to differentiate itself from the other listing/submission tools.
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 only implied: an agent can infer this is called after submit_listing to poll the outcome, and the schema note 'id returned by submit_listing' reinforces that. There is no explicit when-to-use, when-not, or alternative-tool routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesList categoriesARead-onlyInspect
List valid category ids and names for submit_listing.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and scope are covered structurally. The description adds only that the returned ids are 'valid' for submit_listing, implying the list is the accepted-value set, but says nothing about ordering, completeness, or caching of the list.
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 sentence with no waste, front-loading the resource and immediately tying it to its purpose. Nothing could be trimmed without losing the submit_listing link.
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?
With no parameters, no output schema, and annotations covering the safety profile, the description is nearly complete; naming 'ids and names' effectively substitutes for the missing output schema. Only a note on ordering/stability of the list is absent.
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?
The tool takes zero parameters, so the baseline of 4 applies; there is nothing for the description to disambiguate. Schema coverage is 100% and no enum or nested-object semantics are at issue.
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 and resource ('List valid category ids and names') and scopes the result by naming its consumer, submit_listing. It is clearly distinguishable from siblings like get_listing or search_listings, though it does not explicitly say it is the only category-lookup tool.
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 phrase 'for submit_listing' implies the tool exists to supply valid category ids before a submission, which is useful implied usage. However, it never states the trigger explicitly (e.g., 'call this before submit_listing') nor rules out any alternative or condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_listingsSearch listingsARead-onlyInspect
Search live Makeroo listings by keyword across name, tagline, description and tags. Omit query to browse the newest. Narrow by pricing, open source and platform; a listing whose value is unknown never matches that filter. Each listing carries attributes: pricing, openSource, repoUrl and platforms, null when unknown.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results, default 20 | |
| query | No | Keyword(s) to look for | |
| pricing | No | Only listings with this pricing model; free_trial means paid after a trial | |
| category | No | Category id from list_categories | |
| platform | No | Only listings that run on this platform; api_cli covers APIs, SDKs and CLIs | |
| open_source | No | true for open-source listings only |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, openWorldHint=false), and the description adds genuinely non-obvious behavior: 'a listing whose value is unknown never matches that filter' and that returned attributes are null when unknown. This goes meaningfully beyond the structured fields, though nothing is said about result ordering or paging behavior.
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?
Three tight sentences, each carrying distinct information (search scope, no-query browse mode, filter/unknown semantics, return attributes). The most important content — what it searches and how to use it without a query — comes first.
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?
With no output schema, the description usefully characterizes the returned listing attributes and nullability, so an agent knows what it gets back. It is close to complete; only ordering/paging expectations and the relationship to get_listing are unstated.
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 the baseline is 3, but the description adds real semantic value: query is matched across four specific fields, and unknown values never satisfy a filter — a rule the schema cannot express. Enum wording (free_trial, api_cli) is left to 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 and resource (search live Makeroo listings) and even names the fields searched: name, tagline, description, tags. It does not explicitly contrast itself with get_listing or the other siblings, so it falls short of full sibling differentiation but the scope is unambiguous.
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?
Gives clear conditional guidance: 'Omit query to browse the newest' tells the agent how to use the tool as a browse rather than a search. It also explains filter behavior, but never names an alternative tool or states when *not* to use search_listings (e.g., when an id is already known, use get_listing).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_listingSubmit listingAInspect
Submit a product to Makeroo on the maker's behalf. Only submit what you verified from the product's repo or site, and only with the maker's go-ahead. Returns a submission id and stays pending until the maker clicks the confirm link emailed to makerEmail (expires after 48 hours); poll get_submission_status.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) URL of the product | |
| name | Yes | Product name, 2-60 chars | |
| tags | No | Up to 5 short tags | |
| logoUrl | No | Public http(s) URL of a logo | |
| pricing | No | Pricing model, only if verified; omit when unsure | |
| repoUrl | No | Public GitHub, GitLab or Codeberg repo of an open-source product | |
| tagline | Yes | One line pitch, 5-100 chars | |
| category | Yes | Category id from list_categories | |
| platforms | No | Platforms it runs on; api_cli covers APIs, SDKs and CLIs; omit when unsure | |
| makerEmail | Yes | Contact email of the maker; receives a confirm link | |
| openSource | No | Whether the product is open source, only if verified; omit when unsure | |
| description | Yes | Plain description of what it does, 20-2000 chars |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover mutability and idempotency (readOnlyHint=false, idempotentHint=false, destructiveHint=false), so the description's job is to add context — and it does, disclosing the two-phase flow: a returned submission id stays pending until the maker clicks the emailed confirm link, which expires in 48 hours. It does not say what happens on a rejected/expired submission or whether resubmission is allowed, a minor 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?
Purpose is front-loaded in the first sentence, followed by constraints then async behavior — a sensible ordering with no filler. The third sentence is densely packed (expiry, email, polling joined by a semicolon and parenthetical) and could be split for easier parsing.
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?
With no output schema, the description takes on the return-value burden and does so, explaining that a submission id is returned and the record stays pending pending out-of-band confirmation. Combined with the verification/consent prerequisites, an agent has everything needed to call this correctly and know what to expect.
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% across 12 params, so the schema already carries parameter meaning and a baseline of 3 applies. The description only adds significance to makerEmail (it receives the confirm link), leaving the other 11 params to 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 and resource ('Submit a product to Makeroo') plus the unusual acting-on-behalf-of scope ('on the maker's behalf'), which is not inferable from the name alone. The sibling set (get_listing, search_listings, get_submission_status, list_categories) is clearly a different kind of operation, and the description names get_submission_status as the follow-up, making the role unambiguous.
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?
Gives explicit preconditions — 'only submit what you verified from the product's repo or site' and 'only with the maker's go-ahead' — and names the alternative workflow step ('poll get_submission_status'). Both when-to-use and when-not-to-use constraints are present, which is rare.
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_listing - First observed
get_submission_status - First observed
list_categories - First observed
search_listings - First observed
submit_listing
Related MCP Connectors
Search the Shiplist product directory and submit your product from your own agent.
Search products in nearby stores. Agents can also list items for sale on a user's behalf.
Product search for agents: price, merchant, rating and checkout links across online stores.
Search a curated directory of agent tools, MCP servers, APIs, protocols and skills. No auth.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI assistants to search, browse, and list businesses, services, and products on the MeetMyAgent marketplace.1012 npmMIT
- AlicenseAqualityAmaintenanceSearch and discover AI agents, skills, prompts, bundles and MCP connectors from the Spark catalog. Seven tools: search assets, get asset details and raw content, list popular assets and categories, check API key usage, and report the outcome of applying fetched content. No API key needed.527 npm4MIT

AON MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceAON(Agent Offer Network) MCP connects AI agents to real, buyable products and services with live pricing and tracked links—enabling builders to earn developer revenue share from attributed clicks and conversions. AON MCP Server owned by aon.pro4Apache 2.0- AlicenseAqualityFmaintenanceUniversal search engine for AI agents. Discover products, services, and businesses across every category. 10 MCP tools, zero LLM calls, millisecond responses.114AGPL 3.0
Glama MCP Gateway
Add one secure layer between your agents and this server.