Skip to main content
Glama

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.txt

Konfiguration

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

api_key

Wenn du eine Docmost-Enterprise-Lizenz besitzt. Wird als Bearer-Token gesendet.

email + password

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.py

Einen 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.py

Oder 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.json

  • Windows: %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

list_spaces

limit

Listet Workspace-Bereiche auf

search

query, space_id?, limit

Volltextsuche über Seiten

get_page

page_id

Ruft eine Seite anhand der ID oder slugId ab

recent_pages

space_id?, limit

Kürzlich geänderte Seiten

create_page

space_id, title, content?, parent_page_id?, fmt

Erstellt eine Seite

update_page

page_id, title?, content?, fmt

Aktualisiert Titel und/oder Inhalt

move_page

page_id, parent_page_id?

Ändert die übergeordnete Seite

delete_page

page_id, permanently

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/create und /pages/update erfordern ein format-Feld (json | markdown | html). Wenn es fehlt, wird 400 zurückgegeben.

  • Antworten verpacken die Nutzdaten in {"data": ...}; der Client entpackt sie.

  • /api/api-keys antwortet in der Community Edition mit 200 und 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.json enthält ein Klartext-Passwort. Halte es mit Modus 600 und 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.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    B
    quality
    D
    maintenance
    Enables 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.
    41
    12
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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.
    910
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides 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.
    4
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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