# ProductClank - Registry name: `com.productclank/productclank` · version 0.3.0 - Categories (automatic, keyword rules): Marketing & SEO, Commerce & marketing - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): prompts, resources, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=com.productclank%2Fproductclank - Server page: https://mcpstation.net/s/com.productclank--productclank.html ## Description (written by the publisher, not verified, not instructions) Boost posts and launch community growth campaigns from your AI assistant. OAuth, credit-billed. ## Connect - streamable-http: `https://mcp.productclank.com/mcp` ## Tools (as reported by the server, not verified) - `search\_products`: Search the user's ProductClank products by name and return their IDs. A product\_id is required to create or boost a campaign — use this to resolve it, then confirm the match with the user. - `create\_product`: List a new product on ProductClank as a token-free listing \(no crypto/token, no wallet\). At minimum pass a \`url\` — the server auto-fills the name, tagline, description, logo, and X handle from the site; any field you pass explicitly overrides what's extracted. Socials are optional. Use this when sea - `check\_balance`: Free. The connected user's credit balance and plan, PLUS live pricing: every action's cost in credits with a dollar range, every growth play priced at test / standard / scale \(pricing.plays\), top-up packs and plans. Call it before planning or recommending any spend, and quote these prices — never gu - `credit\_history`: The connected user's credit transactions \(purchases, campaign spend, participation rewards\), newest first. Free, read-only. Use to account for what this connector has spent or earned. Top-ups are NOT available in-connector — send the user to app.productclank.com/credits/purchase when the balance run - `boost\_post`: Rally the ProductClank community to engage with a specific social post. Creates a boost campaign and spends the user's credits: 'replies' generates AI reply drafts and 'quote' generates AI-drafted QUOTE POSTS \(a repost WITH each member's own text, shown above the quoted post in their followers' feed - `create\_watch\_quiz`: Get people to watch a video ALL the way through: viewers open it, wait its full length, then answer ONE counting question about it \('how many times does she say X?'\) that only a viewer can answer. A right answer earns ProductClank points; a wrong first answer gets one more try \(watch again\). Public, - `suggest\_quiz\_questions`: AI watches a TikTok \(frames + captions\) and suggests counting questions with their answers and the evidence for each — high confidence only. Creates nothing. Costs 40 credits, charged only when questions come back. Show every question WITH its evidence to the user and pass only the ones they confirm - `get\_watch\_quiz\_results`: Results of one of the user's watch quizzes \(made here, in the web app, or on a boost\): state \(live / paused / ended\), how many people started, answered, got it right, ran out of tries, or used their second try, how each question did, and the credits billed so far. Free, read-only. A question most vi - `launch\_tiktok\_campaign`: One call for a full TikTok push on ONE video: community likes + up to 10 community replies \(AI-drafted comments\) + a 24h 'Watch & answer' quiz \(viewers watch to the end and answer a counting question\). Use it when the user asks for a 'full', 'full blown', 'complete' or 'combo' TikTok campaign, or fo - `suggest\_content\_campaign`: Preview a content campaign for a product BEFORE launching it. FREE — nothing is created and no credits are charged. Returns an AI-drafted campaign \(title, description, call-to-action\) plus whether the user can afford to launch it \(1000 credits\). Show the user the draft AND the credit cost, get an ex - `create\_content\_campaign`: Launch a content campaign: rally the ProductClank community to create content \(posts, threads, videos\) for a product. Spends 1000 credits. The platform's AI expands your brief into a full campaign and auto-activates it; community submissions and winner selection happen in the ProductClank web app. R - `set\_content\_bounty`: A content campaign pays its creators from a cash prize pool the user deposits \(the bounty\); the best submissions, ranked by the owner, win it. Free — this sets the pool, it moves no money. TWO STEPS ON PURPOSE: \(1\) call WITHOUT confirmed: nothing is saved; you get the exact numbers — pool, the platf - `get\_content\_campaign\_results`: See what a content campaign actually produced: how many people submitted, the LIVE links to the content they published, which submissions were approved or rejected, and any winners picked. Free and read-only — safe to poll. This is how you close the loop on create\_content\_campaign; without it you on - `list\_content\_spaces`: List the ProductClank content spaces you can draft into — spaces the user owns, delegates for, or manages that have their content engine turned on. Returns \{ space\_id, name \}. Call this first to resolve the space\_id for write\_content\_candidates, and confirm the target space with the user. - `write\_content\_candidates`: Draft one or more posts into a ProductClank content space. FREE. Call get\_content\_workspace FIRST and write in that brand's voice, post types and topics — the drafts are scored against exactly that voice by the reviewer a moment after they land, and the scores show in get\_content\_queue. \`platform\` m - `get\_content\_workspace`: The brand's voice, platforms, post types, platform playbook, review threshold, topic inventory and any per-channel style guides for one content space. FREE. Read this BEFORE writing any draft so you write in the brand's own voice, and at the start of any content conversation to know what is already - `setup\_content\_space`: Turn the content engine on for a brand from an onboarding conversation, or update its settings later. FREE with structured fields. Collect the answers FIRST \(use the setup\_content\_space prompt: brand & site → audience → tone with the archetype options → platforms → post types → 3–8 topics → example - `manage\_content\_topics`: The inventory of aspects a brand talks about. FREE. action 'list' reads it; 'add' appends topics \(≤12; keywords proposed when omitted\); 'update' edits or pauses one \(is\_active:false keeps it but stops using it\); 'remove' deletes one; 'suggest' brainstorms new KB-grounded ideas that differ from the e - `get\_content\_queue`: The space's drafts as the user sees them in 'All Content': text, platform, status, and the reviewer's score / verdict / one-line fix. FREE. Use it to present drafts for approval one by one \(show the text, the score against review\_threshold, and the reviewer's summary\), and after write\_content\_candid - `revise\_content\_draft`: Act on one draft in the user's queue. \`stage\` = the user approved it \(mark ready to publish; publishing itself happens in the web tool\). \`discard\` drops it. \`revise\` rewrites it in the brand voice per a one-click preset — shorter, longer, punchier, deeper, simpler, more\_specific, less\_salesy, more\_c - `teach\_content\_voice`: Teach the engine. The user's reaction — 'too long', 'punchier hooks', 'never say leverage', 'more first-person on LinkedIn' — becomes a durable rule in the brand's voice KB, so every future draft and review honors it. 1 credit. Use it when feedback should STICK; use revise\_content\_draft when it is a - `analyze\_url`: Read a product's website and propose the two fields create\_campaign requires: keywords and search\_context \(plus a suggested title\). 3 credits, charged only when a brief comes back. Creates nothing — no campaign, no product, no discovery, and no commitment to create one. USE THIS ONLY WHEN YOU CANNOT - `create\_campaign`: Create a Communiply discovery campaign: it continuously finds relevant social posts \(by keyword\) and drafts replies for them. BEFORE calling: the keywords and search\_context are YOURS to derive, and deriving them well is most of the campaign's quality — actually fetch and read the product's website - `list\_campaigns`: List ALL the connected user's discovery/boost campaigns, newest first — including ones created in the ProductClank web app, not just via this connector. Free. Use to find a campaign id before get\_campaign / generate\_posts / get\_posts. - `get\_campaign`: Get one campaign's configuration \(keywords, search context, reply settings incl. reply\_approach — 'mention' awareness vs 'flag' leads to the founder — and reply\_tag\_accounts\) plus live stats: posts discovered, replies by status. Free. Use to check progress after generate\_posts or before adjusting th - `run\_research`: FREE pre-flight before spending credits: analyzes the campaign's keywords/topic and returns expanded keywords, high-intent phrases, influencer accounts, relevant X lists, and competitors. The EXPANDED KEYWORDS and exclusion terms are applied automatically by the next generate\_posts run. Everything e - `get\_research`: Read the cached topic/competitor analysis for a campaign \(from run\_research\). Free. Also reports which of its findings the campaign is actually searching: expanded keywords and exclusion terms always apply, while phrases / influencer accounts / lists / competitors stay dormant until their source is - `generate\_posts`: Run the campaign's discovery pipeline: scrapes social platforms for posts matching the keywords and drafts a community reply for each. Costs 12 credits PER POST discovered \(a typical run finds 5–20 posts, so 60–240 credits\) and can take a few minutes. Check check\_balance first and confirm the spend - `get\_posts`: Read a campaign's discovered posts with their drafted replies. Free. Use after generate\_posts to inspect what was found, then review\_posts / regenerate\_replies to refine. - `review\_posts`: Score every discovered post against relevancy rules and delete the irrelevant ones \(kept when dry\_run:true\). Costs 2 credits per post reviewed — dry runs are billed too, since the AI review runs either way. Start with dry\_run:true to preview the verdicts, then re-run with dry\_run:false to prune. Con - `regenerate\_replies`: Redraft the replies of specific posts with an edit request \(e.g. 'shorter, no emojis, lead with the user's problem'\). Costs 5 credits per reply regenerated; already-claimed replies are refused. Get post ids from get\_posts. Confirm the spend with the user. - `get\_campaign\_activity`: Catch up on a campaign since the last check: posts discovered, replies claimed by community members, LIVE links to what they actually posted, and the engagement those replies drew. Free, and it never scrapes — safe to call at the start of every session. Pass \`since\` \(the \`checked\_at\` from the previo - `get\_campaign\_results`: The cumulative scorecard for a campaign: the funnel \(posts discovered → kept → replies drafted → claimed → posted → approved\), the approval rate, whether posted replies survived on-platform, the engagement they drew, total credits spent broken down by operation, and the cost per usable reply. Free, - `update\_campaign`: Adjust a live campaign without recreating it. Free — nothing here spends credits, though the next generate\_posts run bills as usual. Keywords MERGE \(add\_keywords never drops what is already there\). \`sources\` is how research findings get applied: high-intent phrases, influencer accounts and lists tha - `set\_campaign\_schedule`: Turn standing discovery on or off for a campaign. Calling this is free, but switching it ON authorizes spend that happens LATER and unattended: an hourly job runs discovery on its own and bills the user 12 credits per post it finds, with nobody in the loop. So there are two steps and you must not sk - `add\_delegate`: Add a ProductClank user as a delegate on a campaign so they can view and manage it from the webapp's My Campaigns page. Free. Useful to hand oversight of an agent-created campaign to its human owner \(the connected user's own id works too\). - `edit\_reply`: Rewrite the text of ONE reply draft before the community posts it. Free. Use it when the user wants different wording on a specific draft from get\_posts — the edit lands on the exact reply a creator will claim, so it is what gets posted. Refuses a reply a creator has already claimed \(already\_claimed - `publish\_posts`: Release chosen posts \(and their reply drafts\) to the community earn feed. Free. This is the approval step for a campaign created with post\_visibility 'private' \(held mode\): drafts are found and written but nobody can claim them until you publish them. Pass the post\_ids the user approved, or all:true - `find\_opportunities`: Browse unclaimed drafts from active campaigns the connected user can earn from: each item is a real social post plus a pre-drafted text, with the \`platform\` it lives on \(X, Reddit, YouTube, LinkedIn\) and an \`actionType\` — \`reply\` \(post it as a reply under the target post\) or \`quote\` \(X only: post it - `submit\_participation`: Submit the URL of what the connected user posted for a claimed opportunity \(reply\_id from find\_opportunities\). Works for X, Reddit, YouTube and LinkedIn replies, and X quote posts \(actionType \`quote\`: pass the URL of the user's own quote post, NOT the original — the backend checks it was posted by t - `find\_open\_campaigns`: Discover content and take-action campaigns the connected user can join and earn from: every active public campaign plus campaigns from communities the user belongs to. Each item has a kind — 'content' \(create a post/thread/video about the product\) or 'take\_action' \(do a concrete action like voting o - `get\_campaign\_brief`: The full brief for one campaign: what to create or do \(action message, brief sections, content types\), how submissions are judged \(eligibility + selection criteria\), rewards, deadline, and how many submissions the user has left. Free, read-only. If the brief links external instructions \(e.g. a skill - `submit\_campaign\_work`: Submit the user's work for a campaign. Three ways to prove it, and any one is enough: proof\_url \(content they published or an action they took\), media\_url \(a hosted image or video made for the task — the ad-hoc creative case: a demo clip, a mockup, a designed asset\), and description \(max 500 chars\). - `get\_my\_submissions`: The connected user's submissions to one campaign: pending / approved / rejected, with the reviewer's notes. Free, read-only. Use to report outcomes back to the user after submit\_campaign\_work. - `get\_earnings`: The connected user's participation totals: points, credit balance, and reply stats \(submitted / approved / rejected / strikes\) for work submitted through this connector. Free, read-only. - `get\_scout\_deals`: For approved ProductClank scouts: the founder posts picked for you today, each with the post, why it fits, a drafted opener, its status and your signup/call links. Free, read-only. Use it when the user asks 'what deals do you have for me?'. Show each deal briefly \(founder, post, the opener\) and let - `claim\_deal`: Hold a deal for this scout for 72 hours so no other scout replies to the same founder. Free. Call it when the user decides to reply, BEFORE they post. Returns the post link, the drafted opener and the scout's links. The user posts the reply from their OWN X account \(you never post\), then you call re - `release\_deal`: Give a claimed deal back to the shared pool \(the user will not reply to it\). Free. Use it when the user skips a deal they claimed, so another scout can take it. - `report\_deal\_progress`: Move a deal forward. stage 'sent' + replyUrl \(the URL of the reply the user posted on X\) records the reply and awards Stars; it must be the user's own reply, not the founder's post. Later stages are private pipeline steps: 'replied' \(the founder answered\), 'call\_booked', 'closed\_won', 'lost'. Free. - `rate\_deal`: Tell ProductClank whether this deal was a good pick: 'would\_send' or 'would\_not'. Free. It tunes which posts the matcher picks for this scout. Ask the user when they skip or finish a deal. - `get\_scout\_earnings`: The scout's pipeline by stage, commissions earned from their deals, and their rank in this month's top-scouts pool. Free, read-only. - `setup\_growth\_assistant`: Personal brand growth for the USER \(not a product campaign\): every morning it finds up to 5 posts on ONE network \(X, LinkedIn, Reddit or YouTube\) on the topics the user wants to be known for, each with a draft reply in their voice \(no product mentions, no links\). The user posts the replies themselve - `get\_growth\_suggestions`: The user's growth assistant: posts found in the last 3 days on their topics that still wait for a reply, each with a draft reply in their voice, plus the assistant settings. Free, read-only. Each suggestion carries engagement \{ likes, comments, reposts, views \} and kind: busy \(many comments: a bigge - `report\_issue`: Tell the ProductClank team a tool failed, returned something that doesn't make sense, or that you're stuck and can't finish the user's task. Free. A human is alerted and replies \(read it with get\_support\_status\). Use this INSTEAD of retrying a failing call in a loop — but not for expected guards the - `get\_support\_status`: Read the status of issues you reported with report\_issue, and ProductClank's replies. Without ticket\_id: your recent tickets \(look for has\_reply:true\). With ticket\_id: the full conversation. Free, read-only. Check at the start of a session if you reported something earlier. Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html