Xwiki MCP

Servidor MCP para la API REST de XWiki — lee tu wiki desde Claude y otros agentes de IA

Documentación

xwiki-mcp

npm version npm downloads license node

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

HerramientaDescripción
searchBúsqueda de texto completo (Solr por defecto, respaldo heredado). Devuelve resultados ordenados por relevancia.
list_spacesLista todos los espacios del wiki
list_pagesLista las páginas de un espacio (paginado)
get_pageObtiene el contenido y los metadatos de una página
get_page_childrenLista las páginas hijas
get_attachmentsLista los archivos adjuntos de una página

Escritura (v0.2+)

HerramientaDescripción
create_pageCrea o actualiza una página (upsert mediante PUT). Escapado seguro para XML.
delete_pageElimina una página
add_commentAñ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 frase
  • title:foo / name:bar — restringir a un campo
  • AND, 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