Questa guida fornisce istruzioni testate per installare Discourse MCP in OpenCode CLI. Se si utilizza un client MCP diverso, ho scritto anche guide per Codex CLI.
USA IL TUO LLM! Gli LLM sono molto bravi a seguire le istruzioni e possono eseguire la configurazione per te. Indica all’LLM l’URL di questa guida e chiedigli di eseguire la configurazione. Puoi anche chiedergli di spiegare eventuali passaggi che non hai compreso.
Prerequisiti:
- Node.js installato (si consiglia la versione 24 LTS)
- OpenCode CLI installato
- Accesso al forum Discourse di destinazione come utente normale (non è necessario essere un amministratore!)
È importante rendersi conto che ci sono tre componenti separati qui:
- Il forum Discourse remoto, che è la fonte dei dati e la destinazione delle azioni.
- Il server Discourse MCP, che è uno strumento open-source in esecuzione in locale che si connette a Discourse e fornisce un’API per OpenCode per interagire con Discourse. Questo viene installato come pacchetto NPX e avviato su richiesta da OpenCode CLI.
- OpenCode CLI, che è il client MCP che si connette al server MCP e fornisce l’interfaccia per interagire con Discourse tramite l’API MCP.
1. Genera la chiave API Utente
Questo ti autenticherà su Discourse ed è il modo in cui otterrai la tua chiave API. npx scaricherà ed eseguirà il codice, non è necessario installare nulla nel senso tradizionale.
In un terminale, esegui:
npx @discourse/mcp@latest generate-user-api-key \
--site =DISCOURSE-FORUM= \
--save-to =PROFILE-PATH=/=NAME=.json
Esempio:
npx @discourse/mcp@latest generate-user-api-key \
--site https://meta.discourse.org \
--save-to ~/.config/opencode/discourse-profiles/meta.json
Approva il consenso del browser e copia indietro i dati crittografati, che dimostrano la tua capacità di effettuare il login e generano una chiave API che viene salvata in =PROFILE-PATH= per l’uso da parte del server MCP.
La chiave API avrà lo stesso livello di accesso al forum che hai come utente.
2. Aggiungi il server MCP a OpenCode CLI
Modifica il tuo file di configurazione di OpenCode in ~/.config/opencode/opencode.jsonc e aggiungi la seguente voce alla sezione mcp:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
// ... altri server MCP ...
"discourse-=NAME=-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@discourse/mcp@latest",
"--profile",
"=PROFILE-PATH=/=NAME=.json",
],
"enabled": true,
"environment": {},
},
},
}
Esempio:
"discourse-meta-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@discourse/mcp@latest",
"--profile",
"/home/marcus/.config/opencode/discourse-profiles/meta.json"
],
"enabled": true,
"environment": {},
},
Il server MCP verrà avviato su richiesta con npx da OpenCode CLI quando si avvia OpenCode. È configurato per utilizzare il profilo in =PROFILE-PATH= e per impostazione predefinita è di sola lettura.
3. Riavvia OpenCode CLI
Riavvia completamente OpenCode in modo che ricarichi la configurazione e si connetta al server MCP.
Se si avvia senza errori, il server Discourse MCP è funzionante. Puoi chiedere a OpenCode di fare riferimento al tuo forum Discourse per informazioni - specialmente informazioni a cui hai accesso ma che non sono pubbliche - questo verificherà che si stia connettendo come te.
Gestione di più istanze Discourse
È possibile aggiungere più forum Discourse ripetendo il processo con file di profilo diversi e nomi di server MCP diversi:
"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": {},
},
File di configurazione
Ci sono due file principali:
-
=OPENCODE-CONFIG=- File di configurazione di OpenCode CLI in~/.config/opencode/opencode.jsonc, che include le impostazioni del server MCP. -
=PROFILE-PATH=- Il profilo per il server Discourse MCP, che include la chiave API e altre impostazioni per la connessione a Discourse.
Impostazioni di OpenCode
Le impostazioni per la connessione al server MCP sono in =OPENCODE-CONFIG= (tipicamente ~/.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": {},
},
},
}
Documentazione delle impostazioni MCP di OpenCode: Documentazione di OpenCode
Impostazioni di Discourse MCP
Le impostazioni per il server Discourse MCP stesso sono in =PROFILE-PATH=/=NAME=.json=:
{
"auth_pairs": [
{
"site": "=DISCOURSE-FORUM=",
"user_api_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"user_api_client_id": "discourse-mcp"
}
]
}
Documentazione delle impostazioni di Discourse MCP: GitHub - discourse/discourse-mcp
Best practice di sicurezza
Si consiglia di:
- Archiviare i file di profilo in una directory dedicata (es.
~/.config/opencode/discourse-profiles/) - Aggiungere questa directory a
.gitignorese si tiene traccia dei propri dotfile nel controllo versione - Utilizzare nomi descrittivi per i file di profilo (es.
meta.json,mycommunity.json) - Mantenere riservate le chiavi API - hanno lo stesso livello di accesso del tuo account utente
Risoluzione dei problemi
- Problemi di connessione: Verificare che il percorso del profilo in
opencode.jsoncsia corretto e che il file esista - Errori di autorizzazione: Verificare che la chiave API non sia stata revocata nelle preferenze utente di Discourse
- Errori di permesso: Assicurarsi di disporre delle autorizzazioni necessarie sull’istanza di Discourse
- Riavvio richiesto: Le modifiche a
opencode.jsoncrichiedono il riavvio di OpenCode CLI