Configuration de Discourse MCP dans OpenCode CLI

Ce guide fournit des instructions testées pour installer le Discourse MCP dans OpenCode CLI. Si vous utilisez un autre client MCP, j’ai également rédigé des guides pour Codex CLI.

UTILISEZ VOTRE LLM ! Les LLM sont très doués pour suivre les instructions et peuvent effectuer la configuration pour vous. Pointez le LLM vers ce guide par son URL et demandez-lui de faire la configuration. Vous pouvez également lui demander d’expliquer toute étape que vous ne comprenez pas.

Prérequis :

  • Node.js installé (24 LTS recommandé)
  • OpenCode CLI installé
  • Accès au forum Discourse prévu en tant qu’utilisateur ordinaire (pas besoin d’être administrateur !)

Il est important de réaliser qu’il y a trois composants distincts ici :

  1. Le forum Discourse distant, qui est la source des données et la cible des actions.

  1. Le serveur Discourse MCP, qui est un outil open-source exécuté localement qui se connecte à Discourse et fournit une API pour qu’OpenCode interagisse avec Discourse. Il est installé en tant que paquet NPX et lancé à la demande par OpenCode CLI.

  1. OpenCode CLI, qui est le client MCP qui se connecte au serveur MCP et fournit l’interface pour interagir avec Discourse via l’API MCP.


1. Générer la clé API Utilisateur

Ceci vous authentifiera auprès de Discourse et c’est ainsi que vous obtiendrez votre clé API. npx téléchargera et exécutera le code, rien n’a besoin d’être installé au sens traditionnel.

Dans un terminal, exécutez :

npx @discourse/mcp@latest generate-user-api-key \
  --site =DISCOURSE-FORUM= \
  --save-to =PROFILE-PATH/=NAME=.json

Exemple :

npx @discourse/mcp@latest generate-user-api-key \
  --site https://meta.discourse.org \
  --save-to ~/.config/opencode/discourse-profiles/meta.json

Approuvez le consentement du navigateur et recopiez les données chiffrées, ce qui prouve votre capacité à vous connecter et génère une clé API qui est sauvegardée dans =PROFILE-PATH= pour être utilisée par le serveur MCP.

La clé API aura le même niveau d’accès au forum que celui que vous avez en tant qu’utilisateur.

2. Ajouter le serveur MCP à OpenCode CLI

Modifiez votre fichier de configuration OpenCode à ~/.config/opencode/opencode.jsonc et ajoutez l’entrée suivante à la section mcp :

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    // ... autres serveurs MCP ...
    "discourse-=NAME=-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@discourse/mcp@latest",
        "--profile",
        "=PROFILE-PATH/=NAME=.json",
      ],
      "enabled": true,
      "environment": {},
    },
  },
}

Exemple :

"discourse-meta-mcp": {
  "type": "local",
  "command": [
    "npx",
    "-y",
    "@discourse/mcp@latest",
    "--profile",
    "/home/marcus/.config/opencode/discourse-profiles/meta.json"
  ],
  "enabled": true,
  "environment": {},
},

Le serveur MCP sera lancé à la demande avec npx par OpenCode CLI lorsque vous démarrerez OpenCode. Il est configuré pour utiliser le profil à =PROFILE-PATH= et est en lecture seule par défaut.

3. Redémarrer OpenCode CLI

Redémarrez complètement OpenCode afin qu’il recharge la configuration et se connecte au serveur MCP.

S’il démarre sans erreurs, le serveur Discourse MCP fonctionne. Vous pouvez demander à OpenCode de se référer à votre forum Discourse pour obtenir des informations - en particulier des informations auxquelles vous avez accès mais qui ne sont pas publiques - cela vérifiera qu’il se connecte en tant que vous.

Gestion de plusieurs instances Discourse

Vous pouvez ajouter plusieurs forums Discourse en répétant le processus avec différents fichiers de profil et noms de serveur 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": {},
},

Fichiers de configuration

Il y a deux fichiers principaux :

  1. =OPENCODE-CONFIG= - Fichier de configuration OpenCode CLI à ~/.config/opencode/opencode.jsonc, qui inclut les paramètres du serveur MCP.

  2. =PROFILE-PATH= - Le profil pour le serveur Discourse MCP, qui inclut la clé API et d’autres paramètres pour la connexion à Discourse.

Paramètres OpenCode

Les paramètres pour la connexion au serveur MCP se trouvent dans =OPENCODE-CONFIG= (typiquement ~/.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": {},
    },
  },
}

Documentation des paramètres MCP OpenCode : Documentation OpenCode

Paramètres Discourse MCP

Les paramètres du serveur Discourse MCP lui-même se trouvent dans =PROFILE-PATH/=NAME=.json= :

{
  "auth_pairs": [
    {
      "site": "=DISCOURSE-FORUM=",
      "user_api_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "user_api_client_id": "discourse-mcp"
    }
  ]
}

Documentation des paramètres Discourse MCP : GitHub - discourse/discourse-mcp

Bonnes pratiques de sécurité

Il est recommandé de :

  1. Stocker les fichiers de profil dans un répertoire dédié (par exemple, ~/.config/opencode/discourse-profiles/)
  2. Ajouter ce répertoire à .gitignore si vous suivez vos dotfiles dans le contrôle de version
  3. Utiliser des noms descriptifs pour vos fichiers de profil (par exemple, meta.json, mycommunity.json)
  4. Garder les clés API privées - elles ont le même niveau d’accès que votre compte utilisateur

Dépannage

  • Problèmes de connexion : Vérifiez que le chemin du profil dans opencode.jsonc est correct et que le fichier existe
  • Erreurs d’autorisation : Vérifiez que la clé API n’a pas été révoquée dans vos préférences utilisateur Discourse
  • Erreurs de permission : Assurez-vous d’avoir les autorisations requises sur l’instance Discourse
  • Redémarrage requis : Les modifications apportées à opencode.jsonc nécessitent le redémarrage d’OpenCode CLI
2 « J'aime »