docmost-mcp
docmost-mcp
Ein MCP-Server, der KI-Agenten Lese- und Schreibzugriff auf ein selbst gehostetes Docmost-Wiki über dessen reguläre REST-API gewährt.
Warum es das gibt
Docmost bringt einen eigenen MCP-Endpunkt mit, der jedoch hinter einer kostenpflichtigen Lizenz steckt – die Einstellungs-UI zeigt für die API-Verwaltung „Nur mit kostenpflichtiger Lizenz verfügbar“ und /api/mcp liefert in der Community Edition 404. Auch das Erstellen von API-Schlüsseln ist auf dieselbe Weise eingeschränkt.
Die reguläre REST-API ist in der Community Edition jedoch vollständig offen. Dieser Server ist ein dünner Wrapper darüber: gleiche Operationen, Sitzungsauthentifizierung statt API-Schlüssel.
Related MCP server: wikidocs-mcp
Voraussetzungen
Python 3.11+
Eine Docmost-Instanz, die du über HTTP(S) erreichen kannst
Ein dediziertes Docmost-Benutzerkonto für den Agenten
Installation
git clone https://github.com/<you>/docmost-mcp.git
cd docmost-mcp
python3 -m venv venv
./venv/bin/pip install -r requirements.txtKonfiguration
Kopiere die Beispielkonfiguration und fülle sie aus:
cp config.example.json config.json
chmod 600 config.json{
"url": "https://docmost.example.com",
"api_key": "",
"email": "agent@example.com",
"password": "..."
}Zwei Authentifizierungsmodi werden unterstützt:
Modus | Verwendung |
| Wenn du eine Docmost-Enterprise-Lizenz besitzt. Wird als Bearer-Token gesendet. |
| Community Edition. Der Server meldet sich an und authentifiziert sich automatisch neu, wenn die Sitzung abläuft. |
Wenn api_key gesetzt ist, hat er Vorrang; andernfalls werden die Anmeldedaten verwendet.
Der Konfigurationspfad kann mit der Umgebungsvariable DOCMOST_MCP_CONFIG überschrieben werden.
Ein dediziertes Konto erstellen
Verwende nicht die Anmeldedaten des Workspace-Besitzers. Lade einen separaten Benutzer ein (Einstellungen → Mitglieder → Einladen) und gewähre ihm nur Zugriff auf die Bereiche, die der Agent benötigt. Der Bereichszugriff in Docmost wird normalerweise von der Standardgruppe Jeder geerbt. Überprüfe daher, was diese Gruppe erreichen kann, bevor du annimmst, dass der Agent eingeschränkt ist.
Gmail-Plus-Adressierung (you+agent@gmail.com) funktioniert, wenn du kein zweites Postfach anlegen möchtest.
Überprüfen
selftest.py testet die gesamte Kette – Anmeldung, Lesen, Schreiben, Zurücklesen, Löschen:
./venv/bin/python selftest.pyEinen Agenten verbinden
Der Server spricht MCP über stdio.
Claude Code
claude mcp add docmost -- /path/to/docmost-mcp/venv/bin/python /path/to/docmost-mcp/server.pyOder füge es manuell zu ~/.claude.json hinzu:
{
"mcpServers": {
"docmost": {
"type": "stdio",
"command": "/path/to/docmost-mcp/venv/bin/python",
"args": ["/path/to/docmost-mcp/server.py"],
"env": {}
}
}
}Starte Claude Code danach neu – die Konfiguration wird beim Start gelesen.
Claude Desktop
Füge denselben Block zu claude_desktop_config.json hinzu:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Cursor
Füge es zu .cursor/mcp.json im Projekt oder global zu ~/.cursor/mcp.json hinzu, mit derselben mcpServers-Struktur.
Jeder andere MCP-Client
Starte server.py mit dem Python der virtuellen Umgebung und sprich JSON-RPC über stdin und stdout. Ein minimaler Handshake:
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"1"}}}
{"jsonrpc":"2.0","method":"notifications/initialized"}
{"jsonrpc":"2.0","id":2,"method":"tools/list"}Ein Komfort-Wrapper hält den Befehl kurz:
#!/bin/sh
exec /path/to/docmost-mcp/venv/bin/python /path/to/docmost-mcp/server.py "$@"Werkzeuge
Werkzeug | Argumente | Funktion |
|
| Listet Workspace-Bereiche auf |
|
| Volltextsuche über Seiten |
|
| Ruft eine Seite anhand der ID oder slugId ab |
|
| Kürzlich geänderte Seiten |
|
| Erstellt eine Seite |
|
| Aktualisiert Titel und/oder Inhalt |
|
| Ändert die übergeordnete Seite |
|
| Verschiebt eine Seite in den Papierkorb (oder löscht sie endgültig) |
fmt ist markdown (Standard), html oder json.
Hinweise zur Docmost-API
Dinge, die du wissen solltest, wenn du diesen Server erweiterst:
Jeder Endpunkt ist ein
POST, auch Lesevorgänge./pages/createund/pages/updateerfordern einformat-Feld (json|markdown|html). Wenn es fehlt, wird400zurückgegeben.Antworten verpacken die Nutzdaten in
{"data": ...}; der Client entpackt sie./api/api-keysantwortet in der Community Edition mit200und einer leeren Liste – das Auflisten ist offen, nur das Erstellen von Schlüsseln ist lizenzpflichtig.Endpunktpfade und Nutzdatenstrukturen wurden aus dem Docmost-Client-Quellcode entnommen (
apps/client/src/features/*/services/*.ts), nicht geraten.
Sicherheit
config.jsonenthält ein Klartext-Passwort. Halte es mit Modus600und außerhalb der Versionskontrolle – es steht in.gitignore.Gib dem Agentenkonto den engsten Bereichszugriff, der ihm die Arbeit noch ermöglicht.
Die Aktionen des Kontos erscheinen in Docmost unter seinem eigenen Namen, sodass die Seitenhistorie nachvollziehbar bleibt.
Kompatibilität
Erstellt mit Docmost 0.95.0 und Python MCP SDK 2.0. Beachte, dass SDK 2.0 FastMCP in MCPServer umbenannt und nach mcp.server verschoben hat; der Pre-2.0-Importpfad mcp.server.fastmcp funktioniert nicht.
Lizenz
MIT – siehe LICENSE.
Dieses Projekt ist nicht mit Docmost verbunden.
This server cannot be deployed
Maintenance
Related MCP Connectors
- hiveWikiOAuthai.hivewiki
Shared project wiki for AI agents: read and write pages, next actions, and activity logs over MCP.
Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.
- FlowdexOAuthdk.flowdex
Read and write your team's shared, AI-readable wiki from any MCP client.
Enable Large Language Model clients to interact seamlessly with any MediaWiki wiki. Perform action…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides AI assistants with direct access to self-hosted Docmost documentation through tools for listing spaces, searching content, and retrieving pages in Markdown format. It facilitates seamless documentation lookup and content retrieval within MCP-compatible clients.5MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to read, edit, and manage Wikidocs books and blogs, including page CRUD operations, keyword search, and image uploads.10-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search, create, modify, and organize documentation pages and spaces in Docmost.16 npm31MIT
- AlicenseAqualityAmaintenanceEnables AI assistants to search, read, write, and organize content in self-hosted Docmost Community Edition wikis through MCP clients like Cursor and Claude.4118 npm2MIT