本指南提供了将 Discourse MCP 安装到 OpenCode CLI 中的经过测试的说明。如果您使用的是其他 MCP 客户端,我也为 Codex CLI 编写了指南。
使用您的 LLM! 大型语言模型(LLM)非常擅长遵循指令,可以为您完成设置。将 LLM 指向此指南的 URL,并要求它进行设置。您也可以要求它解释任何不明白的步骤。
先决条件:
- 安装了 Node.js(推荐 24 LTS)
- 安装了 OpenCode CLI
- 可以作为普通用户访问目标 Discourse 论坛(无需管理员权限!)
需要明白的是,这里有三个独立的部分:
- 远程 Discourse 论坛,它是数据源和操作目标。
- Discourse MCP 服务器,这是一个本地运行的开源工具,它连接到 Discourse 并为 OpenCode 提供一个 API 以与 Discourse 交互。它作为 NPX 包安装,并在 OpenCode CLI 需要时按需启动。
- OpenCode CLI,它是 MCP 客户端,连接到 MCP 服务器并提供与 Discourse 交互的接口,该交互是通过 MCP API 进行的。
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
编辑位于 ~/.config/opencode/opencode.jsonc 的 OpenCode 配置文件,并将以下条目添加到 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": {},
},
当您启动 OpenCode 时,OpenCode CLI 将按需使用 npx 启动 MCP 服务器。它被配置为使用位于 =PROFILE-PATH= 的配置文件,并且默认情况下是只读的。
3. 重新启动 OpenCode CLI
完全重启 OpenCode,以便它重新加载配置并连接到 MCP 服务器。
如果它在没有错误的情况下启动,则表示 Discourse MCP 服务器正在工作。您可以要求 OpenCode 引用您的 Discourse 论坛以获取信息——特别是您有权访问但并非公开的信息——这将验证它是否正在以您的身份连接。
管理多个 Discourse 实例
您可以通过对不同的配置文件和 MCP 服务器名称重复此过程来添加多个 Discourse 论坛:
"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=- 位于~/.config/opencode/opencode.jsonc的 OpenCode CLI 配置文件,其中包含 MCP 服务器设置。 -
=PROFILE-PATH=- Discourse MCP 服务器的配置文件,其中包含用于连接到 Discourse 的 API 密钥和其他设置。
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/) - 如果您在版本控制中跟踪您的 dotfiles,请将此目录添加到
.gitignore - 为配置文件使用描述性名称(例如
meta.json、mycommunity.json) - 保护 API 密钥的私密性——它们具有与您的用户帐户相同的访问级别
故障排除
- 连接问题:验证
opencode.jsonc中的配置文件路径是否正确且文件是否存在 - 授权错误:检查 API 密钥是否未在您的 Discourse 用户偏好设置中被撤销
- 权限错误:确保您在 Discourse 实例上具有所需的权限
- 需要重启:对
opencode.jsonc的更改需要重新启动 OpenCode