discourse/discourse-mcp

discourse/discourse-mcp

от discourse
MCP сервер для интеграции AI-агентов с Discourse: поиск, чтение и управление топиками, постами, пользователями. Опциональная запись с защитой от злоупотреблений. Полезен для автоматизации модерации...

Discourse MCP

A Model Context Protocol (MCP) stdio server that exposes Discourse forum capabilities as tools and resources for AI agents.

  • Entry point: src/index.ts → compiled to dist/index.js (binary name: discourse-mcp)
  • SDK: @modelcontextprotocol/sdk
  • Node: >= 24
  • Version: 0.2.4 (0.2.x has breaking changes from 0.1.x - JSON-only output, resources replace list tools)

Quick start (release)

  • Run (read‑only, recommended to start)
npx -y @discourse/mcp@latest

Then, in your MCP client, either:

  • Call the discourse_select_site tool with { "site": "https://try.discourse.org" } to choose a site, or

  • Start the server tethered to a site using --site https://try.discourse.org (in which case discourse_select_site is hidden).

  • Enable writes (opt‑in, safe‑guarded)

npx -y @discourse/mcp@latest --allow_writes --read_only=false --auth_pairs '[{"site":"https://try.discourse.org","api_key":"'$DISCOURSE_API_KEY'","api_username":"system"}]'
discourse_filter_topics

Фильтрует темы с помощью лаконичного языка запросов. Возвращает JSON-объект с массивом results (id, slug, title) и метаданными meta (page, limit, has_more). Синтаксис запроса: category/categories (запятая = OR, '=category' = без подкатегорий, '-' = исключить), tag/tags (запятая = OR, '+' = AND), status:(open|closed|archived|listed|unlisted|public), in:(bookmarked|watching|tracking|muted|pinned), dates: created/activity-(before|after) YYYY-MM-DD или N дней, order: activity|created|latest-post|likes|views с опциональным -asc.

Filter Topics

Фильтрует темы с помощью лаконичного языка запросов. Возвращает JSON-объект с массивом results (id, slug, title) и метаданными meta (page, limit, has_more). Синтаксис запроса: category/categories (запятая = OR, '=category' = без подкатегорий, '-' = исключить), tag/tags (запятая = OR, '+' = AND), status:(open|closed|archived|listed|unlisted|public), in:(bookmarked|watching|tracking|muted|pinned), dates: created/activity-(before|after) YYYY-MM-DD или N дней, order: activity|created|latest-post|likes|views с опциональным -asc.

Параметры

  • filterstringобязательный

    Filter query, e.g. 'category:support status:open created-after:30 order:activity'

  • pageinteger

    Page number (0-based, default: 0)

  • per_pageinteger

    Items per page (max 50)

discourse_get_chat_messages

Получает сообщения из чат-канала. Возвращает JSON-объект с channel_id, массивом messages (id, username, created_at, message, edited, thread_id, in_reply_to_id) и meta.

Get Chat Messages

Получает сообщения из чат-канала. Возвращает JSON-объект с channel_id, массивом messages (id, username, created_at, message, edited, thread_id, in_reply_to_id) и meta.

Параметры

  • channel_idintegerобязательный

    The chat channel ID

  • page_sizeinteger

    Number of messages to return (default: 50, max: 50)

  • target_message_idinteger

    Message ID to query around or paginate from

  • directionenum

    Pagination direction: 'past' for older messages, 'future' for newer

    pastfuture
  • target_datestring

    ISO 8601 date string to query messages around

discourse_get_draft

Получает конкретный черновик по ключу. Возвращает JSON с draft_key, sequence и parsed data (title, reply, categoryId, tags, action).

Get Draft

Получает конкретный черновик по ключу. Возвращает JSON с draft_key, sequence и parsed data (title, reply, categoryId, tags, action).

Параметры

  • draft_keystringобязательный

    Draft key (e.g., "new_topic", "topic_123", "new_private_message")

  • sequenceinteger

    Expected sequence number (optional)

discourse_get_query

Получить полные сведения о запросе Data Explorer, включая SQL и параметры. Требуется API-ключ администратора.

Get Data Explorer Query

Получить полные сведения о запросе Data Explorer, включая SQL и параметры. Требуется API-ключ администратора.

Параметры

  • idintegerобязательный

    Query ID

discourse_get_user

Получить информацию о пользователе. Возвращает JSON с id, username, name, trust_level, created_at, bio, admin и moderator.

Get User

Получить информацию о пользователе. Возвращает JSON с id, username, name, trust_level, created_at, bio, admin и moderator.

Параметры

  • usernamestringобязательный
discourse_list_user_posts

Получает постраничный список постов/ответов пользователя. Возвращает JSON-объект с массивом posts (id, topic_id, post_number, slug, title, created_at, excerpt, category_id) и meta (page, limit, has_more).

List User Posts

Получает постраничный список постов/ответов пользователя. Возвращает JSON-объект с массивом posts (id, topic_id, post_number, slug, title, created_at, excerpt, category_id) и meta (page, limit, has_more).

Параметры

  • usernamestringобязательный
  • pageinteger
  • limitinteger

    Posts per page (max 50, default 30)

