mcp-mediawiki-crunchtools
# mcp-mediawiki-crunchtools
Secure MCP server for MediaWiki wikis. Search, read, create, edit, and manage wiki pages, categories, files, and more. Works with any MediaWiki instance — public or private.
## Installation
### uvx (recommended)
```bash
uvx mcp-mediawiki-crunchtools
```
### pip
```bash
pip install mcp-mediawiki-crunchtools
mcp-mediawiki-crunchtools
```
### Container
```bash
podman run -e MEDIAWIKI_URL=https://en.wikipedia.org/w/ \
quay.io/crunchtools/mcp-mediawiki
```
## Usage with Claude Code
### Read-only (public wiki, no auth needed)
```bash
claude mcp add mcp-mediawiki-crunchtools \
--env MEDIAWIKI_URL=https://en.wikipedia.org/w/ \
-- uvx mcp-mediawiki-crunchtools
```
### With authentication (for write operations)
```bash
claude mcp add mcp-mediawiki-crunchtools \
--env MEDIAWIKI_URL=https://your-wiki.com/w/ \
--env MEDIAWIKI_USERNAME=BotUser \
--env MEDIAWIKI_PASSWORD=BotPassword \
-- uvx mcp-mediawiki-crunchtools
```
### HTTP transport (systemd / container)
```bash
podman run -d --name mcp-mediawiki \
-p 127.0.0.1:8016:8016 \
-e MEDIAWIKI_URL=https://your-wiki.com/w/ \
quay.io/crunchtools/mcp-mediawiki \
--transport streamable-http --host 0.0.0.0
```
Claude Code config:
```json
{"type": "http", "url": "http://127.0.0.1:8016/mcp"}
```
## Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| `MEDIAWIKI_URL` | Yes | Wiki base URL (e.g., `https://en.wikipedia.org/w/`) |
| `MEDIAWIKI_USERNAME` | No | Bot/user account for write operations |
| `MEDIAWIKI_PASSWORD` | No | Bot/user password |
| `MEDIAWIKI_HTTP_USER` | No | HTTP Basic Auth username (.htaccess) |
| `MEDIAWIKI_HTTP_PASS` | No | HTTP Basic Auth password |
## Tools (19)
| Category | Tool | Description |
|----------|------|-------------|
| Pages | `search` | Full-text search across wiki |
| Pages | `get_page` | Get page wikitext content |
| Pages | `get_page_html` | Parse page to HTML |
| Pages | `list_pages` | List pages with prefix filter |
| Pages | `create_page` | Create a new page |
| Pages | `edit_page` | Edit an existing page |
| Pages | `delete_page` | Delete a page |
| Pages | `move_page` | Move/rename a page |
| Categories | `list_categories` | List all categories |
| Categories | `get_category_members` | Get pages in a category |
| Categories | `get_page_categories` | Get categories for a page |
| Recent Changes | `list_recent_changes` | List recent edits |
| Parsing | `parse_wikitext` | Parse raw wikitext to HTML |
| Site Info | `get_site_info` | Get wiki config and version |
| Site Info | `list_namespaces` | List wiki namespaces |
| Users | `get_user_info` | Get user details |
| Users | `list_user_contributions` | List user edits |
| Files | `get_file_info` | Get file/image metadata |
| Files | `list_files` | List files on the wiki |
## Development
```bash
# Install dev dependencies
uv sync --all-extras
# Quality gates
uv run ruff check src tests
uv run mypy src
uv run pytest -v
gourmand --full .
podman build -f Containerfile .
```
## License
AGPL-3.0-or-later
<!-- mcp-name: io.github.crunchtools/mediawiki -->
TDQS
Scored across 19 tools
Most tools target clearly distinct resources and actions: page CRUD, search, categories, files, users, and site metadata are well separated. There is minor overlap among get_page_tool, get_page_html_tool, and parse_wikitext_tool, since all relate to page content/rendering, but their inputs and outputs are described distinctly enough to choose correctly.
All 19 tool names follow the same snake_case pattern with a consistent _tool suffix, and nearly all use a predictable verb_noun structure (get_page_tool, list_pages_tool, create_page_tool). The only slight deviation is search_tool, which omits an explicit noun, but it remains readable and consistent with the overall convention.
The 19-tool surface is broad but somewhat heavy for a MediaWiki integration; it covers many useful areas, yet some tools could be consolidated or split into optional groups. Per the rubric, 16–25 tools is borderline, so this earns a middle score rather than a high one.
The set covers core wiki workflows well: search, page read/create/edit/delete/move, categories, recent changes, parsing, namespaces, users, and files. Gaps remain around revision history and diffs, file uploads, and richer user/auth management, but these are minor enough that agents can often work around them.