ProductClank

com.productclank由 productclank.com 發布官方發布者v0.3.0更新於 Nov 4, 2026

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

已驗證Streamable HTTP可網頁執行效率與工作流溝通與協作商業與電商

概覽

AI 產生的概覽

ProductClank 遠端連接器,讓助理發起社群成長活動、推助推文並依品牌語氣起草內容,以點數計費。

可以做什麼
  • 查詢並上架產品,建立持續尋找相關社群貼文並起草回覆的探索型活動
  • 做主題研究、產生貼文、審核剔除、重寫回覆,並查看活動動態與成效
  • 用社群回覆、引用貼文、按讚、書籤或轉推來推推某則貼文
  • 預覽、發起並追蹤社群內容活動,設定現金獎金池
  • 設定內容空間、讀取品牌語氣、起草與修改貼文、管理主題與審核佇列
  • 瀏覽可賺取的機會、暫存草稿、提交參與連結並查看收益
適用情境
適合想讓助理為產品做社群曝光的人:找出可回覆的對話、動員社群互動某則貼文,或把符合品牌調性的內容草稿送進審核佇列。適用於已有 ProductClank 帳號與點數的行銷人員與創業者。
執行需求
遠端 Streamable HTTP 端點,需透過支援遠端伺服器與 OAuth 的 MCP 用戶端連線。需以 ProductClank 帳號(Google 或電子郵件)登入並授權;工具以該使用者身分操作並扣其點數。ChatGPT 需付費方案並開啟開發人員模式。
安裝前請注意
多數成長操作會消耗所連使用者的點數:探索以每則貼文 12 點計費,內容活動 1000 點,推推每則草稿 20 點或 300 點,試跑同樣計費。開啟排程探索即授權無人看管的後續扣費。內容活動由使用者存入的現金獎金池支付創作者。活動與草稿會發布到社群動態,且會將遙測事件送至 PostHog。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 ProductClank,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.productclank%2Fproductclank/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "productclank": {
      "type": "http",
      "url": "https://mcp.productclank.com/mcp"
    }
  }
}

README

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):

EndpointProfileServed toTools
https://mcp.productclank.com/mcpfullClaude, ChatGPT, the MCP registry — the URL in every connect guide belowall of them, boost_post included
https://mcp.productclank.com/creatorcreatorMeta's Muse connector directoryeverything except boost_post

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

  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?"

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.

  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_post
(/mcp only — see Endpoints)
Rally the community to engage a specific post — AI-drafted replies or quote posts at 20 cr per draft (count 1–10, default 10 = 200 cr; quote posts X only — a repost with each member's own text, landing in their followers' feeds), 30 likes, 10 bookmarks (X only) or 10 reposts (300 cr). Auto-detects platform from the URL: X, Instagram, TikTok, LinkedIn, Reddit, Farcaster, YouTube20 cr/draft or 300 cr

Earn — participate in campaigns for the connected user

ToolWhat it doesCost
find_opportunitiesBrowse unclaimed reply and quote-post drafts the user can post to earn (likes and reposts need a screenshot and stay in the web app)free
hold_opportunityHold the picked draft for 10 minutes so no one else posts it (one hold at a time); returns the draft textfree
release_opportunityRelease a held draft the user decided to skipfree
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
get_quote_authority
(/mcp only)
Quote authority on a space: the people pinned to quote, the latest moments, the planfree
suggest_quote_people
(/mcp only)
People on X the brand's audience already trusts, each checked against the X account lookupfirst free, then 50 cr
find_quote_moments
(/mcp only)
One live X search for the pinned people's clearest claims (posts and clips)first free, then 50 cr
draft_quote_post
(/mcp only)
Draft quote posts for one moment, with the user's take on top. The user quotes and posts it themselvesfree

Credits

