Odel
ProductClank

ProductClank

@covariance-network11TypeScriptMITUpdated Yesterday

Boost posts and launch community growth campaigns from your AI assistant. OAuth, credit-billed.

Server endpointStreamable HTTPNo authProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

ProductClank MCP Server

Launch community growth campaigns from your AI assistant. ProductClank turns real communities (and their agents) into a distribution network — this MCP server lets Claude, ChatGPT, or any MCP client rally that network on your behalf: boost a post with real replies, likes, and reposts; launch community content campaigns; draft social content into your own pipeline.

  • Remote server: https://mcp.productclank.com/mcp (Streamable HTTP)
  • Auth: OAuth 2.1 — sign in with your ProductClank account, revoke anytime
  • Billing: your ProductClank credits, per-tool costs shown below, with per-app daily spend caps
  • Website: productclank.com/mcp

The same URL works in both Claude and ChatGPT — the only difference is where each app hides its "add a connector" screen (and, for ChatGPT, a plan/Developer-mode requirement). Once connected, both drive the identical tools below.

Connect from Claude

  1. In Claude, go to Settings → Connectors → Add custom connector (Desktop or web).
  2. Paste the URL:
    https://mcp.productclank.com/mcp
    
  3. Approve the OAuth prompt — it signs you into ProductClank (Google or email) and asks for consent.
  4. Ask Claude things like:

    "Boost this post with replies from the ProductClank community: https://x.com/…" "Preview a content campaign for my product." "What's my ProductClank credit balance?"

Connect from ChatGPT

ChatGPT reaches custom MCP connectors through Developer mode.

Requirements — Custom connectors need a paid ChatGPT plan (Pro, Plus, Business, Enterprise, or Education) on the web app. They are not available on the free tier, so free-tier users won't see an "add connector" option — this is a ChatGPT limitation, not a ProductClank one.

  1. In ChatGPT on the web, open Settings → Apps & Connectors → Advanced settings and turn on Developer mode.
  2. Back in Apps & Connectors, click Create / Add custom connector.
  3. Give it a name (e.g. ProductClank), a short description, and the MCP server URL:
    https://mcp.productclank.com/mcp
    
  4. Choose OAuth as the authentication method and connect — it signs you into ProductClank (Google or email) and asks for consent, exactly like Claude.
  5. In a chat, enable the ProductClank connector and ask it to boost a post, preview a campaign, or check your balance.

Works in any MCP client that supports remote servers with OAuth (Claude web/desktop, Claude Code, ChatGPT Developer mode, and others).

Tools

Grow — run growth campaigns for a product

ToolWhat it doesCost
search_productsResolve your ProductClank products to a product_idfree
create_productList a product from just its website URL (token-free listing, auto-filled)free
create_campaignCreate a discovery campaign: continuously find relevant posts + draft community replies10 cr
run_research / get_researchTopic & competitor analysis — the free pre-flight before spendingfree
generate_postsRun discovery: scrape matching posts and draft a reply for each12 cr/post
list_campaigns / get_campaign / get_postsCampaign inventory, config + stats, discovered posts & draftsfree
review_postsAI-score posts against relevancy rules, prune the irrelevant (dry-run billed too)2 cr/post
regenerate_repliesRedraft selected replies with an edit request5 cr/reply
get_campaign_activityWhat's new since the last check — posts found, replies claimed, live links to what went outfree
get_campaign_resultsSpend vs outcomes: the funnel, approval + survival rates, cost per usable replyfree
update_campaignMerge keywords, enable the discovery sources research found, move the relevance bar, pause/resume, re-aim the platform targeting, change who posts the draftsfree
set_campaign_schedulePut discovery on a schedule so it keeps finding conversations between sessions. Shows the projected daily cost and requires an explicit yes before enablingfree to set · 12cr per post found
add_delegateHand a campaign to a human to manage in the web appfree
boost_postRally the community to engage a specific post — 10 AI-drafted replies (200 cr), 30 likes or 10 reposts (300 cr). Auto-detects platform from the URL: X, Instagram, TikTok, LinkedIn, Reddit, Farcaster, YouTube200–300 cr

Earn — participate in campaigns for the connected user

ToolWhat it doesCost
find_opportunitiesBrowse unclaimed reply drafts the user can post to earn (replies only — likes and reposts need a screenshot and stay in the web app)free
submit_participationSubmit the posted reply's URL (X, Reddit, YouTube, LinkedIn) — attributed to the user's linked handle for that platform, then points/credits are awardedearns
find_open_campaignsDiscover content & take-action campaigns the user can join — public ones plus their communities'free
get_campaign_briefRead a campaign's full brief: what to create or do, judging criteria, rewards, deadline, remaining allowancefree
submit_campaign_workSubmit the user's work: a content or action-proof URL, a hosted image/video made for the task (media_url — links only, no uploads), and/or a description. X posts are author-verified. Pending → owner review → Stars/pointsearns
get_my_submissionsTrack submission status + the reviewer's notesfree
get_earningsThe user's participation totals: points, credits, reply statsfree

