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) — see Endpoints for the creator-campaign endpoint - 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.
Endpoints
The server mounts the same MCP implementation at two URLs, each serving a
different tool profile (src/tools/index.ts):
The creator profile is the connector as a creator-campaign product: a brand
commissions creators, and creators are paid for original content they publish
from their own accounts. boost_post is the one tool that does not fit — it
sells likes and repost, which are engagement signals, and accepts Instagram
post URLs — and Meta's Spam community standard bars paying for engagement. So
it is excluded from /creator pending Meta approval, after which it can be
added back.
The split is by URL rather than by OAuth client on purpose: tools/list is
deliberately unauthenticated (so directory health checks can introspect), which
means a reviewer can list tools before any client identity exists. Prompts and
the productclank://capabilities resource are filtered the same way, so nothing
the creator endpoint serves mentions boosts, likes or reposts.
Both endpoints share one OAuth authorization server, one set of tokens, one
session sweeper and the same JSON-only-client handling; each is its own RFC 9728
protected resource (/.well-known/oauth-protected-resource/mcp and
…/creator).
Connect from Claude
- In Claude, go to Settings → Connectors → Add custom connector (Desktop or web).
- Paste the URL:
https://mcp.productclank.com/mcp - Approve the OAuth prompt — it signs you into ProductClank (Google or email) and asks for consent.
- 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?"
Getting new tools: Claude loads the tool list when a conversation starts.
After we ship a new tool or option, start a new conversation to see it. In
Claude Code, run /mcp and reconnect ProductClank (or start a new session).
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.
- In ChatGPT on the web, open Settings → Apps & Connectors → Advanced settings and turn on Developer mode.
- Back in Apps & Connectors, click Create / Add custom connector.
- Give it a name (e.g.
ProductClank), a short description, and the MCP server URL:https://mcp.productclank.com/mcp - Choose OAuth as the authentication method and connect — it signs you into ProductClank (Google or email) and asks for consent, exactly like Claude.
- 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
Earn — participate in campaigns for the connected user
Content Studio
Credits
The server also exposes two MCP prompts — grow_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 resource —
productclank://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+optionswithwhat_happensandcost+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 (profile: full)
Meta Muse directory ──▶ mcp.productclank.com/creator (profile: creator, no boost_post)
│ 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
- What is ProductClank? · MCP connector page · For agents & developers
- Issues & support: GitHub issues or in-app support