Threads MCP Server
Servidor MCP de Threads
threads-mcp es un servidor MCP stdio para la API oficial de Threads. Está diseñado para mantenerse fiel a la documentación publicada de Meta Threads, al tiempo que expone una superficie de herramientas MCP práctica para autenticación, publicación, lectura, moderación, estadísticas, descubrimiento, ubicaciones y diagnósticos de configuración.
La versión actual está limitada intencionalmente a las capacidades de Threads documentadas oficialmente y a la colección oficial de Postman. No depende de endpoints de respaldo no documentados ni de envoltorios de conveniencia que serían difíciles de mantener en un paquete público.
Aspectos destacados
Solo alcance de la API oficial de Threads
Herramientas MCP para autenticación, búsqueda de perfiles, publicación, lectura, respuestas, estadísticas, búsqueda, ubicaciones, oEmbed y diagnósticos
Entradas de publicación modeladas en camelCase y serializadas internamente a los parámetros snake_case esperados por Threads
Soporte para publicación de carruseles en varios pasos
Capa de cliente compartida para reintentos, sondeo (polling), paginación y errores normalizados de la API de Meta
Inicio rápido
Instalar dependencias:
npm installCompilar el servidor:
npm run buildCrea tu archivo de entorno local y establece al menos
THREADS_ACCESS_TOKEN.Si aún necesitas un token, ejecuta el asistente de OAuth local:
npm run auth:tokenInicia el servidor:
node dist/index.jsLlama a
validate_setupantes de usar los flujos de publicación o moderación con una cuenta real.
Catálogo de herramientas
Autenticación
exchange_code_for_tokenget_long_lived_access_tokenrefresh_access_tokenget_app_access_token
Perfiles y descubrimiento
get_meget_profileget_profile_threads
Publicación y ciclo de vida
get_publishing_limitcreate_thread_containerpublish_threadcreate_and_publish_threadrepost_threaddelete_thread
Lectura y respuestas
get_threadsget_threadget_repliesget_thread_conversationget_pending_repliesmanage_replymanage_pending_reply
Estadísticas, búsqueda y embebidos
get_user_insightsget_thread_insightssearch_threadsget_mentionsget_oembed
Ubicaciones y diagnósticos
search_locationsget_locationvalidate_setup
Explícitamente fuera del alcance para la v1
Webhooks
Alojamiento de callback de OAuth embebido
Cualquier endpoint de respaldo no documentado o funciones de conveniencia que no estén cubiertas por la documentación oficial o la colección oficial de Postman
Arquitectura
El servidor está dividido en unas pocas capas claras:
src/index.tsarranca el transporte stdio de MCP.src/threads/client.tsgestiona las llamadas HTTP autenticadas, reintentos, paginación, sondeo y errores normalizados de la API de Meta.src/tools/contiene un módulo por familia de herramientas además de esquemas compartidos.
El modelo de entrada de publicación se expone como una unión discriminada pública única que cubre text, image, video, carousel y reply.
Requisitos previos
Necesitas todo lo siguiente antes de que el servidor pueda realizar llamadas a la API en vivo:
Una aplicación de Meta configurada para el caso de uso de Threads
Un token de acceso de usuario de Threads para la cuenta en la que deseas operar
Acceso avanzado y revisión de la aplicación donde tu integración lo requiera
Node.js 20+ en la máquina donde se ejecutará el servidor
Variables de entorno
Requeridas para la mayoría de las herramientas de token de usuario:
THREADS_ACCESS_TOKEN
Opcionales:
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
Copia .env.example y establece al menos el token de acceso. THREADS_APP_ID y THREADS_APP_SECRET también son necesarios para las herramientas de ayuda de autenticación y para get_oembed cuando no pasas un token de acceso de aplicación explícito.
Dónde obtener THREADS_APP_ID
Abre tu aplicación en el panel de Meta for Developers: https://developers.facebook.com/apps/
Abre la aplicación creada con el caso de uso Threads
Ve a
Use Cases->Threads->Customize->SettingsCopia el Threads App ID de esa página
Usa ese valor como
THREADS_APP_ID
Importante:
No uses el ID de aplicación general de Meta del panel de control o la página de configuración de nivel superior
Usa las credenciales específicas del caso de uso de Threads desde
Use Cases->Threads->Customize->Settings
THREADS_APP_SECRET proviene de la misma página de configuración del caso de uso de Threads. Mantenlo privado.
Script de ayuda de tokens
El repositorio incluye un asistente de OAuth local que sigue el flujo de token de acceso de Meta Threads:
Abre la ventana de autorización de Threads
Recibe el código de autorización en una URL de callback local
Intercámbialo por un token de corta duración
Intercámbialo por un token de larga duración
Guarda el resultado en
.envcomoTHREADS_ACCESS_TOKEN
Configuración:
Añade tus credenciales de aplicación de Meta a
.envAsegúrate de que la URI de redirección de OAuth válida de tu aplicación coincida con
THREADS_REDIRECT_URI
Ejecución:
npm run auth:tokenFlags opcionales:
--redirect-uri http://127.0.0.1:8788/callback--env-file .env.local--no-open
Alcances requeridos por familia de herramientas
threads_basicUtilizado porget_me,get_profile,get_threads,get_thready la validación de configuración base.threads_content_publishUtilizado porget_publishing_limit,create_thread_container,publish_threadycreate_and_publish_thread.threads_read_repliesUtilizado porget_repliesy pruebas seguras de lectura de respuestas envalidate_setup.threads_manage_repliesUtilizado pormanage_reply.threads_manage_insightsUtilizado porget_user_insightsyget_thread_insights.threads_keyword_searchUtilizado porsearch_threads.threads_profile_discoveryUtilizado porget_profileyget_profile_threadspara escenarios de descubrimiento de cuentas públicas.threads_location_taggingUtilizado porsearch_locations,get_locationy flujos de publicación que establecenlocationId.threads_deleteUtilizado pordelete_thread.
validate_setup realiza pruebas seguras para inferir el acceso para threads_basic, threads_content_publish, threads_read_replies, threads_manage_insights, threads_keyword_search, threads_profile_discovery y threads_location_tagging. Deliberadamente no realiza pruebas destructivas para threads_manage_replies o threads_delete, por lo que esos alcances no se validan activamente mediante la configuración.
Comportamiento de publicación
El servidor modela las opciones de contenedor oficiales en camelCase y las serializa internamente a los parámetros snake_case esperados por la API de Threads.
Las entradas admitidas incluyen:
Campos comunes:
text,replyControl,replyToId,quotePostId,topicTag,locationId,textEntities,allowlistedCountryCodesCampos solo de texto:
linkAttachment,pollAttachment,textAttachment,gifAttachment,enableReplyApprovals,autoPublishText,isGhostPostCampos de imagen o video:
imageUrl,videoUrl,altText,isSpoilerMediaElementos de carrusel: arrays validados de elementos de imagen o video con campos multimedia por elemento
La publicación de carruseles sigue el flujo oficial de varios pasos:
Crear un contenedor de elemento por imagen o video con
is_carousel_item=trueCrear el contenedor de carrusel padre con
children=[...]Publicar el contenedor padre
Notas de cobertura
El repositorio cubre actualmente estas familias de la API oficial de Threads:
Asistentes de autorización
Publicación, incluyendo publicaciones de cita, publicación de reposts y sondeo de estado de contenedor
Búsqueda de perfil de usuario y recuperación de publicaciones de perfil público
Recuperación de medios de Threads
Recuperación de respuestas, conversaciones aplanadas, respuestas pendientes, ocultar y mostrar, y flujos de aprobación e ignorar
Estadísticas de usuario y de publicación
Búsqueda por palabras clave y menciones
Búsqueda de ubicaciones y recuperación de ubicaciones
oEmbed
Diagnósticos de configuración
Ejemplo de configuración local de MCP
Ejemplo de configuración al estilo de Claude Desktop:
{
"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"
}
}
}
}Si más adelante publicas este paquete como una CLI, el command puede convertirse en threads-mcp.
Publicación
Los metadatos del paquete ya están configurados para la publicación en npm como un paquete público:
nombre del paquete:
threads-mcpversión actual:
0.0.0punto de entrada CLI:
threads-mcpacceso de publicación:
public
Antes de publicar, ejecuta:
npm run build
npm test
npm publish --access publicprepublishOnly está configurado para ejecutar los pasos de compilación y prueba automáticamente durante npm publish.
Desarrollo
Instala las dependencias una vez que Node.js esté disponible:
npm install
npm run build
npm testVerificaciones manuales sugeridas:
Ejecuta
npm run buildpara verificar la compilación de TypeScript.Ejecuta
npm testpara ejecutar las pruebas de esquema, cliente y registro de herramientas.Inicia el servidor con
node dist/index.js.Llama primero a
validate_setupcon un token real.Prueba
create_thread_containerypublish_threadcon una cuenta de Threads de prueba.
Limitaciones conocidas
El transporte es solo stdio en la v1
No hay un servidor de callback de OAuth embebido; los asistentes de intercambio de tokens se exponen como herramientas MCP en su lugar
validate_setupno puede verificar de forma segurathreads_manage_repliessin realizar una llamada de moderación que cambie el estadovalidate_setuptampoco realiza una prueba de eliminación que cambie el estadocreate_and_publish_threadrechaza intencionalmenteautoPublishText=trueporque ese flag entra en conflicto con el contrato explícito de dos pasos de la herramientaLa publicación de respuestas se modela como una variante dedicada
replyrespaldada por el parámetro oficialreply_to_idy actualmente apunta a respuestas de texto en el esquema públicoLa verificación del comportamiento de la API en vivo sigue dependiendo de credenciales de aplicación válidas, alcances aprobados y una cuenta de Threads real
Fuentes utilizadas para el alcance de la API y la selección de endpoints
Referencia de la API de Meta Threads: https://developers.facebook.com/docs/threads/reference
Referencia de publicación de Meta Threads: https://developers.facebook.com/docs/threads/reference/publishing
Espacio de trabajo oficial de Postman de Meta Threads: 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