Skip to main content
Glama
spranab

icantmarket-mcp

by spranab

icantmarket-mcp

npm npm downloads License: MIT

You shipped the thing and now it sits at zero users, because promoting it is a different job than building it. icantmarket is a verified help-exchange where technical founders trade that work with each other — and this server puts it in the tool you already have open, so asking for help doesn't cost you a context switch.

MCP server for icantmarket — a verified help-exchange for technical founders. Browse verified products, browse open asks, post structured asks, submit reviews — all from a Claude Code / Cursor / Claude Desktop / any MCP-aware client.

list_products → get_product → list_asks → get_ask → whoami
                                                         ↓
                                              post_ask · submit_review

Install

Works with any MCP-compliant client. The canonical run command is npx -y icantmarket-mcp over stdio, with ICANTMARKET_API_TOKEN exported in the env if you want the write tools.

Claude Code

claude mcp add icantmarket --env ICANTMARKET_API_TOKEN=ic_xxx \
  -- npx -y icantmarket-mcp

OpenAI Codex CLI

Add to ~/.codex/config.toml:

[mcp_servers.icantmarket]
command = "npx"
args = ["-y", "icantmarket-mcp"]
env = { ICANTMARKET_API_TOKEN = "ic_xxx" }

Cursor / Windsurf / Claude Desktop / Continue.dev / Zed / Cline

Same JSON shape for all of them. Drop into ~/.cursor/mcp.json, claude_desktop_config.json, ~/.continue/config.json, your Zed settings.json under context_servers, or wherever the client expects MCP server definitions:

{
  "mcpServers": {
    "icantmarket": {
      "command": "npx",
      "args": ["-y", "icantmarket-mcp"],
      "env": { "ICANTMARKET_API_TOKEN": "ic_xxx" }
    }
  }
}

MCPier

It's in the official catalog:

pier install icantmarket-mcp

Related MCP server: mcp-mcpmarket

Get a token

Mint at icantmarket.com/me/api-tokens (sign in first). Token shape: ic_<24-byte hex>. Shown exactly once at creation — only the SHA-256 hash is stored server-side.

Reads (list_products, get_product, list_asks, get_ask) work without a token. Writes (whoami, post_ask, submit_review) need one.

Tools

Tool

Auth

What it does

list_products

none

Browse L1+ verified active products. Filter by category. Paginated.

get_product

none

One product by slug + count of open asks.

list_asks

none

Browse open public asks. Filter by status, type, product_slug.

get_ask

none

One public ask by UUID + product summary.

whoami

token

Sanity-check the token + return identity.

post_ask

token

Post a structured ask. Must own the product.

submit_review

token

Submit a substantive review on someone else's ask.

What this is for

When a maker says to their agent:

  • "Post an update ask for my YantrikDB Server v0.8.20 launch." → agent uses list_products to find the slug + UUID, then post_ask.

  • "Find me a launch ask in devtools I could review." → agent uses list_asks?type=launch and surfaces the results.

  • "Review the open ask on saga-mcp." → agent uses list_asks?product_slug=saga-mcp → get_ask → submit_review.

What this is NOT for

  • Not a freelance marketplace — no money changes hands; the exchange is peer review of work, not paid help.

  • Not for non-technical / consumer marketing — the cohort is technical founders shipping devtools, AI/ML, infra, or OSS libraries.

  • Not for bulk outreach / scraping — Review-to-Post + per-token rate limits make automation-as-spam unviable by design.

  • Not for anonymous posting — every ask is tied to a verified maker identity (GitHub repo admin, DNS TXT, or package provenance).

  • Not for post-launch ad placement — asks are pre-/at-launch help requests, not retrospective promo.

Anti-gaming the agent should know about

icantmarket runs the same anti-gaming surface on the API path that the browser path does:

  • Hype-word detector — revolutionary, game-changing, best-in-class, 10x, etc. on post_ask body fields trigger 422. Rewrite, or pass hype_acknowledged: true to override and accept the soft-flag.

  • Review-to-Post gate — second-and-onward asks need one credited Helpful/Completed review on someone else's ask first. post_ask returns 422 with the reason if blocked.

  • Self-review block — submit_review rejects reviewing one's own asks.

  • Content-fingerprint similarity — pasted boilerplate against your own prior reviews surfaces as a soft-flag.

  • Famous-name gate — claims on famous package/repo names (react, numpy, etc.) go through admin pending_review before they're posted to.

  • Per-token rate limits — 30/hr for posts and reviews.

If an agent gets repeatedly 422-blocked, the platform is telling it the submissions aren't substantive. Fix the content, not the path.

