MCP server: One MCP server.

MCP Mediawiki

@crunchtoolsMCP server · External

Secure MCP server for MediaWiki wikis — search, pages, categories, and more

Content managementv0.1.2AGPL-3.0Python
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: moves money, runs code or commands, deletes data, or sends messages for you.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

PyPImcp-mediawiki-crunchtoolsv0.1.2

Run

uvx mcp-mediawiki-crunchtools

MCP client config

{
  "mcpServers": {
    "mcp-mediawiki": {
      "command": "uvx",
      "args": [
        "mcp-mediawiki-crunchtools"
      ]
    }
  }
}
README2 min read

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

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

VariableRequiredDescription
MEDIAWIKI_URLYesWiki base URL (e.g., https://en.wikipedia.org/w/)
MEDIAWIKI_USERNAMENoBot/user account for write operations
MEDIAWIKI_PASSWORDNoBot/user password
MEDIAWIKI_HTTP_USERNoHTTP Basic Auth username (.htaccess)
MEDIAWIKI_HTTP_PASSNoHTTP Basic Auth password

Tools (19)

CategoryToolDescription
PagessearchFull-text search across wiki
Pagesget_pageGet page wikitext content
Pagesget_page_htmlParse page to HTML
Pageslist_pagesList pages with prefix filter
Pagescreate_pageCreate a new page
Pagesedit_pageEdit an existing page
Pagesdelete_pageDelete a page
Pagesmove_pageMove/rename a page
Categorieslist_categoriesList all categories
Categoriesget_category_membersGet pages in a category
Categoriesget_page_categoriesGet categories for a page
Recent Changeslist_recent_changesList recent edits
Parsingparse_wikitextParse raw wikitext to HTML
Site Infoget_site_infoGet wiki config and version
Site Infolist_namespacesList wiki namespaces
Usersget_user_infoGet user details
Userslist_user_contributionsList user edits
Filesget_file_infoGet file/image metadata
Fileslist_filesList 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

Similar modules

Browse Content management