Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Threads scheduler for AI agents: write, schedule and publish posts, review replies, read insights.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
MINDTHREAD_API_KEY, AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"mindthread": {
"command": "npx",
"args": [
"-y",
"mindthread-mcp"
],
"env": {
"MINDTHREAD_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http mindthread https://mindthread.tw/api/mcp --header 'Authorization: Bearer {api_key}'claude mcp add mindthread --env MINDTHREAD_API_KEY=your-value -- npx -y mindthread-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"mindthread": {
"url": "https://mindthread.tw/api/mcp",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"mindthread": {
"command": "npx",
"args": [
"-y",
"mindthread-mcp"
],
"env": {
"MINDTHREAD_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"mindthread": {
"type": "http",
"url": "https://mindthread.tw/api/mcp",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"mindthread": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mindthread-mcp"
],
"env": {
"MINDTHREAD_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
Authorization secret HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account ppcvote, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: MINDTHREAD_API_KEY, Authorization
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 11 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, debuff
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Let coding agents play, test and tune your 2D web game: live state, explained errors, replays, fuzz.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Let Claude, Cursor or any MCP client write, schedule and publish Threads posts, review drafted replies and read insights for your accounts, through Meta's official Threads API. 40+ tools, a free sandbox key, and permission controls so the agent asks before it posts.
claude mcp add --transport http mindthread https://mindthread.tw/api/mcp --header "Authorization: Bearer mt_live_your_key"
繁體中文說明在下方
get_top_posts; the Threads API only returns insights for the authorized user's own posts, so other people's accounts cannot be read) and keep brand, content and content-map documents on MindThread (save_brand_doc, get_brand_doc, last 20 versions kept).allow, ask or deny. With ask, the post waits until you confirm it on mindthread.tw, and the agent gets a link to hand you instead of posting.1. Get an API key. Sign up at mindthread.tw, connect a Threads account, then open Settings → API keys and create a key. Start with a test key (mt_test_…): reads show your real data, writes are simulated and nothing reaches Threads. Switch to a live key (mt_live_…) when you are ready. Every plan includes API access (October 2026: free plan 50 calls a day per live key; test keys share a 500-a-day sandbox). Current limits: mindthread.tw/developers.
2. Add MindThread to your client (pick yours below).
3. Ask for your first scheduled post:
List my MindThread accounts. Then write a short post about why I started my business, show it to me, and schedule it on my account for tomorrow at 9:00 Taipei time.
The agent calls list_accounts, generate_posts, then publish with publish_at. Check the result with "show my scheduled posts" (list_schedules).
There are two ways to connect, and both reach the same server:
https://mindthread.tw/api/mcp. Nothing to install.npx -y mindthread-mcp. Use it for clients that only start servers with a command. It forwards every message to the same endpoint, so the tools are always identical.# Remote, with an API key
claude mcp add --transport http mindthread https://mindthread.tw/api/mcp --header "Authorization: Bearer mt_live_your_key"
claude mcp add --transport http mindthread https://mindthread.tw/api/mcp
claude mcp add mindthread --env MINDTHREAD_API_KEY=mt_live_your_key -- npx -y mindthread-mcp
Edit claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": { "mindthread": { "command": "npx", "args": ["-y", "mindthread-mcp"], "env": { "MINDTHREAD_API_KEY": "mt_live_your_key" } } } }
On Windows, if Claude cannot find npx, use "command": "cmd" and "args": ["/c", "npx", "-y", "mindthread-mcp"]. Without editing files: Settings → Connectors → Add custom connector, URL https://mindthread.tw/api/mcp, then sign in with your MindThread account (on Claude plans that offer custom connectors).
~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": { "mindthread": { "url": "https://mindthread.tw/api/mcp", "headers": { "Authorization": "Bearer mt_live_your_key" } } } }
Or the stdio form: "command": "npx", "args": ["-y", "mindthread-mcp"], "env": { "MINDTHREAD_API_KEY": "mt_live_your_key" }.
.vscode/mcp.json, which asks for the key once and stores it securely:
{
"inputs": [ { "type": "promptString", "id": "mindthread-key", "description": "MindThread API key", "password": true } ], "servers": { "mindthread": { "type": "http", "url": "https://mindthread.tw/api/mcp", "headers": { "Authorization": "Bearer ${input:mindthread-key}" } } } }
https://mindthread.tw/api/mcp, header Authorization: Bearer (also accepted as X-API-Key).npx, args -y mindthread-mcp, env MINDTHREAD_API_KEY.Without a key, initialize, tools/list, get_playbook and list_formulas still work, so you can look around first.
get_playbook)generate_posts)add_library, publish)list_pending_replies, approve_pending_reply, reject_pending_reply)analytics_insights)get_top_posts, save_brand_doc)set_cloud_patrol)The set any client sees before signing in, generated from the live server with npm run tools-table. The server is the source of truth: when it adds a tool, this package exposes it without an update.
| Tool | Title | Kind | What it does |
|---|---|---|---|
get_me | My plan and key | read | Returns the current plan, this connection's identity and permissions (each permission is allow, ask or deny), remaining daily calls in this … |
list_accounts | List connected accounts | read | Lists the Threads accounts connected to this MindThread member, with the id to pass as account_id to every other tool. |
get_material | Get brand material | read | Returns the account's material digest (who the brand is, what it sells, claims, experiences, FAQ, sourced numbers, voice) that every … |
build_material | Build brand material | write | Builds 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 … |
get_account_settings | Get account settings | read | Returns one account's persona, schedule_times, review_before_publish, auto_reply_enabled, auto_thread, content_rules, and the guardrails … |
update_account_settings | Update account settings | write | Changes an account's persona (up to 4,000 characters), schedule_times (comma-separated HH:MM in the account time zone, up to 8), … |
list_guardrail_changes | Guardrail change history | read | Lists an account's guardrail revisions, newest first (limit 1 to 50, default 20; before for the next page). |
list_account_settings | List account settings (bulk) | read | Lists every connected Threads account of this member with the settings of the MindThread bulk settings sheet (run mode, auto-posting, review … |
preview_account_settings | Preview bulk settings changes | read | Shows what a batch of settings changes would do and writes nothing: for each account and cell the current value and the new value, warnings … |
apply_account_settings | Apply bulk settings changes | write | Writes a batch of settings changes to up to 100 accounts, each account in its own transaction, and returns a per-row result (ok, unchanged, … |
revert_account_settings_batch | Undo a bulk settings batch | write | Restores the values that one batch changed, within 24 hours of the batch. |
get_account_settings_batch | Get a bulk settings batch | read | Returns 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 … |
generate_posts | Generate post drafts | write | Generates 1 to 5 post drafts about a topic using a content formula (auto, or an id from list_formulas), the account persona and material, … |
publish | Publish or schedule a post | write | Publishes a post to Threads now (publish_now:true) or at publish_at (ISO 8601 with offset). |
schedule_text | Schedule a text post | write | Schedules 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 … |
list_schedules | List scheduled posts | read | Lists scheduled posts, optionally filtered by account_id, with status, publish_at, and held_reason when a post was held (for example … |
cancel_schedule | Cancel a scheduled post | write | Cancels a scheduled post by id. |
list_library | List library items | read | Lists an account's library items by status (queued, draft, published, failed; limit up to 200). |
add_library | Add library items | write | Adds up to 20 items (text, optional public https images) to an account's library as queued (default; they publish automatically at … |
delete_library_item | Delete a library item | write | Permanently deletes one queued, draft or archived library item by id. |
approve_library_item | Approve a draft into the queue | write | Moves one draft into the publishing queue by id. |
update_library_item | Update a library item | write | Changes one library item by id: status (archived, draft, queued), text (checked against content_rules), or its place in the queue (position … |
get_cloud_patrol | Get cloud patrol settings | read | Returns an account's cloud patrol configuration and status: keywords, daily cap, replies sent today, review_before_reply, last scan time. |
set_cloud_patrol | Set cloud patrol | write | Creates 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 … |
cloud_patrol_log | Cloud patrol reply log | read | Lists replies sent by cloud patrol for an account in the last 1 to 7 days, with the target post and the reply text. |
cloud_patrol_stats | Cloud patrol results | read | Returns views and likes earned by cloud patrol replies for an account over 1 to 14 days, with the top replies. |
list_pending_replies | List drafted replies awaiting review | read | Lists cloud patrol reply drafts for an account by status (pending by default; also sent, rejected, expired). |
approve_pending_reply | Send a drafted reply | write | Approves one drafted cloud patrol reply by id and sends it to Threads now, optionally with an edited reply text that passes the same quality … |
| reject_pending_reply | Reject a drafted reply | write | Rejects one drafted cloud patrol reply by id with an optional note.
Only the beginning is shown; read the rest in the repo