Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "get_growth_suggestions" and "setup_growth_assistant"
⟨27 unchanged words⟩ voice, plus the assistant settings. Free, read-only. Each suggestion carries engagement { likes, comments, reposts, views } and kind: busy (many comments: a bigger audience, the reply sits lower), early (few comments: the author reads you) or regular. Show each post briefly (author, likes and comments, kind, post, link, draft) and help the user edit the draft; they post it from their own account. If they want more busy threads or more early posts, set `mix` with setup_growth_assistant. If there are no assistants, offer setup_growth_assistant.
⟨71 unchanged words⟩ the free first run (live) and the$5/month$9/month (or $99/year) subscription that turns on the daily run + ⟨59 unchanged words⟩
⟨19 unchanged words⟩ "maxLength":600,"type":"string"},"mix":{"description":"Which posts the daily picks favour: relevance (default: the top-scored posts), balanced (about 2 in 5 are busy threads, the rest early posts), busy (mostly busy threads: a bigger audience, the reply sits lower), early (mostly posts with few comments: the author reads you). Each draft is also written for the kind of post it lands on. Leave unset unless the user asks for a mix.","enum":["relevance","balanced","busy","early"],"type":"string"},"network":{"description":"The ONE network where ⟨130 unchanged words⟩
Changed the definition of "boost_post" and "launch_tiktok_campaign"
⟨70 unchanged words⟩ , e.g. 3 replies = 60 credits. 'likes'(is 30 likes),'bookmarks'for 300 credits by default; set `count` (1–300) for any other size at 10bookmarkscredits—per like, e.g. 100 likes = 1,000 credits. 'bookmarks' (saving a post on X lifts its visibility) and 'repost'(are 10repostsfor 300 credits by default; set `count` (1–100)
Authorization not required, issuer https://mcp.productclank.com
Added "launch_tiktok_campaign" (53 tools before, 54 now)
Launch a full TikTok campaign — One call for a full TikTok push on ONE video: 30 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 for likes + replies + quiz together, instead of calling boost_post and create_watch_quiz one by one. Defaults: likes on, 10 replies, quiz for 10 correct answers. Price: likes 300 credits, replies 20 credits each (10 = 200), billed up front; the quiz bills 100 credits per CORRECT answer over 24h, u…
Authorization not required, issuer https://mcp.productclank.com
Added "create_watch_quiz", "get_watch_quiz_results" and "suggest_quiz_questions"; changed the definition of "boost_post", "find_open_campaigns" and "get_campaign_brief" (50 tools before, 53 now)
⟨253 unchanged words⟩ within that window, at the same price. On a TikTok / YouTube / Instagram Reel VIDEO, add watch_quiz for 'Watch & answer': viewers can also watch to the end and answer one counting question (a linked 24h watch quiz, billed 100 credits per correct answer on top of the boost price, up to max_answers — see create_watch_quiz). Confirm the action and its credit cost with the user before calling.
⟨208 unchanged words⟩ 72,"minimum":2,"type":"integer"},"watch_quiz":{"additionalProperties":false,"description":"Optional 'Watch & answer' on a TikTok / YouTube / Instagram Reel video: a linked 24h watch quiz. Billed 100 credits per correct answer (default cap 20 = 2,000 credits), separate from credits_used. Get the questions and answers from the user, or from suggest_quiz_questions.","properties":{"duration_sec":{"anyOf":[{"maximum":3600,"minimum":5,"type":"integer"},{"type":"string"}],"description":"Video length in seconds, or \"m:ss\". Omit to read it from the TikTok / YouTube page; other platforms need it."},"max_answers":{"description":"People who may answer before the quiz closes to new viewers (default 20). Worst case = all of them right = 2,000 credits.","maximum":1000,"minimum":1,"type":"integer"},"questions":{"description":"1–20 questions with their answers. Each viewer draws one. Get them from the user — you cannot watch the video.","items":{"additionalProperties":false,"properties":{"answer":{"description":"The whole-number answer.","minimum":0,"type":"integer"},"question":{"description":"A counting question only someone who watched can answer, e.g. 'How many times does she say \"ship\"?'","maxLength":200,"minLength":1,"type":"string"}},"required":["question","answer"],"type":"object"},"maxItems":20,"minItems":1,"type":"array"}},"required":["questions"],"type":"object"}
Added "get_growth_suggestions" and "setup_growth_assistant"; changed the definition of "boost_post" (48 tools before, 50 now)
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨74 unchanged words⟩ 60 credits. 'likes' (30 likes), 'bookmarks' (3010 bookmarks — saving a post on X lifts ⟨183 unchanged words⟩
Get today's posts to reply to — 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. Show each post briefly (author, post, link, draft) and help the user edit the draft; they post it from their own account. If there are no assistants, offer setup_growth_assistant.
Changed the definition of "boost_post" and "check_balance"
⟨15 unchanged words⟩ and spends the user's credits: 'replies' generates10AI reply drafts(200 credits);and 'quote' generates10AI-drafted QUOTE POSTS (200 credits) —a repost WITH each member's own text, shown above the quoted post in their followers' feeds, the highest-reachaction;action) — both cost 20 credits per draft, 10 drafts (200 credits) by default; set `count` (1–10) for a smaller boost, e.g. 3 replies = 60 credits. 'likes' (30 likes), 'bookmarks' (30 bookmarks — saving a post on X lifts its visibility) and 'repost' (10 reposts) cost300.300 and ignore `count`. Supports Twitter/X, Instagram, TikTok, LinkedIn, Reddit,
Changed the definition of "update_campaign"
⟨80 unchanged words⟩ discovery so nothing more is found or billed. `digest_enabled:true` emails the owner and the campaign's delegates once a day with the new posts and their draft replies, so they can reply without opening the app; offer it when the user will post the replies themselves (a private campaign). `visibility` decides who posts the drafts — flipping ⟨105 unchanged words⟩
⟨51 unchanged words⟩ returns confirmation_required.","type":"boolean"},"digest_enabled":{"description":"true = once a day, email the owner and every delegate (add_delegate) the posts found since the last digest, each with its draft reply and a link to reply. Only sent on days with new posts; each recipient can unsubscribe from the email. false turns it off. Free.","type":"boolean"},"is_active":{"description":"false pauses discovery, ⟨437 unchanged words⟩
Authorization not required, issuer https://mcp.productclank.com
Added "claim_deal", "get_scout_deals", "get_scout_earnings" and 3 more (42 tools before, 48 now)
Claim a scout 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 report_deal_progress with stage 'sent' and the reply URL. Claiming again refreshes the hold. 409 claimed_by_another_scout = someone else holds it; pick another deal.
Get my 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 the user pick. A deal matched to them is theirs alone for 12h, then open to every scout. If the user is not a scout (403 not_a_scout / scout_not_approved), relay the message: they apply at https://www.productclank.com/scouts.
Get my 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.
Authorization not required, issuer https://mcp.productclank.com
Authorization not required, issuer https://mcp.productclank.com
Changed the definition of "create_campaign"
⟨316 unchanged words⟩ for Reddit/YouTube narrow it with target_subreddits / target_youtube_channels. When the user works in a specific brand space (an agency running several brands, or a space setup_content_space just made), pass that space as space_id so the campaign shows under it in their dashboard — omitted, it lands in their oldest space. Topic research auto-runs in the background at create ⟨19 unchanged words⟩
⟨509 unchanged words⟩ billed) posts.","type":"string"},"space_id":{"description":"The brand space to file this campaign under (from list_content_spaces, or the space_id setup_content_space returned) — the space the user's dashboard shows it in. Not an audience: who sees the drafts is still `visibility`. The user must be able to create campaigns in that space, or the call is rejected. Omit and it lands in the user's oldest space.","type":"string"},"target_subreddits":{"description":"Reddit only, and ⟨178 unchanged words⟩
Authorization not required, issuer https://mcp.productclank.com
Authorization not required, issuer https://mcp.productclank.com
Authorization not required, issuer https://mcp.productclank.com
Added "get_support_status" and "report_issue"; changed the definition of "create_campaign", "find_opportunities", "get_campaign" and 1 more (40 tools before, 42 now)
⟨9 unchanged words⟩ social posts (by keyword) and drafts repliesthat mention theforproduct.them. BEFORE calling: the keywords and search_context are ⟨227 unchanged words⟩ decision_offer in the result so they can choose. On X, also ask what the replies are for (reply_approach): awareness (the product and its site in the thread) or sales (flag each post to the brand/founder as a lead, tagging the accounts they choose in reply_tag_accounts). Pick the `platform` the product's audience actually talks ⟨45 unchanged words⟩
⟨64 unchanged words⟩ "mention_accounts":{"description":"X handles to
Authorization not required, issuer https://mcp.productclank.com
Added "analyze_url" (39 tools before, 40 now)
Derive a campaign brief from a product 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 FETCH THE PAGE YOURSELF. If you can browse from this client, do the derivation in the conversation instead: it is free, you can iterate with the user before anything is spent, and you know what they have told you about their audience — a one-shot page read does not. Reach for this when web access …
Authorization not required, issuer https://mcp.productclank.com
Authorization not required, issuer https://mcp.productclank.com
Authorization not required, issuer https://mcp.productclank.com
Added "edit_reply" and "publish_posts"; changed the definition of "create_campaign" and "update_campaign" (37 tools before, 39 now)
⟨132 unchanged words⟩ ,"youtube"],"type":"string"},"post_visibility":{"description":"Visibility of each discovered post, independent of the campaign. 'public' campaign + 'private' posts = HELD mode: drafts are found and written but nobody can claim them until publish_posts releases the ones the user approves. Use it whenever the user wants to review wording before real people post.","enum":["public","private"],"type":"string"},"product_id":{"description":"Product UUID (from ⟨293 unchanged words⟩
⟨119 unchanged words⟩ ,"youtube"],"type":"string"},"post_visibility":{"description":"Visibility of posts discovered FROM NOW ON, without touching the campaign flag or existing posts. 'private' turns on held mode (release with publish_posts); 'public' makes new drafts claimable on arrival. No confirm needed.","enum":["public","private"],"type":"string"},"
Authorization not required, issuer https://mcp.productclank.com
Authorization not required, issuer https://mcp.productclank.com
Authorization not required, issuer https://mcp.productclank.com
Certificate recorded, valid to 2026-12-06
Authorization not required, issuer https://mcp.productclank.com
First tool surface recorded: 37 tools (server version 0.9.1)
Showing the latest 30 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨44 unchanged words⟩ ,"count":{"description":"Replies / quoteonly: how many drafts to generate, 1–10 (default 10).,Billedbilled 20 credits per draft — 3 replies = 60 credits. Likes: how many likes, 1–300 (default 30), billed 10 credits per like — 100 likes = 1,000 credits. Repost / bookmarks: 1–100 (default 10), billed 30 credits each.","maximum":10300,"minimum":1,"type":"integer"}, ⟨335 unchanged words⟩
One call for a full TikTok push on ONE video:30community likes + up to 10 community replies ⟨45 unchanged words⟩ of calling boost_post and create_watch_quiz one by one.DefaultsEvery size is adjustable:likeslikes_counton(1–300,10default 30), replies (0–10,quizdefaultfor10), quiz_answers (how many people may answer, 0–1000, default 10).correctWhenanswers.the user asks for more likes or a bigger quiz, set those — do not cap them at the defaults. Price: likes30010 credits each (30 = 300, 100 = 1,000), replies 20 credits each (10 = 200), ⟨13 unchanged words⟩ up to quiz_answers (10 = up to 1,000, 50 = up to 5,000). FLOW: (1) call WITHOUT ⟨93 unchanged words⟩
⟨29 unchanged words⟩ "likes":{"description":"Include the likesboostboost.(30Default true. Size it with likes_count.","type":"boolean"},"likes_count":{"description":"How many likes,3001–300. 10 credits).each. Defaulttrue.30 (300 credits).","maximum":300,"minimum":1,"type":"booleaninteger"},"post_text":{"description":"Optional — ⟨35 unchanged words⟩ },"quiz_answers":{"description":"Watch quizcapsize: how many people mayanswer.answer, 0–1000. Billed 100 credits per CORRECT answer only. Default ⟨197 unchanged words⟩
⟨45 unchanged words⟩ voting or starring, with URL/description proof). Items with participation 'human_only' are WATCH QUIZZES: the user watches a video to the end and answers one question on the quiz page (points, sometimes $PRO, for a right answer). Offer them to the user with watch_quiz.quiz_url and watch_quiz.how_to_participate — the user does them, you never submit them. Free, read-only. Follow with get_campaign_brief before doing any work.
⟨60 unchanged words⟩ the user, and call submit_campaign_work with the proof. Exception — participation 'human_only' (a watch quiz): give the user watch_quiz.quiz_url and the steps; they watch and answer on that page, and there is nothing to submit. watch_quiz.my_status says if they already started or answered.
Create a watch quiz for a video — 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, runs exactly 24 hours. Works on any video link (TikTok, YouTube, Instagram Reels, …). COST: nothing now — the user pays 100 credits per CORRECT answer (wrong answers are free) for 24 hours after this chat, for at most max_answers people (default 20 = 2,000 credits max). Needs 100 credits on hand. …
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 viewers miss is usually ambiguous — say so. 'paused' with credits left means the user paused it; otherwise the balance ran out.
Suggest watch-quiz questions from a TikTok — 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 to create_watch_quiz (or boost_post's watch_quiz). If it fails, nothing is charged — ask the user for questions instead.
Set up my personal 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 themselves. Free to set up, no credits. After setup the user opens the app link for the free first run (live) and the $5/month subscription that turns on the daily run + morning email (the card step happens in their browser). Before calling: agree with the user on 2-4 topics and their search phrases, one or…
⟨20 unchanged words⟩ (repost with the member's own drafted text) and bookmarks (members save the post) are X only.","enum":["replies","likes","repost","quote","bookmarks"],"type":"string"},"count":{"description":"Replies / quote only: how many drafts to generate, 1–10 (default 10). Billed 20 credits per draft — 3 replies = 60 credits.","maximum":10,"minimum":1,"type":"integer"},"post_text":{"description":"Optional — the post's text or caption, if you already have it. Skips the server-side fetch (useful for a TikTok you just uploaded).","type":"string"},"post_url":{"description":"Full URL of the ⟨38 unchanged words⟩ replies or quote posts","type":"string"},"spread_over_hours":{"description":"Optional — pace delivery over this many hours instead of releasing every slot at once. One goes out now, the rest drip out 1–2 per hour. Minimum is ceil((items − 1) / 2) + 1 hours (3 items → 2, 10 → 6). Omit for immediate delivery. Same price.","maximum":72,"minimum":2,"type":"integer"}},"required":["post_url"],"type":"object"}
⟨23 unchanged words⟩ costs 1000; a reply or quote-post boost 200;likes/repostslikes/bookmarks/reposts 300; a discovery campaign 10 to create + 12/post discovered).
Rate a scout 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.
Release a scout 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 scout 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. Only report what the user tells you happened.
⟨124 unchanged words⟩ screenshot and stay in the web app (app.productclank.com/communiply/feedapp.productclank.com/feed).
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 ⟨14 unchanged words⟩
⟨153 unchanged words⟩ , and a second campaign is the answer. On X, `reply_approach` switches what the replies do (awareness 'mention' vs sales 'flag', which tags reply_tag_accounts at the lead) — confirm with the user, it changes every future draft. Changes apply to the NEXT generate_posts run; existing posts are not re-scored.
⟨199 unchanged words⟩ :"string"},"type":"array"},"reply_approach":{"description":"X campaigns only (REJECTED elsewhere). 'mention' = awareness: replies put the product and its site in the conversation. 'flag' = sales: replies tag the brand and/or founder at the post's author as a lead. Applies to drafts written from now on.","enum":["mention","flag"],"type":"string"},"reply_tag_accounts":{"anyOf":[{"items":{"type":"string"},"maxItems":2,"type":"array"},{"type":"null"}],"description":"X only, for 'flag': up to 2 handles to tag, brand first then founder (brand, personal or both). REPLACES the list; null or [] clears it (falls back to mention_accounts, then the product's X handle)."},"sources":{"description":"Which discovery sources run. ⟨192 unchanged words⟩
Check support tickets — 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.
Report an issue to ProductClank support — 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 error already explains (insufficient credits, a confirmation prompt, a spend cap): relay those to the user. Include the failing tool, its error code/status and what you tried. If the error_code is a known one, the result carries `self_help` — a fix you can apply right away. Tell the user in one li…
Edit a reply draft — 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): edit before you publish. 280 characters on X, 2000 elsewhere.
Publish held drafts to the community — 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. If the campaign is still private this makes it public — which turns on per-posted-reply billing (20 credits each) — so the API demands confirm:true; only pass it after the user has agreed. Unlike update_campaign's visibility flip, this touches only the posts you name and leaves future drafts held.