このガイドでは、OpenCode CLIにDiscourse MCPをインストールするためのテスト済みの手順を説明します。別のMCPクライアントを使用している場合は、Codex CLI用のガイドも作成しました。
LLMを使いましょう! LLMは指示に従うのが非常に得意なので、セットアップを代行させることができます。LLMにこのガイドのURLを指示し、セットアップを行うように依頼してください。理解できない手順があれば、説明を求めることもできます。
前提条件:
- Node.jsがインストールされていること(24 LTS推奨)
- OpenCode CLIがインストールされていること
- 対象のDiscourseフォーラムへのアクセス権(一般ユーザーとして。管理者である必要はありません!)
ここで3つの別個のコンポーネントがあることを認識しておくことが重要です。
- リモートのDiscourseフォーラム。データソースであり、アクションのターゲットとなります。
- Discourse MCPサーバー。これは、Discourseに接続し、OpenCodeがDiscourseと対話するためのAPIを提供する、ローカルで実行されるオープンソースツールです。これはNPXパッケージとしてインストールされ、OpenCode CLIによってオンデマンドで起動されます。
- OpenCode CLI。MCPサーバーに接続し、MCP APIを介してDiscourseと対話するためのインターフェイスを提供する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
ブラウザでの同意を承認し、暗号化されたデータをコピーバックします。これにより、ログイン能力が証明され、MCPサーバーが使用するために=PROFILE-PATH=に保存されるAPIキーが生成されます。
APIキーは、ユーザーとしてフォーラムにアクセスできるのと同じレベルのアクセス権を持ちます。
2. OpenCode CLIにMCPサーバーを追加する
~/.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": {},
},
MCPサーバーは、OpenCodeを起動するときに、OpenCode CLIによってnpxでオンデマンドで起動されます。これは=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": {},
},
設定ファイル
2つの主要なファイルがあります。
-
=OPENCODE-CONFIG=- MCPサーバー設定を含むOpenCode CLI設定ファイル(通常は~/.config/opencode/opencode.jsonc)。 -
=PROFILE-PATH=- Discourseへの接続のためのAPIキーやその他の設定を含む、Discourse MCPサーバーのプロファイル。
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 CLIを再起動する必要があります。