Voice constraint

The agent's post_ask and submit_review content should be:

  • factual, concrete, specific

  • no marketing voice (no "revolutionary", no "game-changing", no "10x")

  • offer_back should name something real you can give in return

  • success_criteria should be measurable — what does the helper's input actually let you do?

Configuration

Environment variables:

Variable

Required

Default

Purpose

ICANTMARKET_API_TOKEN

for writes

—

Bearer token from /me/api-tokens

ICANTMARKET_BASE_URL

no

https://icantmarket.com/api/v1

Override for staging / self-host

Source

Other MCP servers and agent infrastructure by the same author:

  • saga-mcp — SQLite-backed project tracker for AI agents.

  • brainstorm-mcp — multi-model debate as an MCP tool.

  • yantrikdb-mcp — persistent cognitive memory for Claude Code, Cursor and Windsurf.

  • mcpier — self-hosted MCP control plane that keeps API keys off your clients.

  • truenas-mcp — 278 TrueNAS SCALE actions behind one hierarchical tool.

License

MIT.

Available Tools

7 tools
get_askA

Fetch one public ask by UUID, with the bundled product summary. Returns 404 / error if the ask is verified-only. Use this after list_asks to inspect an ask in detail before deciding to review it.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAsk UUID

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavior disclosure. It does a reasonable job: 'Fetch' signals read-only, 'public ask' scopes the resource, the 404/error for verified-only asks is a concrete behavioral condition, and 'bundled product summary' tells the agent what the response includes. It does not mention auth, rate limits, or response format, but for this simple read the core behavioral traits are disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler. The core action and distinguishing behavior are front-loaded in the first sentence, and the workflow guidance is compressed into the second. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one simple parameter and a configurable failure mode, the description is nearly complete: it names the resource, the distinguishing response detail, and the verified-only error path. It lacks an explicit statement of return structure (no output schema is provided), but the bundled product summary hint gives the agent enough context to select this tool. Minor gaps around auth and exact error codes keep it short of a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with the 'id' parameter already described as 'Ask UUID' and format uuid. The description confirms the parameter is the UUID ('by UUID') but adds no new meaning beyond the schema. Per the baseline for high schema_description_coverage, a 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with a specific verb-resource pair ('Fetch one public ask by UUID') and adds a distinctive detail ('with the bundled product summary') that separates it from get_product and list_asks. The term 'public ask' and the error condition for verified-only asks further pin down exactly which resource variant this handles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit when-to-use instruction: 'Use this after list_asks to inspect an ask in detail before deciding to review it.' This situates the tool in a workflow and implicitly contrasts it with list_asks (bulk listing) and submit_review (acting on the ask). However, it does not name direct alternatives or state explicit when-not-to-use conditions for edge cases like needing verified-only asks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_productA

Fetch a single verified product by slug. Public. Returns the product details plus the count of currently open asks. Useful to grab a product UUID before posting an ask, or to summarize a product for the user.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesProduct slug, e.g. 'yantrikdb-server'

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosure. It clearly states the operation is read-only ('Fetch'), public, and includes a specific extra behavior: returning the count of currently open asks. This is meaningful behavioral context for a simple getter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no filler: it leads with the core action, then adds the key return detail, then gives practical use cases. Every sentence contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter fetch tool, the description covers what it returns, its public nature, and why an agent would use it. The absence of an output schema is compensated by naming the return contents explicitly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the slug parameter is already documented with an example ('yantrikdb-server'). The description adds no additional parameter-level meaning beyond restating that retrieval is by slug, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Fetch a single verified product by slug.' It also distinguishes this tool from list_products by emphasizing singular product retrieval and by naming the returned data (details + count of open asks).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit use cases: 'Useful to grab a product UUID before posting an ask, or to summarize a product for the user.' This provides clear context for when to call it, though it does not name alternative tools or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_asksA

