Zero to Hundred marketplace
Server Details
Search live software, compare listings, and prepare owned drafts. Publishing stays on the website.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 9 tools
Most tools have clearly distinct purposes (draft CRUD vs. source-upload handshake vs. public browsing), and descriptions explicitly cross-reference each other to steer selection. However, z2h_search_marketplace, z2h_show_marketplace, and z2h_compare_marketplace_listings all surface overlapping public listing data, which could cause misselection.
Every tool uses the same z2h_ prefix followed by a consistent snake_case verb_noun pattern (list_my_listings, create_draft_listing, update_draft_listing, request_source_upload). The convention is uniform and predictable throughout.
Nine tools is well within the ideal 3-15 range and each maps to a distinct step in the listing/search/source flow. No redundant or filler tools appear, and the count matches the apparent marketplace scope.
Core lifecycle is covered: search/compare/show public listings, list/get/create/update owned drafts, and a full request+confirm source-upload handshake. A delete-draft operation is absent and publishing/purchasing are explicitly deferred to the web wizard, which are minor but real gaps.
Available Tools
9 toolsz2h_compare_marketplace_listingsCompare Zero to Hundred softwareARead-onlyIdempotentInspect
Refresh 2 to 4 public listing slugs from marketplace search for comparison. Returns current public descriptions, USD license prices, types and tech stacks. Unavailable software is omitted without disclosing its status. This tool cannot purchase software or access private source.
| Name | Required | Description | Default |
|---|---|---|---|
| slugs | Yes | Shortlist from marketplace search, in the desired comparison order. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hasMore | Yes | This response contains the complete refreshed selection. |
| results | Yes | Current live software, in selection order when slugs were supplied. |
| nextCursor | Yes | Selection refreshes do not paginate. Use marketplace search for paging. |
| unavailableSlugs | Yes | Requested slugs unavailable publicly. Their private status is never disclosed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), yet the description adds real behavioral facts: unavailable software is silently omitted with no status disclosure, and the tool cannot purchase software or reach private source. These failure-mode and capability boundaries are not derivable from 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?
Four tight sentences, front-loaded with the core action and scope; nothing is padded. The middle sentence enumerating returned fields is somewhat redundant given an output schema exists, costing a point.
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 annotations covering safety, a 100%-covered single-parameter schema, and an output schema documenting the return shape, the description supplies everything else an agent needs: input provenance, count limits, silent-omission behavior, and capability boundaries.
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% and already documents the 2-4 item bounds and ordering, so the baseline is 3; the description slightly reinforces the count constraint and adds provenance (slugs originate from marketplace search, implying z2h_search_marketplace output), which is mild but genuine added meaning.
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 (Refresh/compare) plus resource (2 to 4 public marketplace listing slugs) with a stated scope limit. It is clearly distinguishable from z2h_get_listing (single listing) and z2h_search_marketplace (discovery) by naming the comparison use case and pointing at slugs produced by search.
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?
States the prerequisite origin of inputs (slugs from marketplace search) and the comparison context, which tells the agent this runs after discovery. It does not, however, explicitly exclude alternatives or say when to use z2h_get_listing or z2h_show_marketplace instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
z2h_confirm_source_uploadConfirm a draft source archive uploadADestructiveInspect
After the signed PUT succeeds, verify and attach the archive to the owned draft. Confirm that the Builder accepted "I own or have the rights to sell the codebase I am about to upload."; pass ownershipAccepted=true and ownershipVersion=2026-09-27. The server records the accepted wording with the source change. Final review and publishing stay in the web wizard.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Owned listing slug from z2h_list_my_listings or z2h_create_draft_listing. | |
| objectKey | Yes | Storage key returned by z2h_request_source_upload. Pass it unchanged. | |
| sizeBytes | Yes | Exact archive size in bytes. Must match the uploaded file. | |
| contentType | Yes | Archive MIME type, used unchanged for PUT and confirmation. | |
| ownershipVersion | Yes | Version of the ownership statement explicitly accepted by the Builder. | |
| ownershipAccepted | Yes | True only after the Builder explicitly accepts the statement in this tool description. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | The archive was verified and attached, or this same archive was already attached. Publishing remains in the web wizard. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false, and openWorldHint=true. The description adds that the server records the accepted ownership wording, but does not explain failure modes, auth requirements, or what exactly is destroyed. Extra context is minimal beyond 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?
The description is front-loaded with the action and prerequisite, then covers the ownership attestation and boundary notes. It is well-structured with no obvious filler, though the quoted ownership statement and version repeat schema constants slightly.
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?
Given six required parameters, an output schema, and annotations covering safety hints, the description supplies the missing flow context (post-PUT confirmation, ownership attestation, publishing elsewhere). It is nearly complete, lacking only edge-case or error-handling detail.
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 all six parameters are well documented in the schema itself. The description repeats the required ownershipAccepted and ownershipVersion values, but adds no syntax or constraint details beyond what the schema provides. Baseline 3 applies when 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 (confirm/attach) and resource (source archive to the owned draft), and it clarifies the exact step in the upload flow. It distinguishes itself from sibling tools like z2h_request_source_upload by describing the post-PUT confirmation action.
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 gives a clear prerequisite: 'After the signed PUT succeeds,' and explicitly excludes final review and publishing ('stay in the web wizard'). No alternative sibling is named, but the flow context is sufficient for correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
z2h_create_draft_listingCreate a Zero to Hundred draft listingADestructiveInspect
Create an invisible draft and return editUrl and publishUrl. Price and source inclusion are Builder decisions. Set sourceCodeIncluded only after confirmation; omitted values default to false. Requires listings:write. Returns the draft identity and web edit/review links. Check z2h_list_my_listings before retrying, because creation is not idempotent. Source delivery, review and publishing continue in the web wizard.
| Name | Required | Description | Default |
|---|---|---|---|
| faqs | No | Supplying FAQs disables the automatic FAQ draft. | |
| type | Yes | Software category that best matches its main use. | |
| title | Yes | Software name shown to Buyers. | |
| demoUrl | No | Public HTTP or HTTPS demo URL. Omit when no demo is available. | |
| domains | No | Industry domain keys from Zero to Hundred taxonomy, such as finance. | |
| imageUrls | No | HTTP or HTTPS screenshot URLs. The first image becomes the thumbnail. | |
| techStack | No | Frameworks and languages used by the software. | |
| askingPrice | No | USD license price confirmed by the Builder. Omit if undecided. | |
| thumbnailUrl | No | HTTP or HTTPS image URL for the marketplace thumbnail. | |
| sourceRepoUrl | No | GitHub repository URL. Connecting and verifying source continues in the web wizard. | |
| videoUploadUrl | No | A YouTube or Loom demo URL. | |
| longDescription | Yes | What the software does, who it helps, and what the Buyer receives. | |
| operatingStatus | Yes | State of the software itself, independent of the listing publication status. | |
| maintenanceLevel | No | Maintenance commitment the Builder offers. | |
| shortDescription | Yes | One-sentence summary for marketplace cards. | |
| documentationLevel | No | Documentation supplied with the software. | |
| sourceCodeIncluded | No | Whether the sale includes source code, as confirmed by the Builder. | |
| associatedListingIds | No | IDs of related listings owned by this Builder, obtained from z2h_list_my_listings. | |
| externalDependencies | No | Third-party services a Buyer must provision. Common values: Supabase, PostgreSQL, MySQL, MongoDB, Redis, Upstash, Firebase, PlanetScale, Neon, Clerk, Auth0, Stripe, PayPal, Plaid, Resend, SendGrid, Postmark, Twilio, OpenAI, Anthropic. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | Listing ID for related-listing references. |
| slug | Yes | Listing identifier used by the other Builder tools. |
| status | Yes | Listing publication state. Only drafts can be edited through MCP. |
| editUrl | Yes | Web wizard URL for editing this listing. |
| createdAt | No | ISO creation timestamp, returned when creating a draft. |
| publishUrl | Yes | Web review step where the Builder finishes publishing. |
| termsAcceptance | No | Present when the Builder needs to accept terms before publishing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-idempotent, non-read-only, destructive and open-world. The description reinforces the important one ('creation is not idempotent') and adds material context the annotations lack: the listings:write permission requirement, that the draft is invisible, and that the flow hands off to the web wizard.
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?
Dense but front-loaded, leading with the action and return artifacts before caveats. Every sentence carries distinct information (permissions, defaults, retry safety, handoff), though the block is packed tightly enough that a reader must parse carefully.
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 an output schema present, return values need not be narrated, and the description still surfaces the auth requirement, non-idempotency, and the web-wizard continuation. The only gap is the unstated relationship to z2h_update_draft_listing for post-creation edits.
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 baseline is 3, but the description adds genuine semantics beyond the schema: askingPrice and source inclusion are Builder decisions, and omitted values default to false. That default-value and ownership guidance is not recoverable from the field descriptions alone.
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?
Opens with a specific verb and resource ('Create an invisible draft') and immediately names the artifacts returned (editUrl, publishUrl). The 'draft' and 'invisible' framing cleanly separates it from sibling z2h_update_draft_listing.
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 real operational guidance: confirm sourceCodeIncluded before setting it, check z2h_list_my_listings before retrying, and finish source delivery/review/publishing in the web wizard. It stops short of explicitly contrasting when to call this vs z2h_update_draft_listing, so not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
z2h_get_listingGet my Zero to Hundred listingARead-onlyIdempotentInspect
Read one owned listing before editing it. Requires listings:read. Use a slug from z2h_list_my_listings. Returns descriptions, pricing, software attributes, source attachment state and web edit links. Missing listings and listings owned by someone else both return not found. This does not download source code.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Owned listing slug from z2h_list_my_listings or z2h_create_draft_listing. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | Listing ID for related-listing references. |
| slug | Yes | Listing identifier used by the other Builder tools. |
| type | Yes | Software category. |
| title | Yes | Software name. |
| status | Yes | Listing publication state. Only drafts can be edited through MCP. |
| demoUrl | Yes | Public demo URL, or null. |
| domains | Yes | Industry domain taxonomy keys. |
| editUrl | Yes | Web wizard URL for editing this listing. |
| createdAt | Yes | ISO creation timestamp. |
| imageUrls | Yes | Listing screenshot URLs. |
| techStack | Yes | Frameworks and languages used. |
| updatedAt | Yes | ISO last-update timestamp. |
| createdVia | Yes | Recorded creation channel. |
| publishUrl | Yes | Web review step where the Builder finishes publishing. |
| sourceKind | Yes | Source attachment method, or null before attachment. |
| testEnvUrl | Yes | Legacy stored demo URL, or null. |
| askingPrice | Yes | USD license price, or null when unset. |
| thumbnailUrl | Yes | Marketplace thumbnail URL, or null. |
| sourceRepoUrl | Yes | Source repository URL, or null. |
| longDescription | Yes | Full software description. |
| operatingStatus | Yes | Operating state of the software, independent of listing publication. |
| maintenanceLevel | Yes | Builder maintenance commitment, or null when unset. |
| shortDescription | Yes | Marketplace card summary. |
| documentationLevel | Yes | Documentation supplied, or null when unset. |
| sourceCodeIncluded | Yes | Whether the Builder included source code. |
| testEnvInstructions | Yes | Legacy stored demo instructions, or null. |
| externalDependencies | Yes | Services the Buyer must provision. Legacy records may contain service names as strings. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description layers on genuinely new behavior: the required 'listings:read' scope, the return contents (descriptions, pricing, software attributes, source attachment state, web edit links), and the error semantics that missing and not-owned listings both surface as not found rather than distinguishing them. That last point is a non-obvious behavioral fact an agent needs to avoid misdiagnosing a 404.
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?
Six short sentences, front-loaded with the core action and purpose, then requirements, parameter provenance, return shape, error behavior and one key exclusion. Every sentence carries distinct information with no repetition.
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 annotations covering the safety profile, an output schema covering the return shape, and a single fully documented parameter, the remaining gaps are auth scope and error semantics, both of which the description supplies. An agent has everything needed to select and call this 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 the schema already documents the slug's source and length bounds, so the schema carries the parameter burden. The description's slug line largely repeats what is in the schema and adds no new format or constraint detail, making the baseline 3 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?
States a specific verb and resource ('Read one owned listing') and scopes it to owned listings, which separates it from the marketplace-reading siblings like z2h_show_marketplace and z2h_search_marketplace. It also explicitly negates a plausible wrong reading ('This does not download source code'), so the agent can tell it apart from the source-upload tools without opening a schema.
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 context ('before editing it') and tells the agent where the required slug comes from ('Use a slug from z2h_list_my_listings'), which is a usage prerequisite rather than just a parameter restatement. It stops short of explicitly naming the sibling to use instead when the goal is marketplace browsing or source download, so it is clear but not fully routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
z2h_list_my_listingsList my Zero to Hundred listingsARead-onlyIdempotentInspect
Find the authenticated Builder's drafts and live listings before creating another draft. Requires listings:read. Returns items with slugs, publication state, USD prices, edit links, and nextCursor. Pass nextCursor to continue paging; null ends the list. An invalid or expired token requires sign-in again.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Listings per page. Defaults to 25; newest first. | |
| cursor | No | Opaque nextCursor from the previous page. Omit for the first page. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | The authenticated Builder's listings, newest first. |
| nextCursor | Yes | Opaque cursor for the next page, or null at the end. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds meaningful context beyond them: the listings:read requirement, pagination continuation via nextCursor, null termination, and the sign-in requirement for invalid or expired tokens.
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?
The information is front-loaded: purpose, auth requirement, return shape, and pagination behavior follow in quick succession. Every clause contributes useful information without padding.
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, simple listing tool with full schema coverage and an output schema, the description is complete enough. It covers purpose, auth, pagination, and token failure handling, leaving no critical gap for calling the tool 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 coverage is 100%, so the schema already documents limit and cursor. The description nevertheless adds meaning beyond the schema by explaining how to continue paging with nextCursor and that null ends the list, which is not stated in the parameter 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 clearly states the verb and resource: finding the authenticated Builder's drafts and live listings. The scope ('my listings') implicitly distinguishes it from marketplace-search and single-listing siblings, but it does not explicitly name alternatives to sharpen the distinction.
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 gives a clear usage context ('before creating another draft') and a prerequisite ('Requires listings:read'). It does not explicitly state when not to use it or name alternative tools, but the context is sufficient for an agent to place it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
z2h_request_source_uploadRequest a draft source archive uploadADestructiveInspect
For an owned draft, get a short-lived signed archive URL. Ask the Builder to explicitly accept this exact statement: "I own or have the rights to sell the codebase I am about to upload." Pass ownershipAccepted=true and ownershipVersion=2026-09-27 only after they accept. PUT up to 100 MB to signedUrl, then call z2h_confirm_source_upload. This does not publish.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Owned listing slug from z2h_list_my_listings or z2h_create_draft_listing. | |
| sizeBytes | Yes | Exact archive size in bytes. Must match the uploaded file. | |
| contentType | Yes | Archive MIME type, used unchanged for PUT and confirmation. | |
| ownershipVersion | Yes | Version of the ownership statement explicitly accepted by the Builder. | |
| ownershipAccepted | Yes | True only after the Builder explicitly accepts the statement in this tool description. |
Output Schema
| Name | Required | Description |
|---|---|---|
| objectKey | Yes | Storage key to pass unchanged to z2h_confirm_source_upload. |
| signedUrl | Yes | Short-lived signed PUT URL. Keep it private and upload the archive before confirmation. |
| contentType | Yes | Content-Type to use for the archive PUT and confirmation. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true, and idempotentHint=false, so the safety profile is covered. The description adds valuable context beyond annotations: the URL is short-lived, the upload limit is 100 MB, explicit ownership acceptance is mandatory, and the operation does not publish. It does not, however, elaborate on what makes the operation destructive.
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?
The description is front-loaded with the core action, followed by clear, sequential instructions. Every sentence earns its place without redundancy, making it easy for an agent to parse and act on.
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?
Given the complexity (5 required params, output schema present), the description covers all essential elements: the purpose, the critical acceptance requirement, the upload size limit, and the next step. It omits return value details, which is appropriate since an 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 description coverage is 100%, so the schema already documents all parameters. The description adds meaning by embedding the exact ownership statement that must be accepted and reinforcing that ownershipAccepted and ownershipVersion should only be set after acceptance. This is a meaningful addition beyond the schema's const and descriptions.
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: 'get a short-lived signed archive URL' for an owned draft. It distinguishes itself from siblings by naming the next step (z2h_confirm_source_upload) and clarifies that it does not publish, so an agent can tell it apart from the confirmation 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?
Clearly indicates when to use it: 'For an owned draft' and outlines the required flow (obtain acceptance, pass ownership flags, PUT, then call z2h_confirm_source_upload). However, it does not explicitly state when not to use it or name alternative tools for obtaining upload URLs, leaving that to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
z2h_search_marketplaceSearch Zero to Hundred marketplaceARead-onlyIdempotentInspect
Find live software by keyword before building from scratch. Public, no sign-in needed. Returns descriptions, USD license prices, tech stacks and listing links. Example: {"search": "invoice", "limit": 5}. Empty search browses recent software. When hasMore is true without nextCursor, narrow the search. Matching is lexical. Errors set isError; retry a rate limit later. Use z2h_compare_marketplace_listings for a shortlist or z2h_show_marketplace for cards. A result does not guarantee suitability or purchase availability.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | License listing mode filter. Omit for all supported modes. | |
| sort | No | Result order. Defaults to relevance for a search, otherwise newest. | |
| type | No | Software categories to include. Omit for all categories. | |
| limit | No | Listings per page. Defaults to 20. | |
| cursor | No | Opaque nextCursor from the previous page. Keep the same filters and sort. | |
| search | No | Buyer need or software keyword. Search is lexical, not semantic. | |
| domains | No | Industry domain keys, such as finance. Omit to search all domains. | |
| operatingStatus | No | Software operating states to include, independent of listing publication status. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hasMore | Yes | More matches exist. If nextCursor is null, narrow the search instead of paging. |
| results | Yes | Live public software matching the filters. |
| nextCursor | Yes | Cursor for the next page, or null if cursor paging is unavailable or finished. |
| searchMode | Yes | Text uses keyword matching, not semantic similarity. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, openWorld), yet the description adds substantial context beyond them: no sign-in required, lexical (not semantic) matching, the returned field set, the hasMore/nextCursor pagination quirk, error signaling via isError with rate-limit retry advice, and that a hit does not guarantee suitability or purchase availability.
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, then constraints, then routing are front-loaded, and nearly every sentence carries distinct operational information. It is denser than the ideal two-sentence shape, with several short edge-case sentences that could be tightened, but there is no filler.
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 an 8-parameter, zero-required search tool with an output schema already present, the description supplies everything an agent still needs: interaction model (lexical search, empty search), pagination behavior, error/retry handling, sibling routing, and a suitability caveat. Return-shape detail is correctly delegated to the output 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?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: a concrete invocation example ({"search": "invoice", "limit": 5}), the fact that omitting search browses recent software, and reinforcement that matching is lexical. It does not explain the less obvious filters (mode, operatingStatus, domains) beyond the schema text, so it stops short of 5.
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 ('Find live software by keyword') plus the outcome the caller wants ('before building from scratch'). It also names the two sibling tools and the conditions that select them, so an agent can distinguish it without opening any other schema.
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?
Explicit routing to alternatives ('Use z2h_compare_marketplace_listings for a shortlist or z2h_show_marketplace for cards'), plus edge-case guidance: empty search browses recent software, and when hasMore is true without nextCursor the search should be narrowed. When-to-use and when-to-switch are both covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
z2h_show_marketplaceShow Zero to Hundred marketplaceARead-onlyIdempotentInspect
Show public software cards and an interactive comparison panel. First search with z2h_search_marketplace, then pass the public slugs to display, and the search text you used as search so the panel shows what the cards are for. Without slugs, shows the newest live software. Prices and availability are refreshed on the server. Listing links open the Zero to Hundred website.
| Name | Required | Description | Default |
|---|---|---|---|
| slugs | No | Search-result slugs to show. Omit to display the newest live software. | |
| search | No | Search text displayed in the panel. It does not filter these cards; supply search-result slugs too. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hasMore | Yes | This response contains the complete refreshed selection. |
| results | Yes | Current live software, in selection order when slugs were supplied. |
| nextCursor | Yes | Selection refreshes do not paginate. Use marketplace search for paging. |
| unavailableSlugs | Yes | Requested slugs unavailable publicly. Their private status is never disclosed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this as a safe read operation. The description adds useful context beyond annotations: prices/availability are refreshed server-side, and listing links open an external website. It doesn't cover rate limits or pagination, but the added behavioral context is solid.
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 sentences, each earning its place: purpose, workflow, fallback, and a behavioral note about refresh and external links. The workflow instruction is front-loaded.
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?
An output schema exists, so return value shape need not be explained. The description covers purpose, workflow, fallback behavior, and external link behavior – complete enough for an agent to invoke 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%, so the schema already documents both parameters well. The description reinforces the slug/search relationship and the search text's non-filtering role, which is helpful but mostly redundant with 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 action (show public software cards and an interactive comparison panel) on a clear resource. It is distinguishable from siblings like z2h_search_marketplace by framing itself as the display step, but it doesn't fully differentiate from z2h_compare_marketplace_listings.
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?
Explicitly prescribes the workflow: first search with z2h_search_marketplace, then pass the public slugs and search text. It also defines the fallback behavior (without slugs, shows newest live software), leaving little to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
z2h_update_draft_listingUpdate my Zero to Hundred draftADestructiveInspect
Update an owned draft. Omitted fields stay unchanged; nullable fields accept null to clear them. Live listings cannot be edited through this tool. Requires listings:write. Returns the draft identity and web edit/review links. On conflict, read the listing again before retrying.
| Name | Required | Description | Default |
|---|---|---|---|
| faqs | No | Supplying FAQs disables the automatic FAQ draft. | |
| mode | No | Non-exclusive license listing mode. Omit to keep it unchanged. | |
| slug | Yes | Listing slug returned by z2h_list_my_listings or z2h_create_draft_listing. | |
| type | No | Software category that best matches its main use. | |
| title | No | Software name shown to Buyers. | |
| demoUrl | No | Public HTTP or HTTPS demo URL. Null clears it; omission keeps it. | |
| domains | No | Industry domain keys from Zero to Hundred taxonomy, such as finance. | |
| imageUrls | No | HTTP or HTTPS screenshot URLs. The first image becomes the thumbnail. | |
| techStack | No | Frameworks and languages used by the software. | |
| askingPrice | No | Builder-confirmed USD license price. Null clears it; omission keeps it. | |
| thumbnailUrl | No | HTTP or HTTPS thumbnail URL. Null clears it; omission keeps it. | |
| sourceRepoUrl | No | GitHub repository URL. Null clears it; omission keeps it. | |
| videoUploadUrl | No | YouTube or Loom demo URL. Null clears it; omission keeps it. | |
| longDescription | No | What the software does, who it helps, and what the Buyer receives. | |
| operatingStatus | No | State of the software itself, independent of the listing publication status. | |
| maintenanceLevel | No | Maintenance commitment the Builder offers. | |
| shortDescription | No | One-sentence summary for marketplace cards. | |
| documentationLevel | No | Documentation supplied with the software. | |
| sourceCodeIncluded | No | Whether the sale includes source code, as confirmed by the Builder. | |
| associatedListingIds | No | IDs of related listings owned by this Builder, obtained from z2h_list_my_listings. | |
| externalDependencies | No | Third-party services a Buyer must provision. Common values: Supabase, PostgreSQL, MySQL, MongoDB, Redis, Upstash, Firebase, PlanetScale, Neon, Clerk, Auth0, Stripe, PayPal, Plaid, Resend, SendGrid, Postmark, Twilio, OpenAI, Anthropic. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | Listing ID for related-listing references. |
| slug | Yes | Listing identifier used by the other Builder tools. |
| status | Yes | Listing publication state. Only drafts can be edited through MCP. |
| editUrl | Yes | Web wizard URL for editing this listing. |
| createdAt | No | ISO creation timestamp, returned when creating a draft. |
| publishUrl | Yes | Web review step where the Builder finishes publishing. |
| termsAcceptance | No | Present when the Builder needs to accept terms before publishing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructive=true, idempotent=false and readOnly=false, and the description adds non-redundant behavior: merge/PATCH semantics ('Omitted fields stay unchanged'), null-clearing semantics, an authorization requirement, the returned identity/edit links, and optimistic-concurrency handling on conflict. That is substantive disclosure beyond the structured fields.
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 short sentences, zero filler, and the most decision-relevant facts (draft-only scope, merge semantics) are front-loaded before the operational details. Every sentence carries distinct information.
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?
An output schema exists, so return values need not be spelled out, and the description still summarizes them. For a 21-parameter mutation tool the description covers scope, patch semantics, auth, error recovery, and the returned handle; per-field detail is fully carried by 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?
Schema description coverage is 100% and each nullable field already documents 'Null clears it; omission keeps it,' so the description's global restatement of that rule is largely duplicative. It adds a useful invariant (omission = no change) but names no fields and adds no syntax or cross-field guidance for the 21 parameters.
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 with scope: 'Update an owned draft,' plus the key constraint that 'Live listings cannot be edited through this tool.' That scoping cleanly separates it from read tools and from creation, though no sibling tool (e.g. z2h_create_draft_listing or a live-listing edit path) is named 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?
It gives real when/when-not guidance: drafts only, live listings excluded, and a retry protocol ('On conflict, read the listing again before retrying'), plus the required scope 'listings:write'. It stops short of naming the alternative tool an agent should reach for when the target is a live listing or when it needs to re-read.
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.
9 tool updates
- First observed
z2h_compare_marketplace_listings - First observed
z2h_confirm_source_upload - First observed
z2h_create_draft_listing - First observed
z2h_get_listing - First observed
z2h_list_my_listings - First observed
z2h_request_source_upload - First observed
z2h_search_marketplace - First observed
z2h_show_marketplace - First observed
z2h_update_draft_listing
Related MCP Connectors
Search the Crela software marketplace and publish, update and review your software from your agent.
Search 5000+ software tools with structured, labelled facts. No pay-to-rank.
Read-only ranked lists, product facts, alternatives and comparisons for software, apps and books.
- SaaS RFPOAuthcom.saasrfp
Post software RFPs, read vendor feature lists, and bid on public SaaS replacement requests.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI assistants to search and retrieve verified software comparisons, including current pricing with source and date, and ranked alternatives for software switching decisions.33 npm1MIT

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 gradedqualityBmaintenanceEnables coding agents to preflight MCP server submissions against store rejection causes, publish where automation is allowed, prepare form-based store submissions, and detect listing drift.262 npm2MIT
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients and coding agents to search a local-first catalogue of existing software, packages, MCP servers, patterns, and UI components, inspect source evidence, prepare adoption briefs, and optionally edit or export React trials in a shared workbench.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.