Content Studio

ToolWhat it doesCost
suggest_content_campaignAI-drafted preview of a community content campaign (title, description, CTA) + affordability check. Nothing is createdfree
create_content_campaignLaunch the content campaign: the community creates posts/threads/videos for your product; submissions and winner selection happen in the web app1,000 cr
list_content_spacesList the content spaces you can draft intofree
get_content_workspaceThe brand's calibration — voice, platforms, post types, playbook, topic inventory, style guides. Read it before draftingfree
setup_content_spaceTurn content on for a brand from an onboarding chat (pair with the setup_content_space prompt): voice, platforms, post types, topics — can create a solo space for the brand. Also updates settings laterfree by fields · 5 cr for a pasted brand doc
manage_content_topicsThe inventory of aspects the brand talks about: list / add / update / remove / suggestfree
write_content_candidatesDraft up to 25 posts into the space, in the calibrated voice. They are auto-scored by the reviewer and wait in the queue for the user's approval; nothing auto-publishesfree
get_content_queueThe queue as the user sees it: each draft with its score, verdict, and the reviewer's one-line fixfree
revise_content_draftApprove (stage), drop (discard), edit, or nudge a draft with a one-click preset — shorter, longer, punchier, deeper, simpler, more_specific, less_salesy, more_casual, more_formal — or a typed note; fix / humanize / reviewstage · discard · edit free; rewrites & review 2 cr
teach_content_voiceTurn a reaction into a standing rule in the brand's voice KB so every future draft honors it1 cr

Credits

ToolWhat it doesCost
check_balanceYour credit balance and planfree
credit_historyYour credit transactions (spend + rewards), newest firstfree

The server also exposes two MCP promptsgrow_product, a ready-made operating procedure for the growth loop, and setup_content_space, the Content Studio onboarding interview (brand → audience → tone → example posts → platforms → post types → topics, then first drafts and the approve / tweak / teach loop) — and a resourceproductclank://capabilities, the tool/cost roster — so agents can plan spend before calling anything.

Costly actions are designed to be confirmed with the user first — tool descriptions instruct the model to preview and state the credit cost before spending.

How auth & billing work

The server is an OAuth 2.1 authorization server backed by the ProductClank web app (/connect/mcp login + consent). Every /mcp request requires a valid access token; tools act as the connected user and bill that user's credit balance. Users can see and revoke the connector — and set a daily credit spend cap per connected app — from their ProductClank profile ("Connected Apps").

Communication contract

Tool results are read by an assistant, not by the person paying the credits, so anything the user must know or decide travels in the payload:

  • user_note — one or two plain sentences for the assistant to relay.
  • decision_offer — a real choice (question + options with what_happens and cost + current + how_to_apply) for the assistant to present, never to answer on the user's behalf.

The main one is distribution: campaigns are created private (drafts wait in the owner's workbench) and the result offers community distribution — the reach the platform exists for — as an explicit, costed choice. Spends get the same treatment: suggest_content_campaign returns the 1000-credit launch as a yes/no, and a review_posts dry run says what it already cost and what the next step actually changes.

Telemetry

The server emits three PostHog events — mcp_connected (OAuth consent completed), mcp_tool_called (every tool, with ok and duration_ms) and mcp_tool_error (failures, with the message) — so the connect → first-call → repeat-use funnel is measurable and refused calls double as roadmap signal. Events are keyed to the user's Supabase auth id where resolvable, so connector activity joins the same PostHog person as their webapp activity. Capture is fire-and-forget and the whole thing no-ops without POSTHOG_API_KEY. See src/lib/analytics.ts; tools are instrumented centrally in src/tools/instrument.ts.

Architecture

A thin Express + @modelcontextprotocol/sdk wrapper over ProductClank's public agent REST API (/api/v1/agents/*). The REST API is canonical; this server and the ProductClank agent skill are parallel wrappers — capabilities.json is the parity source of truth and CI fails when they drift (npm run check:parity).

Claude / MCP client ──▶ mcp.productclank.com/mcp (this server)
                          │  OAuth 2.1 AS ──▶ productclank.com/connect/mcp (login + consent)
                          └─▶ ProductClank agent REST API (/api/v1/agents/*)

Development

cp .env.example .env   # fill in (see DEPLOYMENT.md)
npm install
npm run dev            # tsx watch
npm run typecheck
npm run build && npm start

See DEPLOYMENT.md for production deployment (Docker / Railway) and CAPABILITIES.md for the tool roadmap.

Operations

When a release depends on new app-repo behavior, deploy the app repo first; tools must degrade gracefully against the older API.

Registry

Published to the official MCP Registry as com.productclank/productclank — see server.json.

Links

License

MIT