Xwiki MCP
Servidor MCP para a API REST do XWiki — leia sua wiki a partir do Claude e outros agentes de IA
Documentação
xwiki-mcp
Servidor MCP para a API REST do XWiki. Permite que agentes de IA (Claude Code, Claude Desktop, etc.) pesquisem, leiam e escrevam no seu wiki — com pesquisa de texto completo Solr adequada, não o endpoint legado meio quebrado que a maioria dos clientes usa por padrão.
Por que este
A maioria dos servidores MCP do XWiki (incluindo os gerados por ferramentas de codificação de IA) conecta-se ao /rest/wikis/{wiki}/search. Esse endpoint é baseado em HQL e efetivamente pesquisa apenas nomes de páginas — então uma consulta como "visibility metric" não retorna nada se nenhuma página tiver exatamente esse nome, mesmo quando dezenas de páginas discutem o tópico. O xwiki-mcp usa por padrão o /rest/wikis/query?type=solr, que é baseado em Solr e indexa o conteúdo real com classificação de relevância adequada.
Ferramentas
Leitura
| Ferramenta | Descrição |
|---|---|
search | Pesquisa de texto completo (Solr por padrão, fallback legado). Retorna resultados classificados. |
list_spaces | Lista todos os espaços no wiki |
list_pages | Lista páginas em um espaço (paginado) |
get_page | Obtém conteúdo e metadados da página |
get_page_children | Lista páginas filhas |
get_attachments | Lista anexos em uma página |
Escrita (v0.2+)
| Ferramenta | Descrição |
|---|---|
create_page | Cria ou atualiza uma página (upsert via PUT). Escape seguro para XML. |
delete_page | Exclui uma página |
add_comment | Adiciona um comentário a uma página |
Instalação
npm install -g xwiki-mcp
# or
npx xwiki-mcp
A partir do código-fonte:
git clone https://github.com/vitos73/xwiki-mcp
cd xwiki-mcp
npm install
npm run build
Configuração
Variáveis de ambiente:
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 com Claude Code / Claude Desktop
Adicione ao .mcp.json (Claude Code, escopo do projeto) ou 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"
}
}
}
}
Sintaxe de pesquisa
O mecanismo Solr (padrão) suporta:
- termos simples — correspondência de texto completo no título (com peso) + conteúdo
"exact phrase"— correspondência de frasetitle:foo/name:bar— restringir a um campoAND,OR,NOT— operadores booleanos- o parâmetro
space:"Parent.Child"por chamada restringe os resultados a uma árvore de espaço
Se o Solr não estiver indexado na sua instância, passe engine: "legacy" para usar o endpoint HQL como fallback.
Desenvolvimento
npm run dev # tsx, no build step
npm run build # compile to dist/
npm test # vitest
Licença
MIT