docmost-mcp
docmost-mcp
Un servidor MCP que da a los agentes de IA acceso de lectura/escritura a una wiki Docmost autoalojada a través de su API REST habitual.
Por qué existe esto
Docmost incluye su propio endpoint MCP, pero está restringido por una licencia de pago: la
interfaz de Ajustes muestra "Disponible con una licencia de pago" para la gestión de API, y
/api/mcp devuelve 404 en la Community Edition. La creación de claves API está restringida de la misma manera.
Sin embargo, la API REST ordinaria está completamente abierta en la Community Edition. Este servidor es un envoltorio ligero sobre ella: mismas operaciones, autenticación por sesión en lugar de una clave API.
Related MCP server: wikidocs-mcp
Requisitos
Python 3.11+
Una instancia de Docmost a la que puedas acceder por HTTP(S)
Una cuenta de usuario de Docmost dedicada para el agente
Instalación
git clone https://github.com/<you>/docmost-mcp.git
cd docmost-mcp
python3 -m venv venv
./venv/bin/pip install -r requirements.txtConfiguración
Copia la configuración de ejemplo y complétala:
cp config.example.json config.json
chmod 600 config.json{
"url": "https://docmost.example.com",
"api_key": "",
"email": "agent@example.com",
"password": "..."
}Se admiten dos modos de autenticación:
Modo | Cuándo usarlo |
| Si tienes una licencia Enterprise de Docmost. Se envía como token Bearer. |
| Community Edition. El servidor inicia sesión y se re-autentica automáticamente cuando la sesión expira. |
Si api_key está establecido, tiene prioridad; de lo contrario, se usan las credenciales.
La ruta de configuración se puede sobrescribir con la variable de entorno DOCMOST_MCP_CONFIG.
Crear una cuenta dedicada
No uses las credenciales del propietario del espacio de trabajo. Invita a un usuario separado (Ajustes → Miembros → Invitar) y concédele acceso solo a los espacios que el agente necesite. El acceso a los espacios en Docmost suele heredarse del grupo Todos por defecto, así que comprueba qué puede alcanzar ese grupo antes de asumir que el agente está restringido.
El direccionamiento con signo más estilo Gmail (tu+agente@gmail.com) funciona si prefieres
no crear un segundo buzón.
Verificación
selftest.py ejercita toda la cadena — inicio de sesión, lectura, escritura, relectura, borrado:
./venv/bin/python selftest.pyConectar un agente
El servidor habla MCP sobre stdio.
Claude Code
claude mcp add docmost -- /path/to/docmost-mcp/venv/bin/python /path/to/docmost-mcp/server.pyO añádelo a ~/.claude.json manualmente:
{
"mcpServers": {
"docmost": {
"type": "stdio",
"command": "/path/to/docmost-mcp/venv/bin/python",
"args": ["/path/to/docmost-mcp/server.py"],
"env": {}
}
}
}Reinicia Claude Code después — la configuración se lee al inicio.
Claude Desktop
Añade el mismo bloque a claude_desktop_config.json:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Cursor
Añádelo a .cursor/mcp.json en el proyecto, o a ~/.cursor/mcp.json
globalmente, usando la misma forma de mcpServers.
Cualquier otro cliente MCP
Lanza server.py con el Python del virtualenv y habla JSON-RPC por stdin
y stdout. Un handshake mínimo:
{"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"}Un envoltorio de conveniencia mantiene el comando corto:
#!/bin/sh
exec /path/to/docmost-mcp/venv/bin/python /path/to/docmost-mcp/server.py "$@"Herramientas
Herramienta | Argumentos | Hace |
|
| Lista los espacios del espacio de trabajo |
|
| Búsqueda de texto completo en páginas |
|
| Obtiene una página por id o slugId |
|
| Páginas modificadas recientemente |
|
| Crea una página |
|
| Actualiza el título y/o el cuerpo |
|
| Reasigna una página a otro padre |
|
| Mueve a la papelera (o elimina permanentemente) una página |
fmt es markdown (por defecto), html o json.
Notas sobre la API de Docmost
Cosas que vale la pena saber si amplías este servidor:
Cada endpoint es
POST, incluidas las lecturas./pages/createy/pages/updaterequieren un campoformat(json|markdown|html). Omitirlo devuelve400.Las respuestas envuelven la carga útil en
{"data": ...}; el cliente la desempaqueta./api/api-keysresponde200con una lista vacía en la Community Edition — listar está abierto, solo la creación de claves está restringida por licencia.Las rutas de los endpoints y las formas de las cargas útiles se tomaron del código fuente del cliente de Docmost (
apps/client/src/features/*/services/*.ts), no se adivinaron.
Seguridad
config.jsoncontiene una contraseña en texto plano. Mantenlo con modo600y fuera del control de versiones — está en.gitignore.Da a la cuenta del agente el acceso más restringido a los espacios que aún le permita trabajar.
Las acciones de la cuenta aparecen en Docmost bajo su propio nombre, por lo que el historial de páginas sigue siendo atribuible.
Compatibilidad
Construido contra Docmost 0.95.0 y Python MCP SDK 2.0. Ten en cuenta que el SDK 2.0 renombró
FastMCP a MCPServer y lo movió a mcp.server; la ruta de importación anterior a 2.0
mcp.server.fastmcp no funcionará.
Licencia
MIT — ver LICENSE.
Este proyecto no está afiliado con Docmost.
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