submitby.ai
Server Details
A software directory your agent submits to. Search, submit, verify, and manage listings through MCP.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 12 tools
Most tools target a distinct resource+action (public listing vs private submission vs taxonomy vs badge). The main overlap is get_taxonomy ('read valid category and tag IDs') versus list_categories and list_tags, which largely cover the same data, so an agent might pick either for taxonomy lookup.
Every tool follows a consistent snake_case verb_noun pattern (get_badge, list_projects, submit_project, update_submission, verify_submission, recover_submission, purchase_badge_waiver). No camelCase or stylistic mixing, so the convention is fully predictable.
12 tools is well within the ideal 3-15 range for a submission/listing platform. Each tool (submit, get, update, verify, recover, badge, waiver, browse, taxonomy) maps to a concrete workflow step, so none feel redundant or padded.
The surface covers create (submit_project), read (get_submission/get_project/list_projects), update (update_submission), verification, token recovery, and monetization (badge waiver). The notable gap is a delete/withdraw operation to remove or unpublish a submission, but core lifecycle is otherwise covered.
Available Tools
12 toolsget_badgeARead-onlyInspect
Get the public badge snippet for any submission. No control token required. Installing it on the submitted website proves control.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and a closed world, so the safety profile is covered structurally. The description adds genuinely non-derivable behavioral context: no control token is required for this call, and the returned snippet is meant to be installed on the target site as proof of control. It stops short of describing rate limits or the exact snippet format.
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 short sentences with no filler; the core action is front-loaded and the auth exemption and intended use each add distinct information. Every sentence earns its place.
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 simple read-only one-parameter tool with annotations covering safety and no output schema, the description covers action, auth exemption, and purpose adequately. The only gap is the unspecified return shape/pagination, which is minor here.
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 0% for the single 'id' parameter, so the description must carry the load. "For any submission" does implicitly identify the id as a submission identifier, which partially compensates, and the schema supplies the UUID format and pattern. But it never names the parameter or confirms whether the id is a submission, project, or badge id.
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: retrieve the public badge snippet for a submission. It is distinguishable from siblings like purchase_badge_waiver and verify_submission, but it never explicitly contrasts itself with them, so it stays at a clear-but-undifferentiated 4.
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?
"For any submission" plus "Installing it on the submitted website proves control" implies when this tool is useful (proving site ownership/control), which is real contextual guidance. However, it never states when not to use it or points to an alternative such as verify_submission, so usage remains implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectARead-onlyInspect
Read one published listing by slug or listing ID: description, FAQ, pricing, platforms, links, screenshots, verified store and GitHub data, and passed agent-readiness checks.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already establishes this as a safe read, so the description's main added value is the 'published' qualifier, which hints that non-published listings are not retrievable. It does not describe error behavior for unknown slugs or any rate/pagination limits, so it stays at baseline against the annotations.
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 with no filler, wasting nothing. The tail is a long enumerated list of returned fields, which is informative but slightly list-heavy for one sentence.
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 enumeration of returned data (FAQ, pricing, platforms, screenshots, verified store/GitHub data, agent-readiness checks) usefully compensates. The only real gap is the slug-vs-listing-ID mismatch and no guidance on missing/invalid slugs for a single-required-param 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?
Schema description coverage is 0%, so the description must carry parameter meaning; it does indicate the slug identifies a published listing, which is helpful. But it claims lookup 'by slug or listing ID' while the schema accepts only a single 'slug' string, creating ambiguity about what value to pass.
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 ('Read') and a precise, singular resource ('one published listing'), and enumerates the payload (description, FAQ, pricing, platforms, verified store/GitHub data). It clearly distinguishes itself from the plural sibling list_projects and from get_submission/get_badge.
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 singular 'one published listing' implies this is the detail-fetch counterpart to list_projects, which is useful implicit routing. However, there is no explicit when-to-use/when-not statement, no mention of what happens for unpublished or unknown slugs, and no direct naming of an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_submissionCRead-onlyInspect
Read private status, listing completeness, suggested faq_questions, the private agent-readiness report, and exact next actions.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| control_token | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint=true annotation already covers the safety profile, so the description's main added value is that the data is 'private' and includes an 'agent-readiness report' and 'exact next actions' — useful context about scope. However, it does not disclose that a control_token is required for accessing private data, nor anything about authorization failure behavior. It adds some context but leaves the access-control story untold.
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 sentence, front-loaded with the verb 'Read', with no filler. It is somewhat list-heavy, but every item names a distinct retrievable artifact and 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 read-only tool with no output schema, listing the returned artifacts is genuinely helpful so an agent knows what to expect. But the control_token authorization mechanism is undocumented and there is no guidance on how this relates to sibling submission tools, leaving the definition only partially 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 description coverage is 0% and there are 2 parameters, so the description carries the full burden — but it explains neither 'id' nor 'control_token'. The single word 'private' is the only gesture toward the token parameter, and its format/role (a 64-hex control token gating private access) is left entirely undocumented. This is a significant gap for a zero-coverage 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?
The description enumerates what is retrieved (private status, listing completeness, faq_questions, agent-readiness report, next actions), which conveys purpose through outputs rather than a clear verb+resource statement. It never names the resource it reads ('submission') and gives no differentiation from siblings like get_project, verify_submission, or update_submission. The intent is inferable but only vaguely scoped.
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 tool versus the sibling list tools (list_projects, list_categories) or the submission-related siblings (verify_submission, update_submission, recover_submission). The word 'private' hints that a token may be needed but no condition or prerequisite is stated. Usage must be entirely inferred from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_taxonomyBRead-onlyInspect
Read valid category and tag IDs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already communicates that this is a safe read operation. The description adds that it reads 'valid' IDs, hinting at filtering or validation, but doesn't explain what 'valid' means or what the return format is. With annotation coverage, a 3 is appropriate—it adds some context but no operational details like output shape or caching.
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, efficient sentence that front-loads the purpose. No unnecessary 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 zero-parameter read-only tool, the description is minimally adequate but lacks context about what the output looks like, how it relates to sibling list tools, or any usage conditions. The absence of an output schema means the description could help by describing return values, but it does not.
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?
Parameter count is 0, so the baseline is 4. The description correctly indicates no input parameters are needed. No additional parameter semantics to provide.
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 uses a clear verb ('Read') and names the resource ('valid category and tag IDs'). It does not differentiate from siblings like list_categories or list_tags, leaving ambiguous whether it returns the same data. In fact it suggests taxonomy is distinct from those list operations, but does not clarify the relationship.
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?
No guidance on when to use this tool versus alternatives. With siblings list_categories and list_tags, an agent might reasonably call those instead. The description does not state when this tool is appropriate or how it differs from those siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesBRead-onlyInspect
List every valid category ID, name, and alias. Choose one primary category.
| 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, so the safety profile is covered. The description adds that the payload contains category IDs, names, and aliases, which is genuinely useful return-shape context, but says nothing about ordering, pagination, or whether the list is static.
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 with no filler and the payload description front-loaded. The trailing "Choose one primary category" is the weakest sentence because it describes a consumer's decision rather than this tool's behavior.
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 enumerates the returned fields for a zero-parameter list tool, which is most of what an agent needs. Only secondary details like list size, stability, or deduplication are 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?
There are zero parameters and schema coverage is 100%, so there is nothing for the description to disambiguate. Baseline 4 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?
The description uses a specific verb ("List") plus resource ("categories") and even names the return fields (ID, name, alias), so the agent knows exactly what it gets back. It does not need to differentiate from siblings, since no other sibling retrieves categories, but it also never states why this list exists relative to them.
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 only guidance is "Choose one primary category," which describes downstream intent rather than when to call this tool or what alternatives exist. There is no stated precondition (e.g., call before submit_project to obtain a valid category_id).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsBRead-onlyInspect
Browse published projects only. Use page to read more results.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | ||
| page | No | ||
| query | No | ||
| category | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description is consistent with that. It adds the useful filtering behavior (published projects only) and pagination semantics, but says nothing about result limits, ordering, or auth requirements.
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, no filler, with the scope constraint front-loaded. Efficient, though the brevity is partly the cause of the gaps elsewhere.
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, no annotation beyond readOnlyHint, and three of four parameters undocumented, an agent lacks the information needed to filter results meaningfully. The description is under-specified for a four-parameter list 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?
Schema description coverage is 0% across 4 parameters, so the description must carry the load. It explains only 'page'; tag, query, and category are left entirely undocumented, giving the agent no way to know what filtering semantics they support.
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 ('Browse ... projects') and adds a scoping constraint ('published ... only'), which an agent can act on. It does not, however, differentiate itself from siblings like get_project or the other list_* tools, so it stops short of a 5.
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 pagination hint ('Use page to read more results') is actionable usage instruction, but there is no statement of when to choose this tool over get_project or when not to use it. Usage is only implied by the 'published only' scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tagsCRead-onlyInspect
List all valid tag IDs, names, and aliases. Submit suggestions as comma-separated values.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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. Beyond that, the second sentence ("Submit suggestions as comma-separated values") suggests an input mechanism that cannot exist, since the tool takes zero parameters, which is confusing rather than clarifying. Return content is briefly noted, but no behavioral traits are added.
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 with the listing behavior front-loaded. The second sentence is terse but does not clearly earn its place given the tool has no inputs.
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 parameterless read tool with no output schema, stating the returned fields (IDs, names, aliases) is helpful. However, the dangling suggestion-submission sentence leaves an unresolved question about whether this tool accepts input, which an agent cannot answer from the schema.
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?
With zero parameters the baseline is 4, but the description references submitting comma-separated suggestion values, implying an input channel that the empty schema does not support. That ambiguity pulls the score down despite there being no parameters to document.
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 all valid tag IDs, names, and aliases") and even names the return fields, so an agent knows what it retrieves. It does not explicitly distinguish itself from siblings like list_categories or get_taxonomy, so it falls short of a 5.
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 statement of when to use this tool versus list_categories/get_taxonomy, nor any prerequisites. The trailing sentence about submitting suggestions is not usage guidance for this tool at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purchase_badge_waiverAInspect
Anyone may pay the $4.99 badge waiver for an eligible submission after website and content verification. No submission control token is needed. Use checkout for a hosted Managed Checkout link. Use mpp with an authorized MPP payment client for a direct payment sold by submitby.ai, outside Managed Payments. When MPP is disabled, Managed Checkout remains available. Never ask for card details in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| method | No | checkout |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add real behavioral context: no submission control token required, eligibility gating, MPP/Managed Checkout routing and fallback, and a security rule ('never ask for card details in chat'). It still omits idempotency, refunds, and what an error/success state looks like.
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?
Five tight sentences, action and price front-loaded, followed by method selection, fallback, and the chat-safety rule. Every sentence carries information; density of payment jargon is the only minor cost.
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 payment tool with no annotations and no output schema, the description covers price, eligibility, routing, fallback, and security posture. The remaining gaps (id semantics, return behavior after payment) are limited, and return values are not required since no output schema exists.
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 0%, so the description must compensate, and it does substantially for `method` by explaining exactly when to pick checkout vs mpp beyond the bare enum values. The `id` parameter is only implicitly covered ('an eligible submission'), never explicitly stated to be the submission UUID, so it is not fully compensated.
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 with scope: 'pay the $4.99 badge waiver for an eligible submission after website and content verification.' That is far more specific than the read/list siblings, though it never names a sibling to route the agent explicitly, so it stops short of a 5.
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 conditions for the two payment paths ('use checkout for a hosted link', 'use mpp with an authorized MPP client') and states the fallback when MPP is disabled. It also sets a prerequisite (after website and content verification). What is missing is any when-not-to-use guidance against a sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recover_submissionAInspect
Recover a lost control token by proving website control. First omit recovery_id, save the new token, and install the returned file. Then call again with recovery_id. Never share tokens publicly.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| recovery_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that a new token is generated, that a file must be installed, the multi-call sequence, and a security warning about token sharing. It omits auth/permission requirements and failure behavior, keeping it short of a 5.
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, front-loaded with the goal followed by the procedure and a safety note. Every sentence earns its place; only the trailing warning is arguably marginal.
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 two-step recovery flow with no output schema, the description covers the sequence and the returned-file handling adequately. The main gap is the undocumented required 'id' parameter, which an agent would have to infer from the schema alone.
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 0%, so the description must compensate. It clearly explains recovery_id semantics (omit on the first call, provide on the second), but the required 'id' parameter is never mentioned, leaving half the parameters undocumented in both schema and description.
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 goal ('Recover a lost control token by proving website control'), which distinguishes it from read-oriented siblings like get_submission or verify_submission. There is a mild mismatch between the name (recover_submission) and the described resource (a control token), but the description clarifies what is actually recovered.
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 an explicit two-step protocol: first call without recovery_id, install the returned file, then call again with recovery_id. This tells the agent exactly how and in what order to invoke it. It does not, however, contrast against alternatives such as verify_submission or update_submission.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_projectAInspect
Create a private project draft. No signup. Save the returned control token securely. Reuse the same random idempotency key for retries. Optional listing fields (tagline, long_description, audience, not_for, screenshots, video_url, pricing, platforms, links, mcp_url, openapi_url, app_store_url, play_store_url, alternatives, faq) raise listing completeness; write them in your own words from facts on the website.
| Name | Required | Description | Default |
|---|---|---|---|
| faq | No | Answer the faq_questions from get_submission, or your own. Answers must match the website. | |
| url | Yes | ||
| name | Yes | ||
| tags | No | ||
| links | No | Official profiles and pages of the project. | |
| route | No | badge | |
| mcp_url | No | Remote MCP endpoint. We check that it answers initialize. | |
| not_for | No | Who should choose something else. | |
| pricing | No | ||
| tagline | No | One line, in your own words. Shown on cards. | |
| audience | No | Who the project is for. | |
| category | No | ||
| icon_url | No | Optional public HTTPS icon URL. Omit or set null to discover the first Apple touch icon, then the favicon. | |
| platforms | No | ||
| video_url | No | Public demo video page. | |
| description | No | ||
| openapi_url | No | ||
| screenshots | No | Up to 8 screenshots. We copy them; hosted images must stay public until verification finishes. | |
| alternatives | No | Websites of similar products. | |
| app_store_url | No | ||
| play_store_url | No | ||
| idempotency_key | Yes | ||
| long_description | No | Plain text, 200-800 words. Separate paragraphs with a blank line. Explain what it does, how it works, and how it differs. Do not copy website text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses that a control token is returned and must be saved securely, explains idempotency key reuse for retries, and notes that optional fields raise listing completeness. It also implies the draft is private. These are critical behavioral traits for a submission tool.
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?
Extremely concise: five short sentences. The most critical instruction (save the token securely) is front-loaded after the purpose. Every sentence earns its place by conveying essential operational details without fluff.
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 23-parameter creation tool with no output schema and no annotations, the description covers the essential workflow (create draft, save token, retry with idempotency key) and hints at optional field usage. It doesn't fully detail return values or all parameter semantics, but the schema covers most. It's largely complete for an agent to proceed, though a note on what the response contains beyond the token would help.
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 48%, so the description compensates by listing many optional fields (tagline, long_description, audience, etc.) and giving high-level guidance to write them in your own words from the website. However, it doesn't explain required fields (url, name, idempotency_key) or provide syntax for nested objects like links, screenshots, faq. Baseline 3 is appropriate given partial schema coverage and some added value.
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?
Clearly states the specific action and resource: 'Create a private project draft.' The 'private draft' scoping and 'No signup' distinguish it somewhat from siblings like update_submission or verify_submission, though it doesn't explicitly name them. A solid, clear verb+resource statement.
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?
Provides crucial context: 'No signup' lowers the barrier, and the token advice, idempotency retry guidance, and parameter advice imply when and how to use it. It doesn't explicitly say when to use this vs update_submission or what happens after creation, but the draft-oriented guidance is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_submissionAInspect
Update the name, description, or any listing field. Send null to remove a field. Changes run the automatic checks again; the listing stays in review until they pass.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| faq | No | ||
| name | No | ||
| tags | No | ||
| links | No | ||
| route | No | badge | |
| mcp_url | No | ||
| not_for | No | ||
| pricing | No | ||
| tagline | No | ||
| audience | No | ||
| category | No | ||
| icon_url | No | Optional public HTTPS icon URL. Omit or set null to discover the first Apple touch icon, then the favicon. | |
| platforms | No | ||
| video_url | No | ||
| description | No | ||
| openapi_url | No | ||
| screenshots | No | ||
| alternatives | No | ||
| app_store_url | No | ||
| control_token | No | ||
| play_store_url | No | ||
| long_description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose real side effects: null removes fields, edits re-trigger automatic checks, and the listing is held in review until those pass. It omits the authentication requirement (the control_token parameter is never explained) and any error or revert behavior, but the state transition is genuinely informative.
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 with no filler, front-loaded with the action and scope before the null convention and the review consequence. Every sentence earns its place.
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?
No output schema and no annotations, so the description is the only source of behavior; it covers the review/check flow but omits auth (control_token), field-level constraints, and what a successful call returns or how the caller learns the checks passed. Adequate for the mutation itself, thin for a 23-parameter 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?
Schema description coverage is only 4% across 23 parameters, so the description must compensate. It does explain the null-to-remove convention that governs most anyOf/null fields, which is valuable, but leaves control_token, route, pricing, and platform semantics entirely to an undocumented 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?
Specific verb (update) plus resource (submission/listing) and an explicit scope: 'the name, description, or any listing field.' An agent can immediately distinguish this from sibling read tools (get_submission, list_projects) and from submit_project, which creates rather than mutates.
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 supplies a key usage convention ('Send null to remove a field') but never says when to prefer this tool over submit_project or verify_submission, nor what precondition (e.g., an existing submission ID, ownership) is required. Usage is implied rather than framed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_submissionBInspect
Request website and badge verification. Call after installing the returned snippet or file.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| control_token | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully implies a two-step workflow (install the snippet/file first, then request verification), which is genuine behavioral context. It still omits side effects, whether verification is async/polled, idempotency, and failure 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?
Two short sentences, no filler, and the primary action is front-loaded ahead of the sequencing hint. It is sized appropriately, though the second sentence does all the added-value work.
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 annotations, no output schema, and 0% parameter coverage, the description should do more. It never says what verification returns, whether it is synchronous, what the control_token is for, or what happens on failure — significant gaps for a state-triggering 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?
Schema description coverage is 0%: the schema documents only types and patterns for 'id' (uuid) and 'control_token' (64-hex), with no prose. The description explains neither parameter, leaving the purpose of control_token and the meaning of id entirely unstated, so it fails to compensate for the coverage gap.
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+resource pair ('Request website and badge verification'), which is clearly distinct from read siblings like get_submission or get_badge. It does not explicitly name an alternative, but the action 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?
'Call after installing the returned snippet or file' gives a real prerequisite ordering that the agent needs. However, there is no guidance on when NOT to use it, no mention of alternatives (e.g. recover_submission, update_submission), and no note on how a repeated call behaves.
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.
12 tool updates
- First observed
get_badge - First observed
get_project - First observed
get_submission - First observed
get_taxonomy - First observed
list_categories - First observed
list_projects - First observed
list_tags - First observed
purchase_badge_waiver - First observed
recover_submission - First observed
submit_project - First observed
update_submission - First observed
verify_submission
Related MCP Connectors
AI-agent-first offers directory: search and publish listings via MCP.
Find licensed real estate agents, search MLS, route leads. Remote MCP for SC + GA brokerages.
Search MCP servers, MCP clients and AI agents, and retrieve listing details. Free, read-only access.
RealEstateAPI MCP — property search, detail, and skip-trace (realestateapi.com)
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients to manage business locations, citations, reviews, posts, and local analytics across dozens of directories, maps, and search engines.MIT
- AlicenseNot gradedqualityCmaintenanceThe agent-ready software registry and web-intelligence API. Search, research, discovery, and agent compatibility through one API, MCP server, or CLI.17 npmMIT
- AlicenseAqualityCmaintenanceMCP server giving agents canonical access to 180M+ US parcels with ownership, valuation, permits, deeds, hazard, and market data.833 npmApache 2.0

Immopix MCP connectorofficial
AlicenseNot gradedqualityCmaintenanceEnables users to manage real-estate listing properties and photos from MCP-capable assistants, including listing and searching properties, starting photo enhancements, checking credit balances, and obtaining browser upload links.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.