Threads MCP Server
Threads MCP Server
threads-mcp — это сервер MCP через stdio для официального API Threads. Он разработан так, чтобы максимально соответствовать опубликованной документации Meta Threads, предоставляя при этом практичный набор инструментов MCP для аутентификации, публикации, чтения, модерации, аналитики, поиска, работы с локациями и диагностики настройки.
Текущая сборка намеренно ограничена официально задокументированными возможностями Threads и официальной коллекцией Postman. Она не полагается на недокументированные резервные конечные точки или вспомогательные обертки, которые было бы сложно поддерживать в публичном пакете.
Основные возможности
Только официальные области применения API Threads
Инструменты MCP для аутентификации, поиска профилей, публикации, чтения, ответов, аналитики, поиска, локаций, oEmbed и диагностики
Входные данные для публикации представлены в формате camelCase и сериализуются внутри в параметры snake_case, ожидаемые Threads
Поддержка многоэтапной публикации каруселей
Общий клиентский уровень для повторных попыток, опроса, пагинации и нормализованных ошибок Meta API
Related MCP server: threads-mcp
Быстрый старт
Установите зависимости:
npm installСоберите сервер:
npm run buildСоздайте файл локальной среды и установите как минимум
THREADS_ACCESS_TOKEN.Если вам все еще нужен токен, запустите локальный помощник OAuth:
npm run auth:tokenЗапустите сервер:
node dist/index.jsВызовите
validate_setupперед использованием потоков публикации или модерации для реальной учетной записи.
Каталог инструментов
Аутентификация
exchange_code_for_tokenget_long_lived_access_tokenrefresh_access_tokenget_app_access_token
Профили и поиск
get_meget_profileget_profile_threads
Публикация и жизненный цикл
get_publishing_limitcreate_thread_containerpublish_threadcreate_and_publish_threadrepost_threaddelete_thread
Чтение и ответы
get_threadsget_threadget_repliesget_thread_conversationget_pending_repliesmanage_replymanage_pending_reply
Аналитика, поиск и встраивание
get_user_insightsget_thread_insightssearch_threadsget_mentionsget_oembed
Локации и диагностика
search_locationsget_locationvalidate_setup
Явно вне области применения v1
Вебхуки
Хостинг встроенных обратных вызовов OAuth
Любые недокументированные резервные конечные точки или вспомогательные функции, не охваченные официальной документацией или официальной коллекцией Postman
Архитектура
Сервер разделен на несколько четких уровней:
src/index.tsзапускает транспорт MCP stdio.src/threads/client.tsотвечает за аутентифицированные HTTP-вызовы, повторные попытки, пагинацию, опрос и нормализованные ошибки Meta API.src/tools/содержит по одному модулю для каждого семейства инструментов плюс общие схемы.
Модель входных данных для публикации представлена как единое публичное дискриминантное объединение, охватывающее text, image, video, carousel и reply.
Предварительные требования
Вам необходимо выполнить все следующее, прежде чем сервер сможет совершать реальные вызовы API:
Приложение Meta, настроенное для использования Threads
Токен доступа пользователя Threads для учетной записи, с которой вы хотите работать
Расширенный доступ и проверка приложения, если ваша интеграция этого требует
Node.js 20+ на машине, где будет работать сервер
Переменные среды
Требуются для большинства инструментов, использующих токен пользователя:
THREADS_ACCESS_TOKEN
Опционально:
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
Скопируйте .env.example и установите хотя бы токен доступа. THREADS_APP_ID и THREADS_APP_SECRET также необходимы для инструментов-помощников аутентификации и для get_oembed, если вы не передаете явный токен доступа приложения.
Где получить THREADS_APP_ID
Откройте свое приложение на панели управления Meta for Developers: https://developers.facebook.com/apps/
Откройте приложение, созданное с использованием Threads
Перейдите в
Use Cases->Threads->Customize->SettingsСкопируйте Threads App ID с этой страницы
Используйте это значение как
THREADS_APP_ID
Важно:
Не используйте общий ID приложения Meta с главной панели управления или страницы настроек
Используйте учетные данные, специфичные для варианта использования Threads, из
Use Cases->Threads->Customize->Settings
THREADS_APP_SECRET берется с той же страницы настроек Threads. Держите его в секрете.
Скрипт-помощник для токенов
Репозиторий включает локальный помощник OAuth, который следует потоку получения токена доступа Meta Threads:
Откройте окно авторизации Threads
Получите код авторизации по локальному URL обратного вызова
Обменяйте его на краткосрочный токен
Обменяйте его на долгосрочный токен
Сохраните результат в
.envкакTHREADS_ACCESS_TOKEN
Настройка:
Добавьте учетные данные вашего приложения Meta в
.envУбедитесь, что действительный URI перенаправления OAuth вашего приложения совпадает с
THREADS_REDIRECT_URI
Запуск:
npm run auth:tokenОпциональные флаги:
--redirect-uri http://127.0.0.1:8788/callback--env-file .env.local--no-open
Требуемые области доступа (scopes) по семействам инструментов
threads_basicИспользуетсяget_me,get_profile,get_threads,get_threadи базовой проверкой настройки.threads_content_publishИспользуетсяget_publishing_limit,create_thread_container,publish_threadиcreate_and_publish_thread.threads_read_repliesИспользуетсяget_repliesи безопасными проверками чтения ответов вvalidate_setup.threads_manage_repliesИспользуетсяmanage_reply.threads_manage_insightsИспользуетсяget_user_insightsиget_thread_insights.threads_keyword_searchИспользуетсяsearch_threads.threads_profile_discoveryИспользуетсяget_profileиget_profile_threadsдля сценариев поиска публичных аккаунтов.threads_location_taggingИспользуетсяsearch_locations,get_locationи потоками публикации, которые устанавливаютlocationId.threads_deleteИспользуетсяdelete_thread.
validate_setup выполняет безопасные проверки для определения доступа к threads_basic, threads_content_publish, threads_read_replies, threads_manage_insights, threads_keyword_search, threads_profile_discovery и threads_location_tagging. Он намеренно не выполняет деструктивные проверки для threads_manage_replies или threads_delete, поэтому эти области доступа активно не проверяются при настройке.
Поведение при публикации
Сервер моделирует официальные параметры контейнера в camelCase и сериализует их внутри в параметры snake_case, ожидаемые API Threads.
Поддерживаемые входные данные включают:
Общие поля:
text,replyControl,replyToId,quotePostId,topicTag,locationId,textEntities,allowlistedCountryCodesПоля только для текста:
linkAttachment,pollAttachment,textAttachment,gifAttachment,enableReplyApprovals,autoPublishText,isGhostPostПоля для изображений или видео:
imageUrl,videoUrl,altText,isSpoilerMediaЭлементы карусели: проверенные массивы элементов изображений или видео с полями медиа для каждого элемента
Публикация карусели следует официальному многоэтапному потоку:
Создайте один контейнер элемента для каждого изображения или видео с
is_carousel_item=trueСоздайте родительский контейнер карусели с
children=[...]Опубликуйте родительский контейнер
Примечания по покрытию
Репозиторий в настоящее время охватывает следующие официальные семейства API Threads:
Помощники авторизации
Публикация, включая цитирование постов, публикацию репостов и опрос статуса контейнера
Поиск профиля пользователя и получение постов публичного профиля
Получение медиа Threads
Получение ответов, выровненные беседы, ожидающие ответы, скрытие и отображение, а также потоки одобрения и игнорирования
Аналитика пользователей и постов
Поиск по ключевым словам и упоминания
Поиск локаций и получение локации
oEmbed
Диагностика настройки
Пример локальной конфигурации MCP
Пример конфигурации в стиле 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"
}
}
}
}Если вы позже опубликуете этот пакет как CLI, command может стать threads-mcp.
Публикация
Метаданные пакета уже настроены для публикации в npm как публичный пакет:
имя пакета:
threads-mcpтекущая версия:
0.0.0точка входа CLI:
threads-mcpдоступ к публикации:
public
Перед публикацией выполните:
npm run build
npm test
npm publish --access publicprepublishOnly настроен на автоматический запуск этапов сборки и тестирования во время npm publish.
Разработка
Установите зависимости, как только Node.js станет доступен:
npm install
npm run build
npm testРекомендуемые ручные проверки:
Запустите
npm run buildдля проверки компиляции TypeScript.Запустите
npm testдля выполнения тестов схемы, клиента и регистрации инструментов.Запустите сервер с помощью
node dist/index.js.Сначала вызовите
validate_setupс реальным токеном.Протестируйте
create_thread_containerиpublish_threadс тестовой учетной записью Threads.
Известные ограничения
Транспорт только stdio в v1
Нет встроенного сервера обратного вызова OAuth; помощники обмена токенами вместо этого представлены как инструменты MCP
validate_setupне может безопасно проверитьthreads_manage_repliesбез выполнения вызова модерации, изменяющего состояниеvalidate_setupтакже не выполняет проверку удаления, изменяющую состояниеcreate_and_publish_threadнамеренно отклоняетautoPublishText=true, так как этот флаг конфликтует с явным двухэтапным контрактом инструментаПубликация ответов моделируется как выделенный вариант
reply, поддерживаемый официальным параметромreply_to_id, и в настоящее время нацелена на текстовые ответы в публичной схемеПроверка поведения реального API по-прежнему зависит от действительных учетных данных приложения, одобренных областей доступа и реальной учетной записи Threads
Источники, использованные для выбора области API и конечных точек
Справочник Meta Threads API: https://developers.facebook.com/docs/threads/reference
Справочник по публикации Meta Threads: https://developers.facebook.com/docs/threads/reference/publishing
Официальное рабочее пространство Meta Postman: 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.
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
- FlicenseAqualityCmaintenanceMCP server for the Threads API, enabling profile management, content reading, publishing, replies, and discovery through 26 tools.26
- AlicenseAqualityBmaintenanceCustom MCP server for Threads (Meta) — post, reply, and read insights via the official free Threads API.514MIT
- 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.2441MIT
Related MCP Connectors
MCP server for interacting with the Supabase platform
A basic MCP server to operate on the Postman API.
MCP (Model Context Protocol) server for Appwrite
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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