List open public asks on icantmarket. Public, no auth needed. Use this when the user wants to find a review opportunity that fits their profile, or when they're researching the kind of help requests the community posts. Verified-only asks are not returned (they stay behind the page-level helper-cohort gate).

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNo
limitNo
offsetNo
statusNo
product_slugNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure burden and does so well. It states the endpoint is public and requires no auth, and it explicitly warns that verified-only asks are excluded due to a cohort gate. This goes beyond a simple 'list' and covers key behavioral traits a caller needs to know.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, then provides auth context, usage scenarios, and a caveat. Each sentence adds value, though the 'Public, no auth needed' fragment could be merged with the first sentence slightly to be more compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has five parameters and no output schema, the description does not fully prepare an agent to call it correctly. It omits return format, pagination behavior, and any explanation of filter parameters, so while the core purpose is clear, the overall calling context is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, and the description does not explain any of the five parameters (type, limit, offset, status, product_slug). The word 'open' hints at a default status, but no guidance is given on filtering by type, pagination, or product slug, leaving the agent without parameter-level meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List'), a clear resource ('open public asks'), and a platform ('icantmarket'), making the tool's purpose immediately obvious. It also distinguishes itself from sibling tools like get_ask and post_ask by specifying it lists multiple asks rather than retrieving or creating a single one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides two clear use cases: finding a review opportunity that fits a user's profile, and researching community help requests. It does not explicitly name alternative tools or state when not to use it, but the context is clear enough for an agent to select this tool over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_productsA

List verified products on icantmarket. Public, no auth needed. Use this to find product slugs and UUIDs before posting an ask or to help a user browse the maker cohort. Only L1+ verified active products are returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
categoryNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses 'Public, no auth needed' and 'Only L1+ verified active products are returned', which are useful behavioral traits. However, it does not mention pagination behavior, sorting, or error conditions, so it is adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. The purpose and public/no-auth info are front-loaded, and the filter condition is stated clearly. It is appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, usage, and auth, but omits parameter semantics and the return structure. Without an output schema, it should at least state that the response includes slugs and UUIDs, which it implies but does not explicitly confirm. It is a decent baseline but leaves gaps for a tool with no schema descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description provides no information about the three parameters (limit, offset, category) or their allowed values. The agent must infer meaning from parameter names alone, which is insufficient for correct invocation, especially for the category enum.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource: 'List verified products on icantmarket' and explains its use case (finding slugs/UUIDs before posting an ask). It distinguishes from siblings like get_product (single product) and list_asks (asks) by mentioning the product listing context and the L1+ filter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says when to use this tool ('before posting an ask' or 'to help a user browse the maker cohort'), but does not name alternatives or state when not to use it. The context is clear enough for most cases, so it earns a 4 rather than a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_askA

Post a structured ask on behalf of the authenticated maker. Requires ICANTMARKET_API_TOKEN. The maker must own the target product (use list_products to find product_id), and the product must be at L1+ trust. Second-and-onward asks require a credited Helpful/Completed review (Review-to-Post gate). Hype-words (revolutionary / game-changing / best-in-class / etc.) trigger 422 — rewrite, or retry with hype_acknowledged=true to override and accept the soft-flag. Voice rule: factual, concrete, with a real 'offer_back' and a measurable 'success_criteria'.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes
offer_backYesWhat you'll give in return. The cohort is barter-based.
product_idYesUUID of a product the caller owns at L1+ trust level. Get from list_products.
visibilityNopublic
time_neededYes
artifact_urlYesLink to the thing you want feedback on (repo, doc, landing page).
current_stageYes
i_am_buildingYesOne-line product summary.
closes_in_daysYesDays until the ask auto-closes.
helper_profileYesWho would be a good helper. Be specific.
need_help_withYesSpecific help requested. Be concrete.
success_criteriaYesHow you'll know the help worked.
hype_acknowledgedNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and excels. It discloses authentication requirements, ownership and trust checks, the review gate, error behavior for hype words (422 with override), and voice/style rules. This level of transparency is exceptional for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is information-dense yet efficient, with no filler. It front-loads the core purpose and then packs prerequisites, error conditions, and voice rules into a compact paragraph. Every sentence contributes actionable guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema and no annotations, the description covers authentication, prerequisites, error handling, and content style. It is complete enough for an agent to call the tool correctly, aside from not specifying the return value—a minor gap for a creation action. Overall, it is highly complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 62% with descriptions for most parameters. The description adds context for hype_acknowledged (explaining its role in overriding the soft-flag) and reinforces the importance of offer_back and success_criteria via the voice rule. However, it does not systematically explain all parameters beyond what the schema provides, so it doesn't fully compensate for the 38% coverage gap. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Post a structured ask') and the actor ('on behalf of the authenticated maker'). It is distinct from siblings like list_asks or submit_review, which handle listing or reviews. The specificity of 'structured ask' and the reference to maker ownership distinguish it well.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit prerequisites: ICANTMARKET_API_TOKEN, product ownership verified via list_products, L1+ trust level, and a Review-to-Post gate for second-and-onward asks. It also explains when to use hype_acknowledged to override a 422. This gives clear when-to-use guidance and points to an alternative tool for finding product_id.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_reviewA

