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: MediaWiki MCP Server
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 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