mediawiki-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MEDIAWIKI_WIKIS | No | Comma-separated Name:URL pairs for multi-wiki (e.g. Main:https://wiki.example.com,Dev:https://dev.wiki.example.com) | |
| MEDIAWIKI_BASE_URL | No | Base URL of the single wiki (e.g. https://wiki.example.com) | |
| MEDIAWIKI_MCP_HOST | No | Host for HTTP mode (default 0.0.0.0) | |
| MEDIAWIKI_MCP_PORT | No | Port for HTTP mode (default 8009) | |
| MEDIAWIKI_PASSWORD | No | Bot password for single wiki | |
| MEDIAWIKI_USERNAME | No | Bot password username for single wiki (e.g. Admin@mcp) | |
| MEDIAWIKI_DEFAULT_WIKI | No | Name of the default wiki when using multi-wiki (optional) | |
| MEDIAWIKI_PASSWORD_DEV | No | Bot password for wiki named Dev | |
| MEDIAWIKI_USERNAME_DEV | No | Bot password username for wiki named Dev | |
| MEDIAWIKI_PASSWORD_MAIN | No | Bot password for wiki named Main (use MEDIAWIKI_PASSWORD_<NAME> for each wiki) | |
| MEDIAWIKI_USERNAME_MAIN | No | Bot password username for wiki named Main (use MEDIAWIKI_USERNAME_<NAME> for each wiki) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| add-wikiA | Register a new MediaWiki instance so you can read and edit its pages. Provide the wiki base URL and optional bot credentials. After adding, use the wiki name in other tools' "wiki" parameter. |
| remove-wikiA | Unregister a wiki so it is no longer accessible. Does not affect the wiki itself — only removes it from this session. |
| set-wikiA | Set the default wiki. When multiple wikis are registered, this determines which wiki is used when the "wiki" parameter is omitted from other tool calls. |
| list-wikisA | List all registered wikis with their URLs, auth status, and which is the default. Call this first if you're unsure which wikis are available. |
| find-pageA | Unified page locator. Tries exact title (following redirects), then title-prefix match, then full-text search, across all registered wikis by default. Returns a single ranked list where exact/redirect hits come before prefix hits, which come before full-text hits. Use this as the first step whenever you need to locate a specific page — it succeeds regardless of whether the user gave you the exact title, a partial title, or a topic description. |
| search-pageA | Full-text search across wiki pages. Returns matching page titles, IDs, and text excerpts. Use this to find pages when you don't know the exact title. |
| search-page-by-prefixA | Search for pages by title prefix (autocomplete-style). Returns matching page titles and IDs. Faster than full-text search when you know the beginning of the page title. |
| get-pageA | Retrieve a wiki page's full wikitext source and metadata. Returns the page title, ID, content model, latest revision ID/timestamp, and the raw wikitext source. Call this BEFORE update-page to read the current content you want to edit. |
| create-pageA | Create a new wiki page with wikitext content. The page must not already exist — use update-page to modify existing pages. |
| update-pageA | Update an existing wiki page. WORKFLOW: First call get-page to read the current wikitext source, then call this tool with your changes. EDIT MODES (use exactly one): • diff: Preferred for targeted edits. Provide a unified diff (with @@ hunk headers and context lines) — the server fetches current content, applies the patch, and saves. Best for surgical changes to large pages. • section + content: Edit a single section by number (0 = lead section). Only that section is replaced. • append: Add text to the end of the page without reading current content first. • prepend: Add text to the beginning of the page without reading current content first. • content: Full page replacement. Avoid for large pages — use diff instead. WIKITEXT STYLE GUIDE — when writing or updating wikitext, use modern syntax: • Tables: {| class="wikitable" with |- row separators (not |---- or border="1" or HTML ) • Bold/italic: '''bold''' and ''italic'' (not /) • Headings: == Level 2 == through ====== Level 6 ====== (skip level 1) • Lists: * bullets, # numbered, ; and : for definition lists • Links: [URL description] for external (not bare URLs) • Avoid deprecated tags: , , , , , • Avoid deep colon indentation (::), excessive , inline CSS on divs |
| delete-pageA | Delete a wiki page permanently. This requires admin/sysop rights on the wiki. |
| undelete-pageA | Restore a previously deleted wiki page. This requires admin/sysop rights on the wiki. |
| get-page-historyA | Get the revision history of a wiki page. Returns a list of revisions with IDs, timestamps, authors, size changes, and edit summaries. Use older_than to paginate through long histories. |
| get-revisionA | Get details for a specific revision by ID. Returns the page title, timestamp, author, size, byte delta, and edit comment. |
| list-categoriesA | List all categories on the wiki with page/subcat/file counts. Use prefix to filter by name prefix. Useful for discovering how content is organized. |
| get-category-membersB | List all pages, subcategories, or files within a specific category. Returns member titles and IDs. Use type to filter (page/subcat/file). |
| get-page-linksA | Get outgoing links from a page (direction="from") or find all pages that link to it (direction="to", i.e. backlinks). Returns link titles and namespaces. |
| get-fileA | Get metadata and download URLs for an uploaded file (image, PDF, etc). Returns dimensions, file size, media type, and both original and preferred-format URLs. |
| upload-fileB | Upload a file to the wiki from base64-encoded data. Provide the file content as a base64 string. |
| upload-file-from-urlA | Upload a file to the wiki by fetching it from a URL. The wiki server downloads the file directly from the source URL. |
| get-recent-changesA | Get a feed of recent edits, page creations, and log events across wikis. Returns timestamps, change types, page titles, authors, size deltas, and edit summaries. Useful for monitoring wiki activity. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| search-wikis | Find the most relevant pages across all connected wikis and summarize them. |
| summarize-page | Fetch a wiki page and summarize its key points. |
| recent-activity | Summarize what has changed recently across the wikis. |
| draft-page-edit | Read a page and propose an edit as a diff before saving. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ttpears/mediawiki-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server