The MediaWiki MCP Server enables Large Language Model (LLM) clients to interact with any MediaWiki wiki through various API functions:
Read wiki pages: Retrieve page content with options for source/rendered HTML, license, and revision info
View page history: Access revision history in segments with filtering options
Search wiki content: Find specific terms in page titles and content with configurable result limits
Get file information: Access details and download links for files in various formats
Create new pages: Generate wiki pages with specified content and comments (requires OAuth 2.0)
Update existing pages: Replace content in existing pages (requires OAuth 2.0)
Set target wiki: Define which wiki instance to interact with in the current session
Enables interaction with any MediaWiki wiki, including Wikipedia, providing tools to create and update pages, retrieve file information, search page content, access page history, and set the wiki to use for the current session.
MediaWiki MCP Server
An MCP (Model Context Protocol) server that enables Large Language Model (LLM) clients to interact with any MediaWiki wiki.
Feature
Tools
Name | Description | Permissions |
| Adds a new wiki as an MCP resource from a URL. | - |
🔐 | Create a new wiki page. |
|
🔐 | Delete a wiki page. |
|
| Gets all members in the category | - |
| Returns the standard file object for a file page. | - |
| Returns the standard page object for a wiki page. | - |
| Returns information about the latest revisions to a wiki page. | - |
| Returns the standard revision object for a page. | - |
| Removes a wiki resource. | - |
| Search wiki page titles and contents for the provided search terms. | - |
| Perform a prefix search for page titles. | - |
| Sets the wiki resource to use for the current session. | - |
🔐 | Undelete a wiki page. |
|
🔐 | Update an existing wiki page. |
|
🔐 | Uploads a file to the wiki from the local disk. |
|
🔐 | Uploads a file to the wiki from a web URL. |
|
Resources
mcp://wikis/{wikiKey}
Credentials (e.g.,
token,username,password) are never exposed in resource content.After
add-wiki/remove-wiki, the server sendsnotifications/resources/list_changedso clients refresh.
Environment variables
Name | Description | Default |
| Path to your configuration file |
|
| Type of MCP server transport (
or
) |
|
| Port used for StreamableHTTP transport |
|
Related MCP server: salesforce-mcp
Configuration
Note: Config is only required when interacting with a private wiki or using authenticated tools.
Create a config.json file to configure wiki connections. Use the config.example.json as a starting point.
Basic structure
Configuration fields
Field | Description |
| The default wiki identifier to use (matches a key in
) |
| Object containing wiki configurations, keyed by domain/identifier |
Wiki configuration fields
Field | Required | Description |
| Yes | Display name for the wiki |
| Yes | Base URL of the wiki (e.g.,
) |
| Yes | Path pattern for articles (typically
) |
| Yes | Path to MediaWiki scripts (typically
) |
| No | OAuth2 access token for authenticated operations (preferred) |
| No | Bot username (fallback when OAuth2 is not available) |
| No | Bot password (fallback when OAuth2 is not available) |
| No | Whether the wiki requires authentication to read (default:
) |
Authentication setup
For tools marked with 🔐, authentication is required.
Preferred method: OAuth2 Token
Navigate to
Special:OAuthConsumerRegistration/propose/oauth2on your wikiSelect "This consumer is for use only by [YourUsername]"
Grant the necessary permissions
After approval, you'll receive:
Client ID
Client Secret
Access Token
Add the
tokento your wiki configuration inconfig.json
Note: OAuth2 requires the OAuth extension to be installed on the wiki.
Fallback method: Username & Password
If OAuth2 is not available on your wiki, you can use bot credentials (from Special:BotPasswords ) instead of the OAuth2 token.
Installation
To install MediaWiki MCP Server for Claude Desktop automatically via Smithery:
Follow the guide, use following configuration:
Go to Cursor Settings -> MCP -> Add new MCP Server. Name to your liking, use command type with the command npx @professional-wiki/mediawiki-mcp-server. You can also verify config or add command like arguments via clicking Edit.
Follow the guide, use following configuration:
Follow the Claude Code MCP docs.
Run the below command, optionally with -e flags to specify environment variables.
You should end up with something like the below in your .claude.json config:
Development
🐋 Develop with Docker: Replace the
npm runpart of the command withmake(e.g.make inspector).
MCP Inspector
Test and debug the MCP server without a MCP client and LLM.
To start the development server and the MCP Inspector together:
The command will build and start the MCP Proxy server locally at 6277 and the MCP Inspector client UI at http://localhost:6274.
MCPJam Inspector
Test and debug the MCP server, with a built-in MCP client and support for different LLMs.
To start the development server and the MCP Inspector together:
Test with MCP clients
To enable your MCP client to use this MediaWiki MCP Server for local development:
Install the MCP server on your MCP client.
Change the
commandandargsvalues as shown in themcp.jsonfile (ormcp.docker.jsonif you prefer to run the MCP server in Docker).Run the
devcommand so that the source will be compiled whenever there is a change:npm run dev
Release process
To release a new version:
This command automatically:
Updates
package.jsonandpackage-lock.jsonSyncs the version in
server.jsonandDockerfile(via the version script)Creates a git commit
Creates a git tag (e.g.,
v0.2.0)
Go to the Releases page
Click "Create a new release"
Select the tag you just pushed (e.g.,
v0.2.0)Add a title and release notes
Click "Publish release"
The GitHub Actions workflow will automatically:
Build and publish to NPM
Publish to the MCP Registry
Contributing
Contributions are welcome! Please feel free to submit a pull request or open an issue for bugs, feature requests, or suggestions.
License
This project is licensed under the MIT License. See the LICENSE file for details.