xwiki-mcp
MCP server that exposes an XWiki instance over HTTP (Streamable HTTP transport).
Documentation
xwiki-mcp
MCP server (Go, mcp-go v0.55.0) that exposes an XWiki instance over HTTP (Streamable HTTP transport).
Flow: LLM sends its XWiki user token in the HTTP header -> xwiki-mcp authenticates to XWiki REST API on behalf of the user -> XWiki.
Links
- Source Code: https://github.com/lnikonl/xwiki-mcp
- Issues: https://github.com/lnikonl/xwiki-mcp/issues
- Docker Hub: https://hub.docker.com/r/lnikonl/xwiki-mcp
Authentication
The client sends its token on every request in one of:
- `X-XWiki-Token: `
- `Authorization: Bearer `
If neither is present, the default token configured at startup (`--token` / `XWIKI_TOKEN`) is used.
Configuration
| Flag | Env | Default | Description |
|---|---|---|---|
| `-addr` | `XWIKI_MCP_ADDR` | `localhost:8080` | HTTP listen address |
| `-xwiki-url` | `XWIKI_BASE_URL` | — (required) | XWiki REST base, e.g. `https://xwiki.example.com/rest/wikis/xwiki` |
| `-token` | `XWIKI_TOKEN` | — | Default token fallback |
| `-allow-delete` | `XWIKI_MCP_ALLOW_DELETE` | `false` | Register the `delete_page` tool |
| `-timeout` | `XWIKI_MCP_TIMEOUT` | `60s` | XWiki HTTP request timeout |
docker-compose
services:
xwiki-mcp:
image: lnikonl/xwiki-mcp
container_name: xwiki-mcp
restart: unless-stopped
ports:
- "8080:8080"
environment:
XWIKI_BASE_URL: https://xwiki.example.com/rest/wikis/xwiki
XWIKI_MCP_ADDR: :8080
# Default token used when the client sends no X-XWiki-Token / Authorization header
XWIKI_TOKEN: xwiki:XWiki.bot^XWiki.OIDC.ConsentClass[0]/
# Enable the delete_page tool (off by default)
XWIKI_MCP_ALLOW_DELETE: "false"
XWIKI_MCP_TIMEOUT: 60sDownload binaries
Pre-built binaries for Linux, macOS and Windows are published on the
Releases page. The links
below always point to the latest release — no version lookup needed.
| OS / Arch | Asset |
|---|---|
| Linux x86_64 | `xwiki-mcp_linux_amd64.tar.gz` |
| Linux arm64 | `xwiki-mcp_linux_arm64.tar.gz` |
| macOS Intel | `xwiki-mcp_darwin_amd64.tar.gz` |
| macOS Apple Silicon | `xwiki-mcp_darwin_arm64.tar.gz` |
| Windows x86_64 | `xwiki-mcp_windows_amd64.zip` |
Each archive contains the binary, `LICENSE` and `README.md`. A `SHA256SUMS`
file with checksums is attached to every release.
Linux / macOS
OS=linux # linux | darwin
ARCH=amd64 # amd64 | arm64
curl -fL -o xwiki-mcp.tar.gz \
"https://github.com/lnikonl/xwiki-mcp/releases/latest/download/xwiki-mcp_${OS}_${ARCH}.tar.gz"
tar -xzf xwiki-mcp.tar.gz
cd xwiki-mcpRun
./xwiki-mcp \
-addr :8080 \
-xwiki-url https://xwiki.example.com/rest/wikis/xwikiopencode example
~/.config/opencode/opencode.jsonc
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"xwiki-mcp": {
"type": "remote",
"url": "http://docker-host-ip:8080/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer xwiki:XWiki.bot-opencode^XWiki.OIDC.ConsentClass[0]/"
}
}
}
}prompt
result on xwiki
Tools
- `list_spaces` — list all (nested) spaces
- `list_pages` — list pages in a space; nested spaces as `Manuals/ansible` or `Manuals.ansible`
- `get_page` — read page (title, content, version, author, syntax)
- `get_page_version` — read a specific page revision, e.g. `2.1`
- `list_page_children` — child pages of a page
- `save_page` — create/update page (PUT, idempotent; content in XWiki 2.1 syntax)
- `search_pages` — full-text search
- `get_page_history` — page versions
- `list_attachments` — page attachments
- `upload_attachment` — upload a base64-encoded file (images included) as a page attachment
- `download_attachment` — download an attachment; images are returned as rendered image content, other files as base64 text
- `list_comments` / `add_comment` — page comments (author set server-side)
- `get_modifications` — latest wiki modifications (recent changes)
- `list_tags` — all tags defined in the wiki
- `set_page_tags` — assign tags to a page (mode `replace`/`add`; replaces or merges the tag set)
- `get_pages_by_tag` — pages tagged with any of the given tags
- `delete_page`, `delete_attachment` — only when `-allow-delete` is set
Frequently asked questions
What is xwiki-mcp?
xwiki-mcp is MCP server that exposes an XWiki instance over HTTP (Streamable HTTP transport).
How do I install xwiki-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is xwiki-mcp open source?
Yes — it is hosted on GitHub at https://github.com/lnikonl/xwiki-mcp and has 1 stars.
Related MCP tools
eBPF-powered network observability for Kubernetes. Indexes L4/L7 traffic with full K8s context, decrypts TLS without keys. Queryable by AI agents via MCP and humans via dashboard.
GOWA - WhatsApp REST API with support for UI, Multi Account, Webhooks, and MCP, and Chatwoot. Built with Golang for efficient memory use.
The missing open-source Kubernetes UI with a built-in MCP server for AI agents. See what's broken, why, and what changed. Issues, Topology, event timeline, Helm, GitOps, live service traffic, and cluster audits - all in one Go binary.
mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnostics.
The Terraform MCP Server provides seamless integration with Terraform ecosystem, enabling advanced automation and interaction capabilities for Infrastructure as Code (IaC) development.
Run MATLAB® using AI applications with the official MATLAB MCP Server from MathWorks®. This MCP server for MATLAB supports a wide range of coding agents like Claude Code® and Visual Studio® Code.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP