
MindThread
Threads scheduler for AI agents: write, schedule and publish posts, review replies, read insights.
Connect it
Settings → Connectors → Add custom connector
URL: https://mindthread.tw/api/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://mindthread.tw/api/mcp{
"mcpServers": {
"mindthread": {
"url": "https://mindthread.tw/api/mcp",
"headers": {
"Authorization": "<YOUR_AUTHORIZATION>"
}
}
}
}claude mcp add --transport http mindthread https://mindthread.tw/api/mcp --header "Authorization: <value>"{
"servers": {
"mindthread": {
"type": "http",
"url": "https://mindthread.tw/api/mcp",
"headers": {
"Authorization": "<YOUR_AUTHORIZATION>"
}
}
}
}{
"mcpServers": {
"mindthread": {
"command": "npx",
"args": [
"-y",
"mindthread-mcp@0.2.0"
],
"env": {
"MINDTHREAD_API_KEY": "<value>"
}
}
}
}claude mcp add mindthread -- npx -y mindthread-mcp@0.2.040 tools, pulled live
get_meread-onlyReturns the current plan, this connection's identity and permissions (each permission is allow, ask or deny), remaining daily calls in this connection's pool, remaining patrol points, and the connected accounts. Applies at the start of a session and whenever a call answered approval_required or insufficient_scope, to see which permission is involved.
list_accountsread-onlyLists the Threads accounts connected to this MindThread member, with the id to pass as account_id to every other tool. Applies whenever an account id is needed and the user named an account by username or description.
get_materialread-onlyReturns the account's material digest (who the brand is, what it sells, claims, experiences, FAQ, sourced numbers, voice) that every generation path appends to the persona. has_material:false means generation currently runs on the persona alone. Applies before generating when it is unclear whether the account has material.
build_materialcan modifyBuilds or rebuilds the account's material digest from up to 8 https pages of the brand's own website, optional notes with real cases and FAQs (up to 6,000 characters), and the account's top posts. Replaces the previous digest. Counts as one AI generation. dry:true returns a preview without saving. Applies once per account before the first generation, and again when the website changes.
get_account_settingsread-onlyReturns one account's persona, schedule_times, review_before_publish, auto_reply_enabled, auto_thread, content_rules, and the guardrails block: etag (used as if_match on update), last_change, pending loosening approvals, and which paths the rules are enforced on. Applies before any settings change, because content_rules is replaced as a whole on update.
update_account_settingscan modifyChanges an account's persona (up to 4,000 characters), schedule_times (comma-separated HH:MM in the account time zone, up to 8), review_before_publish, auto_reply_enabled, auto_thread, auto_link_to_comment, enabled, and content_rules (max_chars, min_chars, forbid_cta, forbid_hashtags, banned_phrases, facts as the only numbers the AI may use, forbid_causal_claims, judge_claims, one_fact_per_post, m
list_guardrail_changesread-onlyLists an account's guardrail revisions, newest first (limit 1 to 50, default 20; before for the next page). Each revision has source (api, approval, rollback, system), actor, changed_fields, loosened, tightened, before, after and restore_body (an update_account_settings body that puts the earlier values back). Applies when the user asks what changed, who changed it, or wants to restore an earlier
list_account_settingsread-onlyLists every connected Threads account of this member with the settings of the MindThread bulk settings sheet (run mode, auto-posting, review before publish, posting times, audience time zone, random schedule, library recycling, cold start, content language, AI quality, auto-reply and reply limits) and status chips (expired authorization, repeated publish failures, skipped nightly refill). Up to 10
preview_account_settingsread-onlyShows what a batch of settings changes would do and writes nothing: for each account and cell the current value and the new value, warnings (for example no posting time left), and row errors (an account that is not this member's, an unknown column, a value outside the allowed range, a cell changed since it was read). Takes changes as a list of { account_id, set, base } or csv in the same format as
apply_account_settingscan modifyWrites a batch of settings changes to up to 100 accounts, each account in its own transaction, and returns a per-row result (ok, unchanged, or failed with the reason) and a batch_id that revert_account_settings_batch can undo within 24 hours. idempotency_key is required: a retried request with the same key returns the first result instead of writing twice. Changes to run mode, auto-posting or revi
revert_account_settings_batchcan modifyRestores the values that one batch changed, within 24 hours of the batch. Accounts changed again after the batch are skipped and listed with the reason, so a later edit is never overwritten. A batch can be reverted once. Applies when the user wants to undo a bulk change. 繁中:24 小時內復原一批變更,之後又被改過的帳號會跳過。
get_account_settings_batchread-onlyReturns one batch by batch_id: when it was sent and from where (website, API or MCP), counts, whether it can still be reverted, and each row's result with the failure reason. Applies after apply_account_settings, or when the user asks what a bulk change did. 繁中:查一批變更的逐列結果。
generate_postsGenerates 1 to 5 post drafts about a topic using a content formula (auto, or an id from list_formulas), the account persona and material, optional reference context (up to 8,000 characters) and a quality level (fast, standard, premium). Nothing is published or queued. The result carries rule_violations against the account's content_rules. Applies when the user wants drafts to read, edit or choose
publishcan modifyPublishes a post to Threads now (publish_now:true) or at publish_at (ISO 8601 with offset). Takes text, one public https image (media_urls with 1 url), a carousel (2 to 10 urls) or a video_url. Text over 500 characters is split into a thread. Publishing now or within 30 minutes uses the publish-now permission; a post 30 minutes or more ahead uses the schedule permission. Either may wait for the ow
schedule_textcan modifySchedules an existing text (up to 500 characters) at publish_at, or at the next best slot with auto_optimize_time:true (the two are mutually exclusive). Checked against the account's content_rules: with enforce:block a violation returns 422 and nothing is scheduled; the post is checked again right before it publishes. Applies for text-only posts with a specific time or when the user wants the syst
list_schedulesread-onlyLists scheduled posts, optionally filtered by account_id, with status, publish_at, and held_reason when a post was held (for example content_rules_violated or publish_result_unknown). Applies when the user asks what is coming up or why a post did not go out.
cancel_schedulecan modifyCancels a scheduled post by id. A post that is being published right now answers 409 publishing_in_progress. Applies when the user no longer wants a scheduled post to go out.
list_libraryread-onlyLists an account's library items by status (queued, draft, published, failed; limit up to 200). Queued items publish automatically at the account's schedule_times; the result shows each item's position and next_publish_at. A draft with held_reason publish_result_unknown and reclaimed:true may already be on Threads. Applies when the user asks what is queued, what is waiting as a draft, or what fail
add_librarycan modifyAdds up to 20 items (text, optional public https images) to an account's library as queued (default; they publish automatically at schedule_times) or draft (they wait). Each text is checked against the account's content_rules. Applies after drafts are approved by the user and should enter the daily publishing queue, or should be parked as drafts.
delete_library_itemcan modifyPermanently deletes one queued, draft or archived library item by id. Applies when the user explicitly wants an item gone rather than archived.
approve_library_itemcan modifyMoves one draft into the publishing queue by id. A draft whose held_reason is publish_result_unknown answers 409 publish_result_unknown because it may already be on Threads; an item being published answers 409 publishing_in_progress. Applies when the user approves a single draft.
update_library_itemcan modifyChanges one library item by id: status (archived, draft, queued), text (checked against content_rules), or its place in the queue (position first or last, or an explicit order). 409 publishing_in_progress means it is being published; 409 publish_result_unknown means it may already be on Threads; 409 status_changed means it changed since it was read. Applies when the user wants to edit, reorder, ar
get_cloud_patrolread-onlyReturns an account's cloud patrol configuration and status: keywords, daily cap, replies sent today, review_before_reply, last scan time. Cloud patrol searches Threads every 15 minutes and replies to relevant fresh posts through the official API. Applies before changing patrol settings or when the user asks whether patrol is on.
set_cloud_patrolcan modifyCreates or updates an account's cloud patrol: keywords (1 to 10; a "#tag" entry searches a topic tag), reply persona, daily_cap (1 to 50 on free and trial, up to 80 on paid plans, up to 150 with a haixun add-on), enabled, and review_before_reply. When patrol is on, the account replies to relevant fresh Threads posts through the official API every 15 minutes, one patrol point per delivered reply; w
cloud_patrol_logread-onlyLists replies sent by cloud patrol for an account in the last 1 to 7 days, with the target post and the reply text. Applies when the user wants to read what was actually said.
cloud_patrol_statsread-onlyReturns views and likes earned by cloud patrol replies for an account over 1 to 14 days, with the top replies. Applies when the user asks whether patrol is working or which keywords perform.
list_pending_repliesread-onlyLists cloud patrol reply drafts for an account by status (pending by default; also sent, rejected, expired). Each pending draft has the target post, the drafted reply and an expiry 24 hours after it was drafted. Applies when review_before_reply is on and the user wants to decide what goes out.
approve_pending_replycan modifyApproves one drafted cloud patrol reply by id and sends it to Threads now, optionally with an edited reply text that passes the same quality gates as generated text. May wait for the owner's confirmation. Applies when the user has read a pending draft and wants it posted.
reject_pending_replycan modifyRejects one drafted cloud patrol reply by id with an optional note. It is never sent and the same post is not proposed again. Applies when the user does not want a drafted reply to go out.
list_eventsread-onlyReturns the member's event feed for the last 7 days, newest first (limit 1 to 200): post.published, post.failed, reply.sent, patrol.reply, patrol.pending, token.expiring, usage.threshold, approval.decided. since (ISO 8601) returns only newer events; types filters by name. Applies when the user asks what happened recently or whether a post went out.
analytics_insightsread-onlyReturns views, likes, replies and followers for one account over a period (7d, 30d; default 30d). account_id is required; "all" returns the organization-wide aggregate. views_scope is lifetime, posts_scope is the period. Applies when the user asks how an account is performing.
list_formulasread-onlyLists the content formulas that generate_posts accepts, with id and a short description of each. Applies when the user wants a specific structure (for example a story, a list, a myth-busting post) rather than auto.
get_playbookread-onlyReturns the operating playbook for running an account through this server: the daily loop, how confirmation requests work, quotas, and the review checklist. The same text is in the initialize instructions. Applies when the instructions were not kept or the user asks how the service works.
connect_account_linkReturns a Threads OAuth link for the user to open in a browser to connect a new Threads account to this member. The account appears in list_accounts after the user completes the flow. May wait for the owner's confirmation. Applies when the user wants to add an account.
disable_this_keycan modifyPermanently disables the key or connection making this call. Cannot be undone; the owner creates a new key or reconnects in Settings. Only this connection's API requests stop, and for a connection made through the consent page (OAuth) the webhooks it created are turned off too; queued posts and cloud patrol settings created with it keep running (with an API key, its webhooks keep running as well).
get_my_usageread-onlyReturns this connection's own usage for the last 1 to 30 days (days=1 is today since 00:00 Asia/Taipei): summary (calls, units, errors, by_endpoint) and recent calls (request_id, endpoint, status, units, at), newest first, limit 1 to 100, cursor for the next page. Only this connection's records. Applies when the user asks what this connection did, or a request_id is needed to report a problem.
get_approvalread-onlyReturns one confirmation request created by this connection, by id (apr_...): status (pending, approved, executed, failed, denied, expired, cancelled), the action summary, how the owner decided (decision_via, decided_by, step_up), and once executed, the full result. The server runs the original request itself after the owner confirms, so the request is not resent. Applies after a tool answered app
bulk_archive_libraryArchives up to 50 library items by id in one call. Archived items leave the queue but are kept and can be restored with update_library_item. Per-item errors include publishing_in_progress. Applies for clearing a queue without deleting anything.
bulk_delete_librarycan modifyPermanently deletes up to 50 queued, draft or archived library items by id in one call. Per-item errors include publishing_in_progress. Applies when the user explicitly wants items removed for good.
bulk_queue_librarycan modifyMoves up to 50 drafts into the publishing queue by id in one call; they publish automatically at the account's schedule_times. Per-item errors include publishing_in_progress and publish_result_unknown (the item may already be on Threads). Applies when the user approves several drafts at once.
Alternatives in Developer Tools
Compare →COContrastAPIA
55 tools, 7 Resources, Sigma rules, email SPF/DMARC, MITRE, CVE/KEV, risk_score. No key.
EMemailmdA
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
RRReactive ResumeA
Free open-source resume builder with remote MCP tools for resumes and job applications.
PAPg AiguideA
Comprehensive PostgreSQL documentation and best practices, including ecosystem tools
QRQR RápidoA
Generate QR codes for URLs, PIX, Wi-Fi, vCards, WhatsApp and more. For AI agents.
ECeCFRA
Electronic Code of Federal Regulations including FAR, DFARS, and agency supplements. 13 tools.