Xwiki MCP
Servidor MCP para la API REST de XWiki — lee tu wiki desde Claude y otros agentes de IA
Documentación
xwiki-mcp
Servidor MCP para la API REST de XWiki. Permite a los agentes de IA (Claude Code, Claude Desktop, etc.) buscar, leer y escribir en tu wiki — con una búsqueda de texto completo Solr adecuada, no el endpoint heredado a medio arreglar que la mayoría de los clientes usan por defecto.
Por qué este
La mayoría de los servidores MCP de XWiki (incluidos los generados por herramientas de IA) conectan /rest/wikis/{wiki}/search. Ese endpoint está basado en HQL y efectivamente busca solo nombres de página — así que una consulta como "visibility metric" no devuelve nada si ninguna página se llama literalmente así, incluso cuando docenas de páginas discuten el tema. xwiki-mcp por defecto usa /rest/wikis/query?type=solr, que está respaldado por Solr e indexa el contenido real con una relevancia adecuada.
Herramientas
Lectura
| Herramienta | Descripción |
|---|---|
search | Búsqueda de texto completo (Solr por defecto, respaldo heredado). Devuelve resultados ordenados por relevancia. |
list_spaces | Lista todos los espacios del wiki |
list_pages | Lista las páginas de un espacio (paginado) |
get_page | Obtiene el contenido y los metadatos de una página |
get_page_children | Lista las páginas hijas |
get_attachments | Lista los archivos adjuntos de una página |
Escritura (v0.2+)
| Herramienta | Descripción |
|---|---|
create_page | Crea o actualiza una página (upsert mediante PUT). Escapado seguro para XML. |
delete_page | Elimina una página |
add_comment | Añade un comentario a una página |
Instalación
npm install -g xwiki-mcp
# or
npx xwiki-mcp
Desde el código fuente:
git clone https://github.com/vitos73/xwiki-mcp
cd xwiki-mcp
npm install
npm run build
Configuración
Variables de entorno:
XWIKI_BASE_URL # Required. Base URL without /rest (e.g. https://wiki.example.com)
XWIKI_AUTH_TYPE # basic | token | none (default: basic)
XWIKI_USERNAME # For basic auth
XWIKI_PASSWORD # For basic auth
XWIKI_TOKEN # For token auth (Bearer)
XWIKI_WIKI_NAME # Wiki name (default: xwiki)
XWIKI_REST_PATH # REST path (default: /rest)
XWIKI_PAGE_LIMIT # Default page size (default: 50)
Uso con Claude Code / Claude Desktop
Añade a .mcp.json (Claude Code, a nivel de proyecto) o claude_desktop_config.json:
{
"mcpServers": {
"xwiki": {
"command": "npx",
"args": ["xwiki-mcp"],
"env": {
"XWIKI_BASE_URL": "https://wiki.example.com",
"XWIKI_AUTH_TYPE": "basic",
"XWIKI_USERNAME": "your-username",
"XWIKI_PASSWORD": "your-password"
}
}
}
}
Sintaxis de búsqueda
El motor Solr (por defecto) soporta:
- términos simples — coincidencia de texto completo en el título (con prioridad) + contenido
"exact phrase"— coincidencia de frasetitle:foo/name:bar— restringir a un campoAND,OR,NOT— operadores booleanos- el parámetro
space:"Parent.Child"por llamada limita los resultados a un árbol de espacio
Si Solr no está indexado en tu instancia, pasa engine: "legacy" para volver al endpoint HQL.
Desarrollo
npm run dev # tsx, no build step
npm run build # compile to dist/
npm test # vitest
Licencia
MIT