Konzepte
Die folgenden Begriffe sind für das Verständnis des DokuWiki MCP-Servers und seiner Architektur relevant.
Model Context Protocol (MCP)
Abschnitt betitelt „Model Context Protocol (MCP)“Das Model Context Protocol ist ein offener Standard, der KI-Assistenten den sicheren Zugriff auf externe Werkzeuge und Datenquellen ermöglicht. Es definiert, wie ein KI-Modell Werkzeuge aufruft, Eingaben übergibt und Ergebnisse erhält - ohne dass der Benutzer Code schreiben muss.
| Aspekt | Bedeutung für diesen Server |
|---|---|
| Rolle | Der DokuWiki MCP-Server stellt 48 Werkzeuge über MCP bereit |
| Version | Wird beim Verbindungsaufbau ausgehandelt (LATEST: 2025-11-25) |
| Spezifikation | modelcontextprotocol.io |
Der KI-Assistent (z.B. in TypingMind) verbindet sich mit dem MCP-Server, erhält die Liste der verfügbaren Werkzeuge und kann diese per Natursprache-Prompt aufrufen.
JSON-RPC
Abschnitt betitelt „JSON-RPC“JSON-RPC (Remote Procedure Call) ist das Protokoll, das für die Kommunikation zwischen KI-Assistent und MCP-Server verwendet wird. Der Assistent sendet eine JSON-Anfrage mit einem Werkzeugnamen und Parametern; der Server antwortet mit einem JSON-Ergebnis.
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "dokuwiki_get_page", "arguments": { "page": "start" } }}Auf der Serverseite wird dieselbe JSON-RPC-Schnittstelle genutzt, um mit
der DokuWiki-Instanz zu kommunizieren (lib/exe/jsonrpc.php).
stdio-Transport
Abschnitt betitelt „stdio-Transport“stdio (Standard Input/Output) ist der Transportmodus des MCP-Servers.
Der Server liest JSON-RPC-Anfragen von stdin und schreibt Antworten auf
stdout.
| Stream | Verwendung |
|---|---|
stdout |
MCP JSON-RPC Protokoll (niemals Logs) |
stderr |
Strukturierte JSON-Logs (logger.js) |
JWT (JSON Web Token)
Abschnitt betitelt „JWT (JSON Web Token)“JWT ist der Authentifizierungsmechanismus für die DokuWiki-API. Der
Token wird als Bearer-Token im Authorization-Header gesendet:
Authorization: Bearer <jwt-token>DokuWiki 2024-02-06b “Kaos” hat integrierte JWT-Unterstützung. Der Token
wird im DokuWiki-Container generiert und in den TypingMind-userSettings
als DOKUWIKI_TOKEN gespeichert.
Namensraum (Namespace)
Abschnitt betitelt „Namensraum (Namespace)“Ein Namensraum ist DokuWikis Konzept zur Organisation von Seiten. Er
fungiert wie ein Verzeichnis, verwendet aber Doppelpunkte (:) als
Trennzeichen statt Schrägstriche (/).
| Beispiel | Bedeutung |
|---|---|
projekt:alpha |
Seite “alpha” im Namensraum “projekt” |
projekt:client:beta |
Verschachtelt: “beta” in “projekt:client” |
start |
Seite im Root-Namensraum |
Tool-Factory-Pattern
Abschnitt betitelt „Tool-Factory-Pattern“Alle 48 Werkzeuge folgen dem gleichen Factory-Pattern:
export function toolName(dokuwikiClient, config) { return { name: 'dokuwiki_tool_name', description: '...', inputSchema: { type: 'object', properties: {...} }, handler: async (args) => { ... } };}Jede Factory erhält den DokuWikiClient und die Server-Konfiguration.
Werkzeuge werden in src/tools/index.js registriert.
destructiveHint
Abschnitt betitelt „destructiveHint“11 der 48 Werkzeuge sind als destruktiv markiert
(destructiveHint: true). Das MCP-Protokoll kennzeichnet diese Werkzeuge
so, dass der KI-Assistent vor der Ausführung eine Bestätigung anfordern
kann.
Beispiele: delete_media, delete_user, save_page (mode=replace),
rename_page, rename_media.
Verwandte Seiten
Abschnitt betitelt „Verwandte Seiten“- Architektur - Systemaufbau und Komponenten
- Installation - Docker-Image einrichten
- Schnellstart - Erste Schritte
- API-Referenz - Alle 48 Werkzeuge