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.3.1 (simplifies write opt-in so --allow_writes is sufficient and deprecates read_only=false; 0.3.0 added operator-selectable toolsets, structured directory output, and expanded opt-in administration capabilities; 0.2.x introduced breaking changes from 0.1.x, including JSON-only tool output; category/group resources remain deprecated compatibility surfaces alongside canonical 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)

Часто задаваемые вопросы

Инструменты были проиндексированы:
discourse_filter_topicsтолько чтениеидемпотентныйвнешний мир

Находит темы через представления filtered, top или hot. Filtered использует синтаксис Discourse TopicsFilter; top использует авторитетный топ-скор Discourse и по умолчанию задает недельный период; hot определяется ровно как дневной top (не по тональности, спорности или скорости в реальном времени). Возвращает единообразную расширенную проекцию темы и достоверные метаданные пагинации.

Отфильтровать темы

Параметры
  • filterstring

    TopicsFilter запрос (обязателен для отфильтрованного вида)

  • pageinteger

    Номер страницы (начиная с нуля, по умолчанию: 0)

  • per_pageinteger

    Элементов на странице (по умолчанию 20, максимум 50)

  • top_periodenum

    Топ-период (только для топ-вида; по умолчанию неделя).

  • viewenum
discourse_get_chat_messagesтолько чтениеидемпотентныйвнешний мир

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

Получить сообщения чата

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

    ID чат-канала

  • directionenum

    Направление пагинации: 'past' для более старых сообщений, 'future' для более новых.

  • page_sizeinteger

    Количество сообщений для возврата (по умолчанию: 50, максимум: 50)

  • target_datestring

    Строка даты в формате ISO 8601 для запроса сообщений вокруг указанного времени.

  • target_message_idinteger

    Идентификатор сообщения, вокруг которого выполняется запрос или от которого начинается пагинация.

discourse_get_draftтолько чтениеидемпотентныйвнешний мир

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

Получить черновик

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

    Ключ черновика (например, "new_topic", "topic_123", "new_private_message")

  • sequenceinteger

    Ожидаемый порядковый номер (необязательно)

discourse_get_queryтолько чтениеидемпотентныйвнешний мир

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

Получить запрос Data Explorer

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

    Query ID

discourse_get_userтолько чтениеидемпотентныйвнешний мир

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

Получить пользователя

Параметры
  • usernamestringобязательный
discourse_list_private_messagesтолько чтениеидемпотентныйвнешний мир

Перечисляет аутентифицированные почтовые ящики личных и групповых сообщений. Возвращает нормализованные JSON-сообщения и метаданные пагинации.

Выводит список личных сообщений.

Параметры
  • group_namestring
  • mailboxenum
  • pageinteger
  • per_pageinteger
  • usernamestring
discourse_list_user_postsтолько чтениеидемпотентныйвнешний мир

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

Список постов пользователя

Параметры
  • limitinteger

    Записей на странице (максимум 50, по умолчанию 30)

  • pageinteger
  • usernamestringобязательный
discourse_list_usersтолько чтениеидемпотентныйвнешний мир

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

Список пользователей

Параметры
  • ascboolean

    Сортировать по возрастанию (по умолчанию: false/по убыванию)

  • filterstring

    Ищите по имени пользователя, электронной почте или IP-адресу.

  • orderenum

    Поле порядка сортировки.

  • pageinteger

    Номер страницы (индексация с 1).

  • queryenum

    Тип пользовательского запроса

discourse_read_postтолько чтениеидемпотентныйвнешний мир

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

Читать пост

Параметры
  • post_idintegerобязательный
discourse_read_private_messageтолько чтениеидемпотентныйвнешний мир

Читает аутентифицированное личное сообщение, его посты, а также прямые записи разрешённых пользователей и групп. Отклоняет публичные темы.

Читает личное сообщение.

Параметры
  • post_limitinteger

    Максимум возвращаемых постов (по умолчанию 5, максимум 50)

  • start_post_numberinteger

    Начать с этого номера поста (отсчёт с единицы)

  • topic_idintegerобязательный
discourse_read_topicтолько чтениеидемпотентныйвнешний мир

Читает метаданные темы и сообщения. Большие лимиты на количество сообщений могут потребовать нескольких запросов к вышестоящему сервису. Для очередей модерации предпочитайте проверяемые данные списка/детали, а не массовые вызовы этого инструмента для отмеченных тем.

Читать тему

Параметры
  • post_limitinteger

    Максимум возвращаемых постов (по умолчанию 5, максимум 50)

  • start_post_numberinteger

    Начать с этого номера поста (отсчёт с единицы)

  • topic_idintegerобязательный
discourse_read_topic_postsтолько чтениеидемпотентныйвнешний мир

Читает точные, самые ранние, самые поздние, вокруг поста или отфильтрованные по имени пользователя сведения по теме. Выборка ограничена 50 сообщениями и сообщает размер видимого потока, не утверждая, что загружена вся тема.

Читает выбранные сообщения темы.

Параметры
  • limitinteger
  • post_idsinteger[]
  • post_numberinteger
  • replies_onlyboolean
  • selection_modeenumобязательный
  • topic_idintegerобязательный
  • usernamesstring[]
discourse_run_queryтолько чтениеидемпотентныйвнешний мир

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

Выполнить запрос Data Explorer

