Dieser Leitfaden enthält erprobte Anweisungen zur Installation von Discourse MCP in der OpenCode CLI. Wenn Sie einen anderen MCP-Client verwenden, habe ich auch Anleitungen für die Codex CLI geschrieben.
NUTZE DEINE LLM! LLMs sind sehr gut darin, Anweisungen zu befolgen und können die Einrichtung für dich übernehmen. Weise die LLM auf diese Anleitung per URL hin und bitte sie, die Einrichtung durchzuführen. Du kannst sie auch bitten, dir Schritte zu erklären, die du nicht verstehst.
Voraussetzungen
- Node.js installiert (24 LTS empfohlen)
- OpenCode CLI installiert
- Zugriff auf das beabsichtigte Discourse-Forum als regulärer Benutzer (keine Admin-Rechte erforderlich!)
Es ist wichtig zu erkennen, dass es hier drei separate Komponenten gibt:
- Das entfernte Discourse-Forum, das die Datenquelle und das Ziel für Aktionen ist.
- Der Discourse MCP-Server, ein quelloffenes, lokal ausgeführtes Tool, das sich mit Discourse verbindet und eine API für OpenCode bereitstellt, um mit Discourse zu interagieren. Dieser wird als NPX-Paket installiert und bei Bedarf von der OpenCode CLI gestartet.
- OpenCode CLI, der MCP-Client, der sich mit dem MCP-Server verbindet und die Schnittstelle für die Interaktion mit Discourse über die MCP-API bereitstellt.
1. Generieren Sie den Benutzer-API-Schlüssel
Dies authentifiziert Sie bei Discourse und ist der Weg, wie Sie Ihren API-Schlüssel erhalten. npx lädt den Code herunter und führt ihn aus, es muss nichts im herkömmlichen Sinne installiert werden.
Führen Sie in einem Terminal aus:
npx @discourse/mcp@latest generate-user-api-key \
--site =DISCOURSE-FORUM= \
--save-to =PROFILE-PATH=/=NAME=.json
Beispiel:
npx @discourse/mcp@latest generate-user-api-key \
--site https://meta.discourse.org \
--save-to ~/.config/opencode/discourse-profiles/meta.json
Bestätigen Sie die Browser-Zustimmung und kopieren Sie die verschlüsselten Daten zurück, was Ihre Fähigkeit zum Anmelden beweist und einen API-Schlüssel generiert, der zur Verwendung durch den MCP-Server in =PROFILE-PATH= gespeichert wird.
Der API-Schlüssel hat die gleiche Zugriffsebene auf das Forum wie Sie als Benutzer.
2. Fügen Sie den MCP-Server zur OpenCode CLI hinzu
Bearbeiten Sie Ihre OpenCode-Konfigurationsdatei unter ~/.config/opencode/opencode.jsonc und fügen Sie den folgenden Eintrag zum Abschnitt mcp hinzu:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
// ... andere MCP-Server ...
"discourse-=NAME=-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@discourse/mcp@latest",
"--profile",
"=PROFILE-PATH=/=NAME=.json",
],
"enabled": true,
"environment": {},
},
},
}
Beispiel:
"discourse-meta-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@discourse/mcp@latest",
"--profile",
"/home/marcus/.config/opencode/discourse-profiles/meta.json"
],
"enabled": true,
"environment": {},
},
Der MCP-Server wird bei Bedarf mit npx von der OpenCode CLI gestartet, wenn Sie OpenCode starten. Er ist so konfiguriert, dass er das Profil unter =PROFILE-PATH= verwendet, und ist standardmäßig schreibgeschützt.
3. Starten Sie die OpenCode CLI neu
Starten Sie OpenCode vollständig neu, damit es die Konfiguration neu lädt und sich mit dem MCP-Server verbindet.
Wenn es ohne Fehler startet, funktioniert der Discourse MCP-Server. Sie können OpenCode bitten, für Informationen auf Ihr Discourse-Forum zu verweisen – insbesondere auf Informationen, auf die Sie Zugriff haben, die aber nicht öffentlich sind –, um zu überprüfen, ob es sich als Sie verbindet.
4. Schreibfunktionen aktivieren (Optional)
Standardmäßig läuft der Discourse MCP-Server im schreibgeschützten Modus. Um Schreibvorgänge (Erstellen von Beiträgen, Themen, Benutzern usw.) zu ermöglichen, müssen Sie zwei Flags zu Ihrer Profildatei im JSON-Format hinzufügen.
Bearbeiten Sie =PROFILE-PATH=/=NAME=.json und fügen Sie "read_only": false und "allow_writes": true als Geschwister des Arrays auth_pairs hinzu:
{
"read_only": false,
"allow_writes": true,
"auth_pairs": [
{
"site": "=DISCOURSE-FORUM=",
"user_api_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"user_api_client_id": "discourse-mcp"
}
]
}
Beispiel:
{
"read_only": false,
"allow_writes": true,
"auth_pairs": [
{
"site": "https://meta.discourse.org",
"user_api_key": "abc123def456ghi789jkl012mno345pqr",
"user_api_client_id": "discourse-mcp"
}
]
}
Nach dem Hinzufügen dieser Flags starten Sie die OpenCode CLI neu, damit die Änderungen wirksam werden. Der MCP-Server erlaubt nun Schreibvorgänge wie:
- Erstellen und Aktualisieren von Themen
- Erstellen von Beiträgen und Antworten
- Verwalten von Entwürfen
- Hochladen von Dateien
- Erstellen von Kategorien (sofern Sie die Berechtigung haben)
- Verwalten von Benutzern (sofern Sie Admin-Berechtigungen haben)
Warnung: Schreibvorgänge verwenden die Berechtigungen Ihres Benutzerkontos. Alle erstellten Inhalte erscheinen so, als hätten Sie sie manuell erstellt. Verwenden Sie Schreibfunktionen verantwortungsvoll.
Verwalten mehrerer Discourse-Instanzen
Sie können mehrere Discourse-Foren hinzufügen, indem Sie den Vorgang mit verschiedenen Profildateien und MCP-Servernamen wiederholen:
"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": {},
},
Konfigurationsdateien
Es gibt zwei Hauptdateien:
-
=OPENCODE-CONFIG=- OpenCode CLI-Konfigurationsdatei unter~/.config/opencode/opencode.jsonc, die die MCP-Servereinstellungen enthält. -
=PROFILE-PATH=- Das Profil für den Discourse MCP-Server, das den API-Schlüssel und andere Einstellungen für die Verbindung mit Discourse enthält.
OpenCode-Einstellungen
Die Einstellungen für die Verbindung mit dem MCP-Server befinden sich in =OPENCODE-CONFIG= (normalerweise ~/.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-Einstellungsdokumentation: OpenCode Dokumentation
Discourse MCP-Einstellungen
Die Einstellungen für den Discourse MCP-Server selbst befinden sich in =PROFILE-PATH=/=NAME=.json=:
{
"auth_pairs": [
{
"site": "=DISCOURSE-FORUM=",
"user_api_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"user_api_client_id": "discourse-mcp"
}
]
}
Discourse MCP-Einstellungsdokumentation: GitHub - discourse/discourse-mcp
Best Practices für die Sicherheit
Es wird empfohlen:
- Profildateien in einem dedizierten Verzeichnis zu speichern (z. B.
~/.config/opencode/discourse-profiles/) - Dieses Verzeichnis zu
.gitignorehinzuzufügen, falls Sie Ihre Dotfiles in der Versionskontrolle verfolgen - Beschreibende Namen für Ihre Profildateien zu verwenden (z. B.
meta.json,mycommunity.json) - API-Schlüssel privat zu halten – sie haben die gleiche Zugriffsebene wie Ihr Benutzerkonto
Fehlerbehebung
- Verbindungsprobleme: Überprüfen Sie, ob der Profilpfad in
opencode.jsonckorrekt ist und die Datei existiert - Autorisierungsfehler: Überprüfen Sie, ob der API-Schlüssel in Ihren Discourse-Benutzereinstellungen widerrufen wurde
- Berechtigungsfehler: Stellen Sie sicher, dass Sie die erforderlichen Berechtigungen auf der Discourse-Instanz haben
- Neustart erforderlich: Änderungen an
opencode.jsoncerfordern einen Neustart der OpenCode CLI