Connect MindThread to Claude, Claude Code and Cursor over MCP: Let an AI Agent Schedule Threads Posts, Check Results and Approve Patrol Replies (2026 Guide)
The short version: once MindThread is connected to Claude Desktop, Claude Code or Cursor over MCP, you can ask the AI agent in plain words to handle the daily work on your Threads accounts. This guide uses three everyday jobs as examples:
- Schedule posts: the agent calls
publishwithpublish_at(an exact time), orschedule_textfor text you already wrote.list_schedulesshows what is queued. - Check the last 7 days: the agent calls
get_top_postswithdays: 7and lists the best posts of the week with each post's views, likes and replies. - Approve patrol replies waiting for review: when cloud patrol runs with review before reply turned on, the agent shows the drafts one by one with
list_pending_replies, sends the ones you approve withapprove_pending_replyand drops the rest withreject_pending_reply.
These are real tool names on the MindThread server. You write no code: the agent reads the tool descriptions and picks the tools itself. Below: what to prepare, three ways to connect, how to word your first conversation, common errors, and how quotas work. Versions and numbers were checked on November 12, 2026.
Before you start: an API key
Sign up at mindthread.tw, connect your Threads account, then open Settings → API keys and create a key. Start with a test key (mt_test_…): writes are simulated and nothing reaches Threads. Reads such as the account list, analytics and pending replies are your real data, but get_top_posts returns three simulated demo posts and generate_posts returns placeholder drafts that start with [TEST]. To see your own results and real drafts, switch to a live key (mt_live_…).
Every permission on a key except reading data can be set to allow, ask or deny (reading data is allow or deny only). With ask, the agent does not act; it receives approval_required and a confirmation link to hand you, and the action runs only after you confirm on mindthread.tw. Setting publishing to ask lets the agent do the work while you keep the last step.
You can look around without a key. We ran npx -y mindthread-mcp: without a key, tools/list returned 43 tools and get_playbook (the operating guide) worked; tools that touch your accounts ask you to set a key first. With an API key the server switches to its full list; querying that full list directly the same day returned 50 tools.
There are two ways to connect, and both reach the same server:
- Remote (recommended): point the client at
https://mindthread.tw/api/mcp. Nothing to install. - Local stdio: run the npm package
mindthread-mcp(0.2.0 on npm on November 12). It forwards every message to the same endpoint, so it uses the same tool list as the remote endpoint. It has no runtime dependencies and needs Node.js 18.17 or newer. The server is also listed in the official MCP Registry asio.github.ppcvote/mindthread.
Option 1: Claude Desktop
Open Settings → Developer → Edit Config and add this to claude_desktop_config.json:
{
"mcpServers": {
"mindthread": {
"command": "npx",
"args": ["-y", "mindthread-mcp"],
"env": { "MINDTHREAD_API_KEY": "mt_test_your_key" }
}
}
}
Save and restart Claude Desktop. On Windows, if Claude cannot find npx, use "command": "cmd" and "args": ["/c", "npx", "-y", "mindthread-mcp"].
Check: in a new chat, ask "List my MindThread accounts". The agent calls list_accounts and returns your connected accounts with each account's id.
Option 2: Claude Code
Remote, with a key:
claude mcp add --transport http mindthread https://mindthread.tw/api/mcp --header "Authorization: Bearer mt_test_your_key"
Local stdio instead:
claude mcp add mindthread --env MINDTHREAD_API_KEY=mt_test_your_key -- npx -y mindthread-mcp
To skip the key, add only the URL (no --header), then run /mcp in Claude Code and sign in with your MindThread account.
Check: claude mcp list should show mindthread; in a chat, ask it to read the MindThread playbook and it calls get_playbook.
Option 3: Cursor
Edit ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": {
"mindthread": {
"url": "https://mindthread.tw/api/mcp",
"headers": { "Authorization": "Bearer mt_test_your_key" }
}
}
}
The stdio form also works: "command": "npx", "args": ["-y", "mindthread-mcp"], "env": { "MINDTHREAD_API_KEY": "mt_test_your_key" }.
Check: ask "What is my MindThread plan and what can this key do?" The agent calls get_me, which returns the plan, each permission's setting for this key and the calls left today.
Your first conversation: three rounds
Each request below maps to real tools, and the fields in the answers are fields those tools return.
Round 1: results first.
You: "List my MindThread accounts, then show the three most viewed posts of the first account in the last 7 days."
The agent calls list_accounts for the account id, username and follower count, then get_top_posts with days: 7, metric: "views" and limit: 3, listing each post's text with views, likes and replies. With a test key, get_top_posts returns three simulated demo posts, not your own.
If you ask instead how the account did overall this week, the agent may use analytics_insights with period: "7d". One thing to know: post counts in that answer cover the period, but total views are the account's lifetime total, and the response says so in views_scope and posts_scope. Dividing lifetime views by this week's posts gives a meaningless number; use get_top_posts for per-post results.
Round 2: draft and schedule.
You: "Write two drafts in the style of the top post and don't post anything. Schedule the second one for 9 pm tomorrow."
The agent writes drafts with generate_posts from the account's persona and brand material, then schedules the second with publish and publish_at (a time with an offset such as +08:00). The answer carries the post id and status, plus a note when the time falls outside the account's usual posting hours. If your key has scheduling set to ask, this step turns into a confirmation link. With a test key the drafts are placeholder text starting with [TEST] and the scheduling is only simulated.
Round 3: replies waiting for you.
You: "Any patrol replies waiting for my approval? Show me one at a time."
The agent lists drafts with list_pending_replies: the keyword that matched, the original author, the post text and link, the drafted reply and when it expires. Say yes and it calls approve_pending_reply to send it now (you can edit the text first; edits pass the same quality checks). Say no and it calls reject_pending_reply. (On a new live key the standard preset sets sending replies to ask, so the agent first hands you a confirmation link and the reply goes out after you confirm.)
Drafts only appear when cloud patrol has review before reply turned on. Turning cloud patrol on is a separate permission that no account sign-in connection (OAuth, including Claude, ChatGPT and /mcp in Claude Code) ever gets, so set it up on the website the first time. Cloud patrol points depend on the plan: Free has 50 a day only during the 14-day trial and none after it; Connect has 300, Pro 500 and Business 1,500.
Common errors
| What you see | What it means | What to do |
|---|---|---|
MINDTHREAD_API_KEY is not set | stdio mode found no key | Add the key to this server's env, then restart the client |
401 unauthorized | Key missing or wrong | Check or create a key in Settings → API keys; never let the agent guess one |
401 key_disabled | The key was disabled or revoked in Settings | Create a new key; do not swap in another one |
403 approval_required | That permission is set to ask | Open the link the agent gives you and confirm; the agent does not resend |
403 insufficient_scope | That permission is set to deny | The error's fix field names the setting to change |
400 missing_schedule | No time on a scheduling call | Send publish_at (with an offset) or publish_now: true |
409 account_unavailable | MindThread cannot post through that account right now, for example its Threads connection broke | Follow the message; reconnect on the website only when the Threads connection broke |
429 rate_limit_exceeded | Daily or per-minute calls used up | Wait until reset_at; do not retry in a loop |
On Windows, if Claude Desktop cannot find npx, use the cmd /c form from option 1. Claude Desktop logs are under Settings → Developer → Open Logs Folder.
Quotas and pricing
Every tool call counts against the key's daily quota, including polls that find nothing (calling list_events or list_pending_replies over and over). Per the pricing page and the developer docs, daily calls per live key:
| Plan | Monthly price | Daily API calls per key |
|---|---|---|
| Free | NT$0 | 50 |
| Connect | NT$990 | 500 |
| Pro | NT$1,990 | 1,000 |
| Business | NT$5,990 | 5,000 |
Each live key also has a limit of 120 calls a minute. A member's test keys share one sandbox pool of 500 units a day and 30 calls a minute, which is not charged to the plan. Daily quotas reset at 00:00 Taipei time.
On a 429 the answer says which limit was hit (window: daily or minute), plus reset_at and retry_after_seconds. After a daily limit, wait until reset_at; after a per-minute limit, wait retry_after_seconds. On the free plan, the docs suggest polling one endpoint no more than every 30 minutes; checking pending replies every 15 minutes needs a paid plan. If you have a public https endpoint, webhooks for events such as new pending replies or failed posts save calls compared with polling. An agent that runs many loops a day uses up 50 calls quickly, and that is the point to consider upgrading.
FAQ
Do I need to write code?
No. Paste the snippet for your client, then ask the agent in plain words; it picks the MindThread tools itself.
Can the agent post without me knowing?
That depends on the key's permissions. A new live key uses the standard preset: publishing right away and sending patrol replies ask you first, while scheduled posts do not ask and publish at their time. Choose conservative to be asked about scheduling too. Set publishing and scheduling to ask and every post becomes a confirmation link that goes out only after you confirm on mindthread.tw, or set them to deny.
What works without a key?
Connecting, listing the tools (43 in our November 12 test), and reading get_playbook and list_formulas. To read or change your accounts you need a key, or a sign-in with your MindThread account on clients that support it.
Does a test key post to Threads?
No. A mt_test_ key simulates writes and marks the answer as test mode; nothing reaches Threads. Some reads are your real data (the account list, for example) and some are demos: get_top_posts returns three simulated posts and generate_posts returns [TEST] drafts. Features without a sandbox yet answer test_mode_unsupported and write nothing.
How is MCP different from mindthread-cli?
MCP is for clients such as Claude Desktop and Cursor. mindthread-cli (0.4.0 on npm on November 12) is a command-line tool for agents that run shell commands and for scheduled scripts. Both call the same API with the same permissions and quotas.
Further reading
- MindThread developer docs: every endpoint, permission and quota.
- What Threads keyword monitoring and auto-reply are: how cloud patrol finds posts to reply to.
- Threads auto-posting: human approval or full auto (Chinese): when setting permissions to ask makes sense.