Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Threads scheduler for AI agents: write, schedule and publish posts, review replies, read insights.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
MINDTHREAD_API_KEY, AuthorizationAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Diese Adresse braucht einen Schlüssel in einem Header der Anfrage, und das Menü zum Hinzufügen von Connectors kann ihn nicht setzen. Nutze stattdessen Claude Code, Cursor oder VS Code.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"mindthread": {
"command": "npx",
"args": [
"-y",
"mindthread-mcp"
],
"env": {
"MINDTHREAD_API_KEY": "your-value"
}
}
}
}Führe das in deinem Terminal aus
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-mcpTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"mindthread": {
"url": "https://mindthread.tw/api/mcp",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"mindthread": {
"command": "npx",
"args": [
"-y",
"mindthread-mcp"
],
"env": {
"MINDTHREAD_API_KEY": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"mindthread": {
"type": "http",
"url": "https://mindthread.tw/api/mcp",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"mindthread": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mindthread-mcp"
],
"env": {
"MINDTHREAD_API_KEY": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Diese Adresse braucht einen Schlüssel in einem Header der Anfrage, und das Menü zum Hinzufügen von Connectors kann ihn nicht setzen. Nutze stattdessen Claude Code, Cursor oder VS Code.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Authorization geheim HTTP headerDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Tool-Namen und -Beschreibungen genau so, wie der Server sie am 7. Nov. 2026 gemeldet hat. Geschrieben hat sie der Entwickler, nicht wir; wir zeigen sie als reinen Text.
get_meReturns 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 appro
list_accountsLists 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_materialReturns 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
build_materialBuilds 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 previ
get_account_settingsReturns 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 a
update_account_settingsChanges 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, random posting (random_schedule, random_per_day, random_window,
list_guardrail_changesLists 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
list_account_settingsLists 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
preview_account_settingsShows 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 ran
apply_account_settingsWrites 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 retrie
revert_account_settings_batchRestores 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_batchReturns 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
publishPublishes 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 u
schedule_textSchedules 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 c
list_schedulesLists 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_scheduleCancels 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_libraryLists 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 recla
add_libraryAdds 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 sho
delete_library_itemPermanently deletes one queued, draft or archived library item by id. Applies when the user explicitly wants an item gone rather than archived.
approve_library_itemMoves 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_itemChanges 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 alread
get_cloud_patrolReturns 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 se
set_cloud_patrolCreates 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 re
cloud_patrol_logLists 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_statsReturns 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_repliesLists 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. Each call counts against the daily quota even when nothing is pendin
approve_pending_replyApproves 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_replyRejects 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_eventsReturns 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. Each ca
get_top_postsReturns the best posts of a Threads account this member connected, ranked by engagement (likes + replies + reposts + quotes) or by views, likes, replies, reposts or quotes, with each post's text and metrics from MindThread's insights cache. Other people's accounts cannot be read:
save_brand_docSaves a brand, content or content-map document (Markdown or plain text, up to 50,000 characters) under a doc_id such as brand, content or content_map, as a new version; the last 20 versions are kept. Pass base_version (the version you read, 0 when creating) so a concurrent edit i
get_brand_docReturns one saved document by doc_id (latest, or an earlier version), or lists all documents when doc_id is omitted. Applies before generating or scheduling posts so the drafts follow the brand and content documents. 繁中:讀取品牌文件;不給 doc_id 就列出全部。
analytics_insightsReturns 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_formulasLists 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_playbookReturns 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 servi
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_keyPermanently 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; q
get_my_usageReturns 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 conne
get_approvalReturns 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 ru
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_libraryPermanently 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_libraryMoves 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 dr
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto ppcvote bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Antwort in 144 ms (HTTP 200)
Keine Anmeldung nötig
Wir haben 43 Tool-Beschreibungen gelesen und keine versteckten Anweisungen an die KI gefunden
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: MINDTHREAD_API_KEY, Authorization
Beides geht: Installiere ihn auf deinem Computer oder verbinde dich mit der Cloud-Version.
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.2.0) kam vor 12 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL, also funktionieren auch Apps, die Remote-MCP-Server akzeptieren, zum Beispiel ChatGPT im Entwicklermodus.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, alalanet — check before you pay
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
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.
Check packages, MCP servers and x402 endpoints before agents install or pay. Signed.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
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.
Nur der Anfang wird gezeigt; den Rest findest du im Repo