discourse_list_users

Получает список пользователей через API администратора. Требуется ключ API администратора. Возвращает около 100 пользователей на странице (фиксированный размер страницы Discourse). Возвращает JSON с массивом пользователей и метаданными пагинации.

List Users

Получает список пользователей через API администратора. Требуется ключ API администратора. Возвращает около 100 пользователей на странице (фиксированный размер страницы Discourse). Возвращает JSON с массивом пользователей и метаданными пагинации.

Параметры

  • queryenum

    User query type

    activenewstaffsuspendedsilencedpendingstaged
  • filterstring

    Search by username, email, or IP address

  • orderenum

    Sort order field

    createdlast_emailedseenusernametrust_leveldays_visitedposts
  • ascboolean

    Sort ascending (default: false/descending)

  • pageinteger

    Page number (0-indexed)

discourse_read_post

Читает конкретный пост. Возвращает JSON с id, topic_id, post_number, username, created_at и raw content.

Read Post

Читает конкретный пост. Возвращает JSON с id, topic_id, post_number, username, created_at и raw content.

Параметры

  • post_idintegerобязательный
discourse_read_topic

Читает метаданные темы и сообщения. Возвращает JSON с id, title, slug, category_id, tags и массивом posts.

Read Topic

Читает метаданные темы и сообщения. Возвращает JSON с id, title, slug, category_id, tags и массивом posts.

Параметры

  • topic_idintegerобязательный
  • post_limitinteger

    Max posts to return (default 5, max 50)

  • start_post_numberinteger

    Start from this post number (1-based)

discourse_run_query

Выполняет запрос Data Explorer с параметрами. Возвращает columns, rows, result_count, duration_ms. Запросы выполняются в транзакциях только для чтения с тайм-аутом 10 секунд. Требуется admin API key.

Run Data Explorer Query

Выполняет запрос Data Explorer с параметрами. Возвращает columns, rows, result_count, duration_ms. Запросы выполняются в транзакциях только для чтения с тайм-аутом 10 секунд. Требуется admin API key.

Параметры

  • idintegerобязательный

    Query ID to run

  • paramsobject

    Query parameters as key-value pairs

  • limitany

    Maximum number of rows to return (default: query default, use 'ALL' for unlimited)

  • explainboolean

    Include query execution plan in response

discourse_search

Ищет содержимое сайта. Возвращает JSON-объект с массивом results из подходящих тем (id, slug, title) и объектом meta (total, has_more).

Discourse Search

Ищет содержимое сайта. Возвращает JSON-объект с массивом results из подходящих тем (id, slug, title) и объектом meta (total, has_more).

Параметры

  • querystringобязательный

    Search query

  • max_resultsinteger
discourse_select_site

Проверяет и выбирает сайт Discourse. Возвращает JSON с URL и названием сайта.

Select Site

Проверяет и выбирает сайт Discourse. Возвращает JSON с URL и названием сайта.

Параметры

  • sitestringобязательный

    Base URL of the Discourse site

Другие проверенные MCP-сервера

Dumpling-AI/mcp-server-dumplingai

Dumpling-AI/mcp-server-dumplingai

официальный

Интегрируйте Dumpling AI через MCP сервер: собирайте данные с веб-страниц, транскрипты YouTube, новости, отзывы и карты. Выполняйте скрапинг, конвертацию документов, генерацию изображений и запуск JavaScript/Python кода. Полезен разработчикам и дата-сайентистам для автоматизации сбора и обработки...

JavaScript31
Bright Data MCP

Bright Data MCP

официальный

MCP-сервер для подключения LLM к живому интернету в реальном времени — без блокировок и капч. Включает поиск, скрапинг в markdown и браузерную автоматику. Полезен для исследований, мониторинга цен ...

JavaScript2507
elevenlabs/elevenlabs-mcp

elevenlabs/elevenlabs-mcp

Официальный MCP-сервер ElevenLabs для синтеза речи, клонирования голосов и транскрибации аудио. Интегрируется с Claude Desktop, Cursor и другими агентами, позволяя генерировать голосовые ответы, создавать звуковые ландшафты и обрабатывать аудиофайлы без переключения контекста.

Python1479
thinq-connect/thinqconnect-mcp

thinq-connect/thinqconnect-mcp

официальный

Официальный MCP-сервер для управления бытовой техникой LG ThinQ. Позволяет отслеживать статус устройств, запрашивать доступные команды и управлять ими (вкл/выкл, настройка температуры и др.) через ...

Python29
Gitlab MCP

Gitlab MCP

GitLab MCP сервер для AI-клиентов: управляйте проектами, merge request, issues, pipelines, wiki и релизами. Поддерживает PAT, OAuth, read-only режим и удаленную авторизацию. Работает с VS Code, Claude, Cursor и другими MCP инструментами.

TypeScript1819
ios-simulator-mcp

ios-simulator-mcp

MCP-сервер для iOS-симуляторов: управление UI-элементами, скриншоты, запись видео и установка приложений. Помогает QA-инженерам и разработчикам автоматизировать тестирование интерфейсов с помощью И...

JavaScript2105
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин