icantmarket-mcp

August 18, 2026 · View on GitHub

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

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

ToolAuthWhat it does
list_productsnoneBrowse L1+ verified active products. Filter by category. Paginated.
get_productnoneOne product by slug + count of open asks.
list_asksnoneBrowse open public asks. Filter by status, type, product_slug.
get_asknoneOne public ask by UUID + product summary.
whoamitokenSanity-check the token + return identity.
post_asktokenPost a structured ask. Must own the product.
submit_reviewtokenSubmit 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-mcpget_asksubmit_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 detectorrevolutionary, 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 blocksubmit_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:

VariableRequiredDefaultPurpose
ICANTMARKET_API_TOKENfor writesBearer token from /me/api-tokens
ICANTMARKET_BASE_URLnohttps://icantmarket.com/api/v1Override 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.