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
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 installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/poisonstefani-dev/threads-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server