Это руководство содержит проверенные инструкции по установке Discourse MCP в OpenCode CLI. Если вы используете другой MCP-клиент, я также написал руководства для Codex CLI.
ИСПОЛЬЗУЙТЕ СВОЙ LLM! LLM отлично справляются с выполнением инструкций и могут настроить всё за вас. Укажите LLM ссылку на это руководство и попросите выполнить настройку. Вы также можете попросить его объяснить любые шаги, которые вам непонятны.
Предварительные требования
- Установлен Node.js (рекомендуется версия 24 LTS)
- Установлен OpenCode CLI
- Доступ к целевому форуму Discourse как обычному пользователю (администраторские права не нужны!)
Важно понимать, что здесь задействованы три отдельных компонента:
- Удалённый форум Discourse — источник данных и цель для действий.
- Сервер Discourse MCP — это инструмент с открытым исходным кодом, работающий локально, который подключается к Discourse и предоставляет API для взаимодействия OpenCode с форумом. Он устанавливается как пакет NPX и запускается по требованию OpenCode CLI.
- OpenCode CLI — это MCP-клиент, который подключается к серверу MCP и предоставляет интерфейс для взаимодействия с Discourse через API MCP.
1. Генерация пользовательского API-ключа
Это позволит вам аутентифицироваться в Discourse. Именно так вы получите свой API-ключ. npx загрузит и выполнит код; традиционная установка не требуется.
В терминале выполните:
npx @discourse/mcp@latest generate-user-api-key \
--site =DISCOURSE-FORUM= \
--save-to =PROFILE-PATH=/=NAME=.json
Пример:
npx @discourse/mcp@latest generate-user-api-key \
--site https://meta.discourse.org \
--save-to ~/.config/opencode/discourse-profiles/meta.json
Подтвердите согласие в браузере и скопируйте обратно зашифрованные данные. Они подтверждают вашу способность войти в систему и генерируют API-ключ, который сохраняется в =PROFILE-PATH= для использования сервером MCP.
API-ключ будет иметь тот же уровень доступа к форуму, что и ваша учётная запись пользователя.
2. Добавление сервера MCP в OpenCode CLI
Отредактируйте файл конфигурации OpenCode по пути ~/.config/opencode/opencode.jsonc и добавьте следующую запись в секцию mcp:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
// ... другие серверы MCP ...
"discourse-=NAME=-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@discourse/mcp@latest",
"--profile",
"=PROFILE-PATH=/=NAME=.json",
],
"enabled": true,
"environment": {},
},
},
}
Пример:
"discourse-meta-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@discourse/mcp@latest",
"--profile",
"/home/marcus/.config/opencode/discourse-profiles/meta.json"
],
"enabled": true,
"environment": {},
},
Сервер MCP будет запускаться по требованию через npx OpenCode CLI при запуске OpenCode. Он настроен на использование профиля по пути =PROFILE-PATH= и по умолчанию работает в режиме только для чтения.
3. Перезапуск OpenCode CLI
Полностью перезапустите OpenCode, чтобы он перезагрузил конфигурацию и подключился к серверу MCP.
Если запуск прошёл без ошибок, сервер Discourse MCP работает. Вы можете попросить OpenCode обратиться к вашему форуму Discourse за информацией — особенно за той, к которой у вас есть доступ, но которая не является публичной. Это подтвердит, что подключение осуществляется от вашего имени.
4. Включение функций записи (опционально)
По умолчанию сервер Discourse MCP работает в режиме только для чтения. Чтобы разрешить операции записи (создание постов, тем, пользователей и т. д.), необходимо добавить два флага в ваш файл профиля JSON.
Отредактируйте =PROFILE-PATH=/=NAME=.json и добавьте "read_only": false и "allow_writes": true как соседние элементы массива auth_pairs:
{
"read_only": false,
"allow_writes": true,
"auth_pairs": [
{
"site": "=DISCOURSE-FORUM=",
"user_api_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"user_api_client_id": "discourse-mcp"
}
]
}
Пример:
{
"read_only": false,
"allow_writes": true,
"auth_pairs": [
{
"site": "https://meta.discourse.org",
"user_api_key": "abc123def456ghi789jkl012mno345pqr",
"user_api_client_id": "discourse-mcp"
}
]
}
После добавления этих флагов перезапустите OpenCode CLI, чтобы изменения вступили в силу. Теперь сервер MCP будет разрешать операции записи, такие как:
- Создание и обновление тем
- Создание постов и ответов
- Управление черновиками
- Загрузка файлов
- Создание категорий (если у вас есть соответствующие права)
- Управление пользователями (если у вас есть права администратора)
Предупреждение: Операции записи будут использовать разрешения вашей учётной записи. Любой созданный контент будет отображаться так, будто вы создали его вручную. Используйте функции записи ответственно.
Управление несколькими экземплярами Discourse
Вы можете добавить несколько форумов Discourse, повторив процесс с разными файлами профилей и именами серверов MCP:
"discourse-meta-mcp": {
"type": "local",
"command": [
"npx", "-y", "@discourse/mcp@latest",
"--profile", "/home/username/.config/opencode/discourse-profiles/meta.json"
],
"enabled": true,
"environment": {},
},
"discourse-mycommunity-mcp": {
"type": "local",
"command": [
"npx", "-y", "@discourse/mcp@latest",
"--profile", "/home/username/.config/opencode/discourse-profiles/mycommunity.json"
],
"enabled": true,
"environment": {},
},
Файлы конфигурации
Существует два основных файла:
-
=OPENCODE-CONFIG=— файл конфигурации OpenCode CLI по пути~/.config/opencode/opencode.jsonc, содержащий настройки сервера MCP. -
=PROFILE-PATH=— профиль сервера Discourse MCP, содержащий API-ключ и другие настройки для подключения к Discourse.
Настройки OpenCode
Настройки подключения к серверу MCP находятся в файле =OPENCODE-CONFIG= (обычно ~/.config/opencode/opencode.jsonc):
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"discourse-=NAME=-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@discourse/mcp@latest",
"--profile",
"=PROFILE-PATH=/=NAME=.json",
],
"enabled": true,
"environment": {},
},
},
}
Документация по настройкам OpenCode MCP: Документация OpenCode
Настройки Discourse MCP
Настройки самого сервера Discourse MCP находятся в файле =PROFILE-PATH=/=NAME=.json=:
{
"auth_pairs": [
{
"site": "=DISCOURSE-FORUM=",
"user_api_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"user_api_client_id": "discourse-mcp"
}
]
}
Документация по настройкам Discourse MCP: GitHub - discourse/discourse-mcp
Лучшие практики безопасности
Рекомендуется:
- Хранить файлы профилей в отдельной директории (например,
~/.config/opencode/discourse-profiles/) - Добавить эту директорию в
.gitignore, если вы отслеживаете свои dotfiles в системе контроля версий - Использовать описательные имена для файлов профилей (например,
meta.json,mycommunity.json) - Хранить API-ключи в секрете — они имеют тот же уровень доступа, что и ваша учётная запись
Устранение неполадок
- Проблемы с подключением: Убедитесь, что путь к профилю в
opencode.jsoncуказан верно и файл существует - Ошибки авторизации: Проверьте, не был ли отозван API-ключ в настройках вашего пользователя Discourse
- Ошибки прав доступа: Убедитесь, что у вас есть необходимые права на экземпляре Discourse
- Требуется перезапуск: Изменения в
opencode.jsoncтребуют перезапуска OpenCode CLI