Submit a substantive review on someone else's open ask. Requires ICANTMARKET_API_TOKEN. Cannot self-review own asks. Body is scored for hype-words, content-fingerprint similarity against the reviewer's prior reviews, profile-match, sock-puppet clustering, and AI-content detection. Flags don't block; they surface on the admin review queue. The recipient sets the Helpful/Completed verdict later — that's what credits the reviewer's Review-to-Post balance. Use list_asks to find an ask UUID first.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesSubstantive prose. Pasted boilerplate, low-similarity content, and AI-detected text get flagged.
ask_idYesUUID of the ask you're reviewing. Get from list_asks.
hype_acknowledgedNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden and does exceptionally well. It discloses the scoring criteria, that flags do not block submission, that flagged reviews go to the admin queue, and that credit is applied only after the recipient sets the verdict.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence adds needed context: purpose, auth, exclusion, scoring behavior, outcome timing, and how to get the required ID. It front-loads the primary action and has no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a submission tool with no output schema, the description covers prerequisites, constraints, moderation behavior, and the credit flow well. The main remaining gap is the unexplained hype_acknowledged parameter and the lack of any return-value hint, but neither prevents a competent agent from selecting and invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description enriches body semantics by explaining what gets flagged, and it reinforces the ask_id requirement via list_asks. However, schema coverage is 67% and the hype_acknowledged parameter remains undocumented in both the schema and the description, leaving its meaning ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening verb-resource pair, 'Submit a substantive review on someone else's open ask,' is specific and immediately distinguishes this from siblings like post_ask and list_asks. It also states the core constraint that the review must target another user's ask.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit conditions: requires ICANTMARKET_API_TOKEN, cannot self-review own asks, and should be preceded by list_asks to obtain an ask UUID. It does not directly compare against post_ask as an alternative, but the usage context is clear enough to route an agent correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

whoamiA

Confirm the configured ICANTMARKET_API_TOKEN is valid and return the principal user (id, email, handle, isAdmin, helperVerifiedAt). Cheap, no side-effects. Call once on startup to cache the user id.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It explicitly states the operation is 'cheap' and has 'no side-effects,' and it describes what is returned. It does not cover error behavior for an invalid token, but for a simple read-only identity check the disclosure is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler: the primary action and return fields come first, followed by the behavioral caveat and recommended usage. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, no-output-schema tool, the description is complete: it identifies the resource, lists the returned fields, affirms safety, and gives a concrete usage recommendation. Nothing needed to invoke or interpret the call is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters and 100% coverage, so the baseline is 4. There are no parameter semantics to explain, and the description does not need to add anything beyond what the schema already trivially communicates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: it confirms the configured API token and returns the principal user with a specific list of fields. It is clearly distinguished from sibling tools like list_products or post_ask, which operate on marketplace entities rather than identity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit context for when to call it: 'Call once on startup to cache the user id.' It does not name alternatives or exclusions, but given the tool's unique identity-checking role among unrelated siblings, no alternative is genuinely needed.

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.

  1. 7 tool updatesv0.1.0
    • First observedget_ask
    • First observedget_product
    • First observedlist_asks
    • First observedlist_products
    • First observedpost_ask
    • First observedsubmit_review
    • First observedwhoami

TDQS

A4.1/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct resource and action: products versus asks versus user identity, and list versus get versus submit/post. Even list_products and list_asks are clearly separated by domain (product vs ask), with no overlapping purposes.

Naming Consistency4/5

The vast majority follow a consistent verb_noun pattern: list_products, get_product, list_asks, get_ask, submit_review, post_ask. The lone exception is whoami, which is a conventional CLI-style command but does break the strict verb_noun pattern.

Tool Count5/5

Seven tools is well-scoped for the marketplace flow: product browsing, ask browsing, auth verification, review submission, and ask posting. Each tool maps to a clear user need without redundancy or bloat.

Completeness4/5

The core lifecycle—browse products, list/inspect asks, submit a review, post an ask—is fully covered. Minor gaps exist such as no tool to view one's own Review-to-Post balance or manage/delete an ask, but these are not required for the primary workflow.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI agents to interact with the Clawslist marketplace to browse, create, and manage listings using the Model Context Protocol. It provides a comprehensive set of tools for agent registration, messaging, and offer management directly within MCP-compatible clients.
    19
    3 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables discovery and automatic installation of MCP servers via mcpmarket.com integration. Searches repositories, scrapes GitHub READMEs for configuration details, and provides one-click installation to MCP clients.
    -