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 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 ciblé en tant qu’utilisateur ordinaire (pas besoin d’être administrateur !)
Il est important de réaliser qu’il y a trois composants distincts ici :
- Le forum Discourse distant, qui est la source des données et la cible des actions.
- 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. Celui-ci est installé en tant que package NPX et lancé à la demande par OpenCode CLI.
- 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 copiez les données chiffrées, ce qui prouve votre capacité à vous connecter et génère une clé API qui est enregistré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 à l’adresse ~/.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émarrez OpenCode. Il est configuré pour utiliser le profil à l’adresse =PROFILE-PATH= et est en lecture seule par défaut.
3. Redémarrer OpenCode CLI
Redémarrez complètement OpenCode pour qu’il recharge la configuration et se connecte au serveur MCP.
S’il démarre sans erreur, 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.
4. Activer les fonctionnalités d’écriture (Facultatif)
Par défaut, le serveur Discourse MCP s’exécute en mode lecture seule. Pour activer les opérations d’écriture (création de publications, de sujets, d’utilisateurs, etc.), vous devez ajouter deux indicateurs à votre fichier JSON de profil.
Modifiez =PROFILE-PATH/=NAME=.json et ajoutez "read_only": false et "allow_writes": true comme frères et sœurs du tableau auth_pairs :
{
"read_only": false,
"allow_writes": true,
"auth_pairs": [
{
"site": "=DISCOURSE-FORUM=",
"user_api_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"user_api_client_id": "discourse-mcp"
}
]
}
Exemple :
{
"read_only": false,
"allow_writes": true,
"auth_pairs": [
{
"site": "https://meta.discourse.org",
"user_api_key": "abc123def456ghi789jkl012mno345pqr",
"user_api_client_id": "discourse-mcp"
}
]
}
Après avoir ajouté ces indicateurs, redémarrez OpenCode CLI pour que les changements prennent effet. Le serveur MCP autorisera désormais les opérations d’écriture telles que :
- Création et mise à jour de sujets
- Création de publications et de réponses
- Gestion des brouillons
- Téléchargement de fichiers
- Création de catégories (si vous avez la permission)
- Gestion des utilisateurs (si vous avez la permission d’administrateur)
Avertissement : Les opérations d’écriture utiliseront les permissions de votre compte utilisateur. Tout contenu créé apparaîtra comme si vous l’aviez créé manuellement. Utilisez les fonctionnalités d’écriture de manière responsable.
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 :
-
=OPENCODE-CONFIG=- Fichier de configuration OpenCode CLI à l’adresse~/.config/opencode/opencode.jsonc, qui inclut les paramètres du serveur MCP. -
=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 se connecter 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 OpenCode MCP : Documentation OpenCode
Paramètres Discourse MCP
Les paramètres pour le 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 :
- Stocker les fichiers de profil dans un répertoire dédié (par exemple,
~/.config/opencode/discourse-profiles/) - Ajouter ce répertoire à
.gitignoresi vous suivez vos fichiers de configuration dans un contrôle de version - Utiliser des noms descriptifs pour vos fichiers de profil (par exemple,
meta.json,mycommunity.json) - 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.jsoncest 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 permissions requises sur l’instance Discourse
- Redémarrage requis : Les modifications apportées à
opencode.jsoncnécessitent le redémarrage d’OpenCode CLI