Threads MCP Server
Threads MCP Server
threads-mcp ist ein stdio MCP-Server für die offizielle Threads-API. Er ist so konzipiert, dass er sich eng an die veröffentlichte Meta Threads-Dokumentation hält und gleichzeitig eine praktische MCP-Tool-Oberfläche für Authentifizierung, Veröffentlichung, Lesen, Moderation, Insights, Entdeckung, Standorte und Einrichtungsdiagnosen bietet.
Der aktuelle Build ist absichtlich auf offiziell dokumentierte Threads-Funktionen und die offizielle Postman-Sammlung beschränkt. Er stützt sich nicht auf undokumentierte Fallback-Endpunkte oder Komfort-Wrapper, die in einem öffentlichen Paket schwer zu warten wären.
Highlights
Nur offizieller Threads-API-Umfang
MCP-Tools für Authentifizierung, Profilsuche, Veröffentlichung, Lesen, Antworten, Insights, Suche, Standorte, oEmbed und Diagnosen
Veröffentlichungseingaben in camelCase modelliert und intern in die von Threads erwarteten snake_case-Parameter serialisiert
Unterstützung für mehrstufige Karussell-Veröffentlichungen
Gemeinsame Client-Schicht für Wiederholungsversuche, Polling, Paginierung und normalisierte Meta-API-Fehler
Related MCP server: threads-mcp
Schnellstart
Abhängigkeiten installieren:
npm installServer bauen:
npm run buildErstellen Sie Ihre lokale Umgebungsdatei und setzen Sie mindestens
THREADS_ACCESS_TOKEN.Wenn Sie noch ein Token benötigen, führen Sie den lokalen OAuth-Helfer aus:
npm run auth:tokenStarten Sie den Server:
node dist/index.jsRufen Sie
validate_setupauf, bevor Sie Veröffentlichungs- oder Moderationsabläufe mit einem echten Konto verwenden.
Tool-Katalog
Authentifizierung
exchange_code_for_tokenget_long_lived_access_tokenrefresh_access_tokenget_app_access_token
Profile und Entdeckung
get_meget_profileget_profile_threads
Veröffentlichung und Lebenszyklus
get_publishing_limitcreate_thread_containerpublish_threadcreate_and_publish_threadrepost_threaddelete_thread
Lesen und Antworten
get_threadsget_threadget_repliesget_thread_conversationget_pending_repliesmanage_replymanage_pending_reply
Insights, Suche und Einbettungen
get_user_insightsget_thread_insightssearch_threadsget_mentionsget_oembed
Standorte und Diagnosen
search_locationsget_locationvalidate_setup
Explizit außerhalb des Geltungsbereichs für v1
Webhooks
Hosting für eingebettete OAuth-Callbacks
Alle undokumentierten Fallback-Endpunkte oder Komfortfunktionen, die nicht durch die offiziellen Dokumente oder die offizielle Postman-Sammlung abgedeckt sind
Architektur
Der Server ist in einige klare Schichten unterteilt:
src/index.tsstartet den MCP stdio-Transport.src/threads/client.tsverwaltet authentifizierte HTTP-Aufrufe, Wiederholungsversuche, Paginierung, Polling und normalisierte Meta-API-Fehler.src/tools/enthält ein Modul pro Tool-Familie sowie gemeinsame Schemata.
Das Veröffentlichungs-Eingabemodell wird als eine einzige öffentliche diskriminierte Union bereitgestellt, die text, image, video, carousel und reply abdeckt.
Voraussetzungen
Sie benötigen all das Folgende, bevor der Server Live-API-Aufrufe tätigen kann:
Eine Meta-App, die für den Threads-Anwendungsfall konfiguriert ist
Ein Threads-Benutzerzugriffstoken für das Konto, mit dem Sie arbeiten möchten
Erweiterter Zugriff und App-Überprüfung, wo Ihre Integration dies erfordert
Node.js 20+ auf dem Computer, auf dem der Server ausgeführt wird
Umgebungsvariablen
Erforderlich für die meisten Benutzer-Token-Tools:
THREADS_ACCESS_TOKEN
Optional:
THREADS_APP_IDTHREADS_APP_SECRETTHREADS_REDIRECT_URITHREADS_API_BASE_URLTHREADS_USER_IDTHREADS_MAX_RETRIESTHREADS_RETRY_BASE_DELAY_MSTHREADS_TIMEOUT_MSTHREADS_PUBLISH_STATUS_TIMEOUT_MSTHREADS_PUBLISH_STATUS_POLL_INTERVAL_MS
Kopieren Sie .env.example und setzen Sie mindestens das Zugriffstoken. THREADS_APP_ID und THREADS_APP_SECRET werden auch für die Auth-Helfer-Tools und für get_oembed benötigt, wenn Sie kein explizites App-Zugriffstoken übergeben.
Wo Sie THREADS_APP_ID erhalten
Öffnen Sie Ihre App im Meta for Developers Dashboard: https://developers.facebook.com/apps/
Öffnen Sie die App, die mit dem Threads-Anwendungsfall erstellt wurde
Gehen Sie zu
Use Cases->Threads->Customize->SettingsKopieren Sie die Threads App ID von dieser Seite
Verwenden Sie diesen Wert als
THREADS_APP_ID
Wichtig:
Verwenden Sie nicht die allgemeine Meta-App-ID aus dem übergeordneten App-Dashboard oder der Einstellungsseite
Verwenden Sie die Threads-spezifischen Anmeldeinformationen aus
Use Cases->Threads->Customize->Settings
THREADS_APP_SECRET stammt von derselben Threads-Einstellungsseite. Halten Sie es privat.
Token-Helfer-Skript
Das Repository enthält einen lokalen OAuth-Helfer, der dem Meta Threads-Zugriffstoken-Ablauf folgt:
Öffnen Sie das Threads-Autorisierungsfenster
Empfangen Sie den Autorisierungscode über eine lokale Callback-URL
Tauschen Sie ihn gegen ein kurzlebiges Token ein
Tauschen Sie dieses gegen ein langlebiges Token ein
Speichern Sie das Ergebnis in
.envalsTHREADS_ACCESS_TOKEN
Einrichtung:
Fügen Sie Ihre Meta-App-Anmeldeinformationen zu
.envhinzuStellen Sie sicher, dass die gültige OAuth-Redirect-URI Ihrer App mit
THREADS_REDIRECT_URIübereinstimmt
Ausführen:
npm run auth:tokenOptionale Flags:
--redirect-uri http://127.0.0.1:8788/callback--env-file .env.local--no-open
Erforderliche Scopes nach Tool-Familie
threads_basicWird vonget_me,get_profile,get_threads,get_threadund der grundlegenden Einrichtungsvalidierung verwendet.threads_content_publishWird vonget_publishing_limit,create_thread_container,publish_threadundcreate_and_publish_threadverwendet.threads_read_repliesWird vonget_repliesund sicheren Antwort-Lese-Tests invalidate_setupverwendet.threads_manage_repliesWird vonmanage_replyverwendet.threads_manage_insightsWird vonget_user_insightsundget_thread_insightsverwendet.threads_keyword_searchWird vonsearch_threadsverwendet.threads_profile_discoveryWird vonget_profileundget_profile_threadsfür Szenarien zur Entdeckung öffentlicher Konten verwendet.threads_location_taggingWird vonsearch_locations,get_locationund Veröffentlichungsabläufen verwendet, dielocationIdsetzen.threads_deleteWird vondelete_threadverwendet.
validate_setup führt sichere Tests durch, um den Zugriff für threads_basic, threads_content_publish, threads_read_replies, threads_manage_insights, threads_keyword_search, threads_profile_discovery und threads_location_tagging abzuleiten. Es führt absichtlich keine destruktiven Tests für threads_manage_replies oder threads_delete durch, daher werden diese Scopes nicht aktiv durch die Einrichtung validiert.
Veröffentlichungsverhalten
Der Server modelliert offizielle Container-Optionen in camelCase und serialisiert sie intern in die snake_case-Parameter, die von der Threads-API erwartet werden.
Unterstützte Eingaben umfassen:
Allgemeine Felder:
text,replyControl,replyToId,quotePostId,topicTag,locationId,textEntities,allowlistedCountryCodesNur-Text-Felder:
linkAttachment,pollAttachment,textAttachment,gifAttachment,enableReplyApprovals,autoPublishText,isGhostPostBild- oder Videofelder:
imageUrl,videoUrl,altText,isSpoilerMediaKarussell-Elemente: validierte Arrays von Bild- oder Videoelementen mit Medienelementen pro Element
Die Karussell-Veröffentlichung folgt dem offiziellen mehrstufigen Ablauf:
Erstellen Sie einen Element-Container pro Bild oder Video mit
is_carousel_item=trueErstellen Sie den übergeordneten Karussell-Container mit
children=[...]Veröffentlichen Sie den übergeordneten Container
Abdeckungshinweise
Das Repository deckt derzeit diese offiziellen Threads-API-Familien ab:
Autorisierungshelfer
Veröffentlichung, einschließlich Zitat-Posts, Repost-Veröffentlichung und Container-Status-Polling
Benutzerprofilsuche und Abruf öffentlicher Profil-Posts
Abruf von Threads-Medien
Abruf von Antworten, abgeflachte Konversationen, ausstehende Antworten, Verbergen und Einblenden sowie Genehmigungs- und Ignorier-Abläufe
Benutzer- und Post-Insights
Stichwortsuche und Erwähnungen
Standortsuche und Standortabruf
oEmbed
Einrichtungsdiagnosen
Beispiel für lokale MCP-Konfiguration
Beispiel für eine Konfiguration im Claude Desktop-Stil:
{
"mcpServers": {
"threads": {
"command": "node",
"args": ["/absolute/path/to/threads-mcp/dist/index.js"],
"env": {
"THREADS_ACCESS_TOKEN": "thdt_your_user_access_token",
"THREADS_APP_ID": "optional_app_id",
"THREADS_APP_SECRET": "optional_app_secret"
}
}
}
}Wenn Sie dieses Paket später als CLI veröffentlichen, kann der command zu threads-mcp werden.
Veröffentlichung
Die Paket-Metadaten sind bereits für die npm-Veröffentlichung als öffentliches Paket konfiguriert:
Paketname:
threads-mcpaktuelle Version:
0.0.0CLI-Einstiegspunkt:
threads-mcpVeröffentlichungszugriff:
public
Führen Sie vor der Veröffentlichung Folgendes aus:
npm run build
npm test
npm publish --access publicprepublishOnly ist so konfiguriert, dass die Build- und Testschritte automatisch während npm publish ausgeführt werden.
Entwicklung
Installieren Sie die Abhängigkeiten, sobald Node.js verfügbar ist:
npm install
npm run build
npm testEmpfohlene manuelle Prüfungen:
Führen Sie
npm run buildaus, um die TypeScript-Kompilierung zu überprüfen.Führen Sie
npm testaus, um die Schema-, Client- und Tool-Registrierungstests auszuführen.Starten Sie den Server mit
node dist/index.js.Rufen Sie zuerst
validate_setupmit einem echten Token auf.Testen Sie
create_thread_containerundpublish_threadmit einem Test-Threads-Konto.
Bekannte Einschränkungen
Transport ist in v1 nur stdio
Es gibt keinen eingebetteten OAuth-Callback-Server; Token-Austausch-Helfer werden stattdessen als MCP-Tools bereitgestellt
validate_setupkannthreads_manage_repliesnicht sicher verifizieren, ohne einen zustandsändernden Moderationsaufruf durchzuführenvalidate_setupführt auch keinen zustandsändernden Löschtest durchcreate_and_publish_threadlehntautoPublishText=trueabsichtlich ab, da dieses Flag mit dem expliziten zweistufigen Vertrag des Tools in Konflikt stehtDie Antwort-Veröffentlichung ist als dedizierte
reply-Variante modelliert, die durch den offiziellenreply_to_id-Parameter unterstützt wird und derzeit auf Textantworten im öffentlichen Schema abzieltDie Überprüfung des Live-API-Verhaltens hängt weiterhin von gültigen App-Anmeldeinformationen, genehmigten Scopes und einem echten Threads-Konto ab
Quellen für API-Umfang und Endpunktauswahl
Meta Threads API-Referenz: https://developers.facebook.com/docs/threads/reference
Meta Threads Veröffentlichungsreferenz: https://developers.facebook.com/docs/threads/reference/publishing
Offizieller Meta Postman-Arbeitsbereich: https://www.postman.com/meta/threads/documentation/dht3nzz/threads-api
This server cannot be deployed
Maintenance
Related MCP Connectors
Official MCP server for twitterapis.com. Read and write Twitter/X: search, users, tweets, DMs.
Discover MCP servers and A2A agents; verify, message, post, follow, react, and receive webhooks.
The official MCP Server for the Mux API
- SupabaseOAuthcom.supabase
MCP server for interacting with the Supabase platform
Related MCP Servers
- AlicenseAqualityCmaintenanceUnofficial MCP server for Meta's Threads API. Enables LLMs like Claude to publish posts, manage replies, and track insights through the Model Context Protocol.15MIT
- FlicenseAqualityDmaintenanceMCP server for the Threads API, enabling profile management, content reading, publishing, replies, and discovery through 26 tools.26-
- AlicenseAqualityCmaintenanceCustom MCP server for Threads (Meta) — post, reply, and read insights via the official free Threads API.57 npmMIT
- AlicenseAqualityAmaintenanceAn MCP server for Meta's Threads that acts as your own account, enabling reading profiles, posts, replies, timeline, search, and performing actions like posting, replying, liking, following, and scheduling, using a real logged-in browser session.2428 npm1MIT