Параметры
  • explainboolean

    Включите план выполнения запроса в ответ.

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

    Запускает ID запроса.

  • limitinteger | string

    Максимальное количество строк для возврата (по умолчанию: значение запроса, используйте 'ALL' для неограниченного количества).

  • paramsobject

    Параметры запроса в виде пар «ключ-значение».

discourse_searchтолько чтениеидемпотентныйвнешний мир

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

Discourse Search

Параметры
  • max_resultsinteger
  • querystringобязательный

    Поисковый запрос

discourse_search_postsтолько чтениеидемпотентныйвнешний мир

Выполняет поиск доказательств на уровне постов с использованием синтаксиса запросов Discourse. В отличие от discourse_search, сохраняет найденные посты, выделенные фрагменты, авторов, темы, категории и правдивое ограниченное продолжение. Это поиск по ключевым словам, а не семантический поиск Discourse AI.

Ищет публикации.

Параметры
  • pageinteger
  • querystringобязательный
discourse_select_site

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

Выбрать сайт

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

    Базовый URL сайта Discourse

0.3.1основная
0.3.0
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1

Выберите клиент, чтобы установить discourse/discourse-mcp:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "discourse-discourse-mcp-isyms3ho2s": {
      "command": "npx",
      "args": [
        "-y",
        "@discourse/mcp@latest"
      ],
      "env": {}
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "discourse-discourse-mcp-isyms3ho2s": {
      "command": "npx",
      "args": [
        "-y",
        "@discourse/mcp@latest"
      ],
      "env": {}
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "discourse-discourse-mcp-isyms3ho2s": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@discourse/mcp@latest"
      ],
      "env": {}
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"discourse-discourse-mcp-isyms3ho2s\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"@discourse/mcp@latest\"],\"env\":{}}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "discourse-discourse-mcp-isyms3ho2s": {
      "command": "npx",
      "args": [
        "-y",
        "@discourse/mcp@latest"
      ],
      "env": {}
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add discourse-discourse-mcp-isyms3ho2s -- npx -y @discourse/mcp@latest

Либо через JSON-конфиг:

claude mcp add-json discourse-discourse-mcp-isyms3ho2s "{\"command\":\"npx\",\"args\":[\"-y\",\"@discourse/mcp@latest\"],\"env\":{}}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add discourse-discourse-mcp-isyms3ho2s -- npx -y @discourse/mcp@latest

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.discourse-discourse-mcp-isyms3ho2s]
command = "npx"
args = ["-y", "@discourse/mcp@latest"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите discourse/discourse-mcp, а в поле команды запуска — строку ниже:
npx -y @discourse/mcp@latest

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "discourse-discourse-mcp-isyms3ho2s": {
      "command": "npx",
      "args": [
        "-y",
        "@discourse/mcp@latest"
      ],
      "env": {}
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "discourse-discourse-mcp-isyms3ho2s": {
      "command": "npx",
      "args": [
        "-y",
        "@discourse/mcp@latest"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например discourse-discourse-mcp-isyms3ho2s.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: discourse-discourse-mcp-isyms3ho2s
    command: npx
    args:
      - "-y"
      - "@discourse/mcp@latest"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "discourse-discourse-mcp-isyms3ho2s": {
      "command": "npx",
      "args": [
        "-y",
        "@discourse/mcp@latest"
      ],
      "env": {}
    }
  }
}

Похожие MCP-сервера

kestra-io/mcp-server-python

kestra-io/mcp-server-python

официальный

от kestra-io

MCP сервер для интеграции AI-ассистентов с платформой Kestra. Инструмент предоставляет управление потоками, выполнениями и логами. Работает в Docker и локально через uv. Полезен разработчикам для автоматизации процессов.

Python⭐ 34
boldsign/boldsign-mcp

boldsign/boldsign-mcp

от boldsign

MCP сервер для BoldSign: интеграция электронной подписи в AI-агенты. Управляйте документами, шаблонами и контактами через LLM. Полезен для автоматизации отправки, подписания и отслеживания документов.

TypeScript⭐ 7
jtalk22/slack-mcp-server

jtalk22/slack-mcp-server

от jtalk22

MCP сервер для Slack, дающий AI-агенту полный доступ к рабочему пространству через сессионные токены браузера. Без регистрации приложения и одобрения администратора: 21 инструмент для чтения, поиска, отправки сообщений и реакций, а также workflow-профили для структурированных дайджестов. Полезен ...

JavaScript⭐ 32
helbertparanhos/n8n-pro-mcp

helbertparanhos/n8n-pro-mcp

от helbertparanhos

MCP сервер для полного управления self-hosted n8n: 51 инструмент охватывает workflows, executions, теги, credentials, проекты, пользователей и мониторинг с поддержкой queue mode. Полезен DevOps и р...

TypeScript⭐ 3
PostcardBot/mcp-server

PostcardBot/mcp-server

от postcardbot

MCP-сервер Postcard.bot для отправки физических открыток по всему миру напрямую из кода. Полезен разработчикам AI-агентов и интеграций — позволяет отправлять реальные открытки через Claude, Cursor ...

TypeScript⭐ 5
offorte/offorte-mcp-server

offorte/offorte-mcp-server

от offorte

MCP-сервер для связи AI-агентов с платформой Offorte. Позволяет создавать и отправлять коммерческие предложения через API, используя голос или текст. Подходит для автоматизации продаж и быстрой ген...

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

Лука Никитин