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
Быстрый старт
Установите зависимости:
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.
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