ToolWhat it doesCost
check_balanceYour credit balance and plan, plus live per-action prices in credits and USDfree
credit_historyYour credit transactions (spend + rewards), newest firstfree
report_issueReport a failing tool or a dead end to the ProductClank team (a human replies)free
get_support_statusYour reported issues and the team's repliesfree

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 + 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      (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

bash
cp .env.example .env   # fill in (see DEPLOYMENT.md)npm installnpm run dev            # tsx watchnpm run typechecknpm 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

來源:README.md,提交 c7374b4

工具

55

search_products

Search ProductClank 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.

輸入參數limitquery必填

create_product

List a product on ProductClank

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 search_products finds no existing match and the user wants to run a boost or campaign for a product that isn't listed yet. Returns the new product's id (and reuses an existing listing if one already matches, rather than duplicating). FREE — no credits charged. Confirm the product details with the user before calling.

輸入參數urllogonametaglinetwitterwebsitecategorydescription

check_balance

Check credit 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 guess or look them up. Pricing is pay-per-action: every tool works on any account whose balance covers the action; plans are only a cheaper rate for steady monthly spend. Typical costs: a content campaign 1000; a reply or quote-post boost 200; likes/bookmarks/reposts 300; a discovery campaign 10 to create + 12/post discovered.

無需輸入參數。

credit_history

Credit transaction 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 runs low.

輸入參數limitoffset

boost_post

Boost a social 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' feeds, the highest-reach 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' is 30 likes for 300 credits by default; set `count` (1–300) for any other size at 10 credits per like, e.g. 100 likes = 1,000 credits. 'bookmarks' (saving a post on X lifts its visibility) and 'repost' are 10 for 300 credits by default; set `count` (1–100) for any other size at 30 credits each, e.g. 25 reposts = 750 credits. Supports Twitter/X, Instagram, TikTok, LinkedIn, Reddit, Farcaster, and YouTube (replies + likes on YouTube; reposts only on X and Farcaster; quote posts and bookmarks only on X) — the platform is auto-detected from the URL. product_id is OPTIONAL: link a product (from search_products or create_product) to tailor replies with the product name, or omit it for a tweet-first boost that uses generic amplification language. A TikTok video under ~1 minute old has no caption yet: the boost is still created, drafts are generated once TikTok publishes the caption (usually within a few minutes), and credits are charged only then — the result says waiting_for_post_text. Pass post_text if you already know the caption to skip the wait. Delivery is immediate by default; to pace it (e.g. 'reply 3 times over the next 6 hours'), set spread_over_hours — one slot goes out now and the rest drip out 1–2 an hour so the last lands 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 pr

輸入參數countpost_url必填post_textproduct_idwatch_quizaction_typereply_guidelinesspread_over_hours

create_watch_quiz

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. Before calling: get the questions AND answers from the user (or run suggest_quiz_questions and have them confirm), and confirm max_answers and the maximum spend. Note for the user: paid watch time may count as artificial engagement under the platform's rules. To add a quiz to a boost of the same video, use boost_post's watch_quiz instead.

輸入參數questions必填video_url必填product_idmax_answersduration_sec

suggest_quiz_questions

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.

輸入參數video_url必填

get_watch_quiz_results

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.

輸入參數quiz_id必填

launch_tiktok_campaign

Launch a full 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 for likes + replies + quiz together, instead of calling boost_post and create_watch_quiz one by one. Every size is adjustable: likes_count (1–300, default 30), replies (0–10, default 10), quiz_answers (how many people may answer, 0–1000, default 10). When the user asks for more likes or a bigger quiz, set those — do not cap them at the defaults. Price: likes 10 credits each (30 = 300, 100 = 1,000), replies 20 credits each (10 = 200), billed up front; the quiz bills 100 credits per CORRECT answer over 24h, up to quiz_answers (10 = up to 1,000, 50 = up to 5,000). FLOW: (1) call WITHOUT confirmed to get the free plan and show the user the steps and credit totals; (2) after the user says yes, call again with confirmed: true. If quiz_questions are missing on the confirmed call, the tool suggests questions from the video (40 credits) and creates nothing yet: show the user each question with its evidence, let them fix the answers, then call a third time with quiz_questions and confirmed: true. Each campaign bills separately; on a partial failure the result lists what was created — never call again blindly, it would create duplicates.

輸入參數likesrepliesconfirmedpost_textvideo_url必填product_idlikes_countquiz_answersquiz_questionsreply_guidelinesquiz_duration_secspread_over_hours

suggest_content_campaign

Preview a 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 explicit yes, then call create_content_campaign — never launch off the back of the preview alone. Requires a product_id from search_products; write the campaign_message brief from what you know about the product.

輸入參數product_id必填referencescampaign_goalstarget_audiencecampaign_message必填preferred_platformadditional_guidelines

create_content_campaign

Launch a 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. Requires a product_id from search_products. Preview with suggest_content_campaign and confirm the 1000-credit cost with the user before calling.

輸入參數product_id必填referencescampaign_goalstarget_audiencecampaign_message必填preferred_platformadditional_guidelines

set_content_bounty

Set the cash bounty for a content campaign

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 platform fee on top, total_due, and what each rank wins. Show them to the user. (2) Only after the user says yes, call again with confirmed:true: the pool is saved and you get fund_url — give that link to the user: it opens the campaign page at the deposit step, where they pay by card or USDC (signed in as the owner). The bounty is live once they deposit; check with get_content_campaign_results. Default token USDC; default split 1st 30% · ranks 2–5 20% · ranks 6–20 50% — for a small pool, suggest fewer winners so each prize is worth winning. A funded pool cannot be changed.

輸入參數tierstokenconfirmedcampaign_id必填pool_amount必填

get_content_campaign_results

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 only know a campaign was paid for, not whether it worked. Right after launch expect state 'processing' (the AI brief is still generating) and zero submissions — that is normal, not a failure. Accepts the campaign UUID or its public campaign number.

輸入參數limitoffsetstatuscampaign_id必填

list_content_spaces

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 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` must be one of the space's platforms (omit it to use the first). Candidates land in the user's 'All Content' queue for approval; nothing is auto-published. Up to 25 per call. This drafts into the user's OWN content pipeline — it is NOT a community content campaign (use create_content_campaign for that).

輸入參數space_id必填candidates必填

get_content_workspace

Read a brand's content calibration

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 set up. `enabled:false` means the space has no content engine yet — offer setup_content_space.

輸入參數space_id必填

setup_content_space

Set up (or update) a brand's 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 posts), read them back to the user for a yes, THEN call this once. Target an existing space with space_id, or create a fresh solo space for the brand with new_space:{name}. First-time setup needs at least `voice` and `platforms`. Topics are appended (≤12 per call; keywords proposed when omitted). Pass `brand_doc` only when the user hands over a written brand template (it costs 5 credits to structure); answers you collected go in the fields for free. Nothing is published by this tool.

輸入參數voicetopicsspace_idbrand_docnew_spaceplatformsbrand_namepost_typesreview_thresholdplatform_playbooktrending_source_handles

manage_content_topics

Manage the topic inventory

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 existing topics — put them to the user, then 'add' the keepers.

輸入參數labelaction必填topicskeywordsspace_id必填topic_idis_activesearch_context

get_content_queue

Read the content queue with scores

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_candidates to read back how your drafts scored. status: active (default — pending + reviewed + staged), pending, reviewed, staged (approved by the user, awaiting publish), discarded.

輸入參數limitstatusspace_id必填

revise_content_draft

Approve, revise, or discard a 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_casual, more_formal — and/or a typed instruction (2 credits). `fix` makes the surgical change the reviewer's notes asked for (2). `humanize` strips the AI feel and keeps everything else (2). `review` scores it against the brand voice (2). `edit` replaces the text with what the user wrote (free). Any text change clears the old score. Stage and discard are the USER's decisions — act on their say-so, never on your own judgment. If the user's reaction should apply to every future draft (not just this one), use teach_content_voice instead.

輸入參數textaction必填presetdraft_id必填space_id必填instruction

teach_content_voice

Turn feedback into a standing rule

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 about one draft only. Pass draft_id when the reaction was to a specific draft so the rule is grounded in an example. The rule is applied immediately by default (the user owns the space); apply:false leaves it pending in the web Settings instead. Tell the user in one line what was learned.

輸入參數applydraft_idfeedback必填space_id必填

analyze_url

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 is unavailable or the fetch failed, and say plainly that it costs 3 credits before calling. It returns 8-15 keywords: put them in front of the user and cut to the 3-8 that match how their buyers actually talk, because create_campaign is what the campaign then runs on.

輸入參數url必填platformproduct_idproduct_nameproduct_tagline

create_campaign

Create a discovery 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 (and any docs or pages the user pointed at), work out who the audience is and the phrases they use when they have the problem the product solves, and build keywords + search_context from that. Do it in this conversation, for free — it is not billed, and you can iterate with the user before anything is spent. If you cannot browse the web from this client, SAY SO to the user and build from what they tell you instead — never silently guess from the product's name alone. Credits pay only for what you cannot do here: scraping the platforms, real community members posting, and proof verification. Costs 10 credits to create; discovering posts is billed separately via generate_posts (12 credits/post). Needs a product_id (search_products / create_product). Two ways to run it, and the user picks: PRIVATE (the default here) keeps drafts in their workbench to review and post themselves — reversible, no further cost; PUBLIC puts the drafts in the ProductClank earn feed so community members post them from their own accounts — that is the reach the platform exists for, and each network-posted reply bills the user extra credits. Default to private when the user has not said, and relay the 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 on — X (default), LinkedIn, Reddit or YouTube — and for Reddit/YouTube narrow it with target_subreddits / target_youtube_channels. When the user works in a specific brand space (

輸入參數title必填keywords必填platformspace_idproduct_id必填visibilityreply_lengthreply_approachsearch_context必填post_visibilitymention_accountsreply_guidelines另有 4 個

list_campaigns

List the user's 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.

輸入參數limitoffsetstatus

get_campaign

Get campaign details & stats

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 the campaign.

輸入參數campaign_id必填

run_research

Research the campaign's topic (free)

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 else is NOT: phrases, influencer accounts, lists and competitors are only searched once their source is enabled — the result reports which are dormant, and update_campaign (free) switches them on. Cached for 7 days — pass force:true to refresh.

輸入參數forcecampaign_id必填

get_research

Read cached campaign 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 enabled via update_campaign.

輸入參數campaign_id必填

generate_posts

Discover posts & draft replies

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 with the user. Then use get_posts to read results and review_posts to prune irrelevant ones.

輸入參數campaign_id必填

get_posts

Read discovered posts & reply drafts

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.

輸入參數limitoffsetstatuscampaign_id必填include_replies

review_posts

AI-review posts for relevance

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. Confirm the spend with the user.

輸入參數dry_runthresholdcampaign_id必填review_rules

regenerate_replies

Regenerate reply drafts with feedback

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.

輸入參數post_ids必填campaign_id必填edit_request必填

get_campaign_activity

What's new on a campaign

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 previous call) to get only what is new; omit it for the last 24 hours. Use this to resume a standing growth operation across chats, then get_campaign_results for the cumulative picture.

輸入參數limitsincecampaign_id必填

get_campaign_results

Campaign results & cost per usable reply

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, and it never scrapes — unlike the web report it costs nothing to poll. Use it to answer 'is this working and what am I paying for it?'.

輸入參數campaign_id必填

update_campaign

Tune a running 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 that run_research found stay dormant until you enable their source. `relevance_threshold` moves the bar the relevance gate keeps posts above (new campaigns start lenient at 5; raise it when discovery is noisy). `is_active:false` pauses 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 to 'public' also releases the already-discovered drafts to the community, so only do it when the user has said yes. `target_subreddits` / `target_youtube_channels` re-aim discovery within its platform (send an empty array to clear and search the whole platform). `platform` itself can only change while the campaign has discovered nothing — after that it is fixed, 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.

輸入參數confirmsourcesplatformis_activevisibilitycampaign_id必填add_keywordsdigest_enabledreply_approachpost_visibilityremove_keywordsmonitor_accounts另有 4 個

set_campaign_schedule

Put discovery on a 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 skip the first. STEP 1 — call with enabled:true and NO confirmed flag: nothing is changed and you get back the projected daily and monthly cost, the balance, and how many days of runway that is. STEP 2 — show the user those numbers, get a real yes, then call again with confirmed:true. Never send confirmed:true on your own initiative, on an assumption, or because the user said something general like 'keep it going' — the user has to have seen a number. Turning it OFF (enabled:false) is always safe and needs no confirmation; do it whenever the user asks to stop. Limits on this path are deliberately lower than the website's: up to 4 runs/day, up to 20 posts/run, and never more than 600 projected credits/day. Read the current schedule with get_campaign.

輸入參數enabled必填confirmedcampaign_id必填posts_per_runfrequency_per_day

add_delegate

Hand a campaign to a human

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).

輸入參數user_id必填campaign_id必填

edit_reply

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.

輸入參數reply_id必填reply_text必填campaign_id必填

publish_posts

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.

輸入參數allconfirmpost_idscampaign_id必填

find_opportunities

Find earning 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 as a QUOTE of the target post, the text above the quoted post, from the user's own account). Free, read-only. Flow: pick an opportunity → the user posts it (verbatim or personalized) from their own account → call submit_participation with the URL of what they posted. The user needs that platform's handle linked on their ProductClank profile for the reward to be attributable. Likes and reposts are proved with a screenshot and stay in the web app (app.productclank.com/feed).

輸入參數limitoffsetcampaign_id

submit_participation

Submit a posted reply or quote post to earn

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 their linked X handle and that it actually quotes the target post; a plain tweet or a quote of something else is rejected). Every claim is attributed to the user's linked handle for that platform, so they must have it connected on their ProductClank profile — X replies are additionally author-verified against the live post at submit time, and the others are verified afterwards by the same checks that cover web submissions. If the platform handle is missing the call fails saying which one to add. Awards points, and credits when the campaign grants them. Rejected submissions add strikes (3 strikes = blocked), so only submit replies the user actually posted.

輸入參數reply_id必填reply_url必填

find_open_campaigns

Find campaigns to participate in

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 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.

輸入參數kindlimit

get_campaign_brief

Read a campaign's participation 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 file), fetch and follow them. Then: create the content or take the action WITH 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.

輸入參數campaign_id必填

submit_campaign_work

Submit campaign participation proof

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). Media must already be hosted somewhere public and reachable — this API takes links, never uploads; a direct image link is shown to the reviewer inline, anything else (a video, a Loom) is shown as a link they open. If a URL is an X post it must be published by the user's linked X handle (author-verified); other URLs are accepted as-is. Lands as PENDING — the campaign owner reviews and rewards ship on approval (community campaigns pay Stars, public ones leaderboard points). Duplicate URLs are rejected. Check status afterward with get_my_submissions.

輸入參數media_urlproof_urlcampaign_id必填description

get_my_submissions

Check campaign submission status

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.

輸入參數campaign_id必填

get_earnings

Check participation 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

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.

無需輸入參數。

claim_deal

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.

輸入參數dealId必填

release_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.

輸入參數dealId必填

report_deal_progress

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.

輸入參數notestage必填dealId必填replyUrl

rate_deal

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.

輸入參數dealId必填rating必填

get_scout_earnings

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.

無需輸入參數。

setup_growth_assistant

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 $9/month (or $99/year) 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 two sentences about who they are, and a few rules for how their replies should read — draft these from what you know about them and confirm. Calling again updates the assistant in place.

輸入參數mixaboutvoicetopics必填network必填per_day

get_growth_suggestions

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. 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.

無需輸入參數。

report_issue

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 line that you reported it. To add detail to an earlier report pass its ticket_id rather than opening a new one.

輸入參數toolcontextmessage必填categoryseverityticket_iderror_codehttp_status

get_support_status

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.

輸入參數limitticket_id

版本歷史

1
  1. v0.3.0最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分