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: MediaWiki MCP Server
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI models to interact with BookStack wiki instances through a comprehensive API interface. Supports content management (books, chapters, pages), user administration, search functionality, and content export in multiple formats.4112MIT
- AlicenseNot gradedqualityBmaintenanceEnables LLM clients to interact with any MediaWiki wiki, supporting page creation/editing, search, file uploads, category browsing, and page history retrieval. Supports multiple wikis with OAuth2 or bot password authentication for both public and private wikis.910MIT
- 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.4MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search, retrieve, and optionally edit pages in a WikiJS knowledge base via the Model Context Protocol.231MIT
Related MCP Connectors
Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.
Self-hostable team wiki; agents read & write it via MCP; Atlas turns your repo into a cited wiki.
AgentDocs (agentdocs.eu) MCP: read, search, write, comment, share & attach images to Markdown docs.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/NeerdOnerT/docmost-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server