by ProfessionalWiki
Enables Large Language Model clients to read, search, create, and update pages on any MediaWiki wiki through a set of defined tools.
Provides an MCP server that bridges LLM clients with MediaWiki instances, exposing operations such as page retrieval, search, creation, and updates via standardized tool calls.
npx @professional-wiki/mediawiki-mcp-server@latest
CONFIG, MCP_TRANSPORT, PORT).npm run dev for development, or start the compiled binary) and interact through the client’s tool interface.create-page, update-page (OAuth‑protected), get-page, get-file, get-page-history, search-page, set-wiki.MCP_TRANSPORT).config.json, port 3000).make dev).Q: Do I need an OAuth token for all operations?
A: Only the create-page and update-page tools require an OAuth 2.0 token. All read‑only tools work without authentication.
Q: Which transport should I choose?
A: Use stdio for local LLM integrations (e.g., Claude Desktop). Choose http when the client expects a network endpoint.
Q: How do I change the wiki target at runtime?
A: Call the set-wiki tool with the desired wiki URL; subsequent tool calls will operate on that wiki.
Q: Can I run the server inside Docker?
A: Yes. Replace the npm command with make dev in the Docker container as described in the development section.
Q: Where is the configuration file located?
A: By default, config.json in the working directory, but you can override the path with the CONFIG environment variable.
An MCP (Model Context Protocol) server that enables Large Language Model (LLM) clients to interact with any MediaWiki wiki.
| Name | Description | Permissions |
|---|---|---|
add-wiki |
Adds a new wiki as an MCP resource from a URL. | - |
create-page 🔐 |
Create a new wiki page. | Create, edit, and move pages |
delete-page 🔐 |
Delete a wiki page. | Delete pages, revisions, and log entries |
get-category-members |
Gets all members in the category | - |
get-file |
Returns the standard file object for a file page. | - |
get-page |
Returns the standard page object for a wiki page. | - |
get-page-history |
Returns information about the latest revisions to a wiki page. | - |
get-revision |
Returns the standard revision object for a page. | - |
remove-wiki |
Removes a wiki resource. | - |
search-page |
Search wiki page titles and contents for the provided search terms. | - |
search-page-by-prefix |
Perform a prefix search for page titles. | - |
set-wiki |
Sets the wiki resource to use for the current session. | - |
undelete-page 🔐 |
Undelete a wiki page. | Delete pages, revisions, and log entries |
update-page 🔐 |
Update an existing wiki page. | Edit existing pages |
upload-file 🔐 |
Uploads a file to the wiki from the local disk. | Upload new files |
upload-file-from-url 🔐 |
Uploads a file to the wiki from a web URL. | Upload, replace, and move files |
mcp://wikis/{wikiKey}
token, username, password) are never exposed in resource content.add-wiki/remove-wiki, the server sends notifications/resources/list_changed so clients refresh.{
"resources": [
{
"uri": "mcp://wikis/en.wikipedia.org",
"name": "wikis/en.wikipedia.org",
"title": "Wikipedia",
"description": "Wiki \"Wikipedia\" hosted at https://en.wikipedia.org"
}
]
}
{
"contents": [
{
"uri": "mcp://wikis/en.wikipedia.org",
"mimeType": "application/json",
"text": "{ \"sitename\":\"Wikipedia\",\"server\":\"https://en.wikipedia.org\",\"articlepath\":\"/wiki\",\"scriptpath\":\"/w\",\"private\":false }"
}
]
}
| Name | Description | Default |
|---|---|---|
CONFIG |
Path to your configuration file | config.json |
MCP_TRANSPORT |
Type of MCP server transport (stdio or http) |
stdio |
PORT |
Port used for StreamableHTTP transport | 3000 |
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.
{
"defaultWiki": "en.wikipedia.org",
"wikis": {
"en.wikipedia.org": {
"sitename": "Wikipedia",
"server": "https://en.wikipedia.org",
"articlepath": "/wiki",
"scriptpath": "/w",
"token": null,
"username": null,
"password": null,
"private": false
}
}
}
| Field | Description |
|---|---|
defaultWiki |
The default wiki identifier to use (matches a key in wikis) |
wikis |
Object containing wiki configurations, keyed by domain/identifier |
| Field | Required | Description |
|---|---|---|
sitename |
Yes | Display name for the wiki |
server |
Yes | Base URL of the wiki (e.g., https://en.wikipedia.org) |
articlepath |
Yes | Path pattern for articles (typically /wiki) |
scriptpath |
Yes | Path to MediaWiki scripts (typically /w) |
token |
No | OAuth2 access token for authenticated operations (preferred) |
username |
No | Bot username (fallback when OAuth2 is not available) |
password |
No | Bot password (fallback when OAuth2 is not available) |
private |
No | Whether the wiki requires authentication to read (default: false) |
For tools marked with 🔐, authentication is required.
Preferred method: OAuth2 Token
Special:OAuthConsumerRegistration/propose/oauth2 on your wikitoken to your wiki configuration in config.jsonNote: 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.
To install MediaWiki MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ProfessionalWiki/mediawiki-mcp-server --client claude
Follow the guide, use following configuration:
{
"mcpServers": {
"mediawiki-mcp-server": {
"command": "npx",
"args": [
"@professional-wiki/mediawiki-mcp-server@latest"
],
"env": {
"CONFIG": "path/to/config.json"
}
}
}
}
code --add-mcp '{"name":"mediawiki-mcp-server","command":"npx","args":["@professional-wiki/mediawiki-mcp-server@latest"]}'
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.
{
"mcpServers": {
"mediawiki-mcp-server": {
"command": "npx",
"args": [
"@professional-wiki/mediawiki-mcp-server@latest"
],
"env": {
"CONFIG": "path/to/config.json"
}
}
}
}
Follow the guide, use following configuration:
{
"mcpServers": {
"mediawiki-mcp-server": {
"command": "npx",
"args": [
"@professional-wiki/mediawiki-mcp-server@latest"
],
"env": {
"CONFIG": "path/to/config.json"
}
}
}
}
Follow the Claude Code MCP docs.
Run the below command, optionally with -e flags to specify environment variables.
claude mcp add mediawiki-mcp-server npx @professional-wiki/mediawiki-mcp-server@latest
You should end up with something like the below in your .claude.json config:
"mcpServers": {
"mediawiki-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"@professional-wiki/mediawiki-mcp-server@latest"
],
"env": {
"CONFIG": "path/to/config.json"
}
}
},
🐋 Develop with Docker: Replace the
npm runpart of the command withmake(e.g.make inspector).
Test and debug the MCP server without a MCP client and LLM.
To start the development server and the MCP Inspector together:
npm run inspector
The command will build and start the MCP Proxy server locally at 6277 and the MCP Inspector client UI at http://localhost:6274.
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:
npm run mcpjam
To enable your MCP client to use this MediaWiki MCP Server for local development:
Install the MCP server on your MCP client.
Change the command and args values as shown in the mcp.json file (or mcp.docker.json if you prefer to run the MCP server in Docker).
Run the dev command so that the source will be compiled whenever there is a change:
npm run dev
To release a new version:
# For patch release (0.1.1 → 0.1.2)
npm version patch
# For minor release (0.1.1 → 0.2.0)
npm version minor
# For major release (0.1.1 → 1.0.0)
npm version major
# Or specify exact version
npm version 0.2.0
This command automatically:
package.json and package-lock.jsonserver.json and Dockerfile (via the version script)v0.2.0)git push origin master --follow-tags
v0.2.0)The GitHub Actions workflow will automatically:
Contributions are welcome! Please feel free to submit a pull request or open an issue for bugs, feature requests, or suggestions.
This project is licensed under the MIT License. See the LICENSE file for details.
Please log in to share your review and rating for this MCP.
Explore related MCPs that share similar capabilities and solve comparable challenges
by modelcontextprotocol
A Model Context Protocol server for Git repository interaction and automation.
by zed-industries
A high‑performance, multiplayer code editor designed for speed and collaboration.
by modelcontextprotocol
Model Context Protocol Servers
by modelcontextprotocol
A Model Context Protocol server that provides time and timezone conversion capabilities.
by cline
An autonomous coding assistant that can create and edit files, execute terminal commands, and interact with a browser directly from your IDE, operating step‑by‑step with explicit user permission.
by upstash
Provides up-to-date, version‑specific library documentation and code examples directly inside LLM prompts, eliminating outdated information and hallucinated APIs.
by daytonaio
Provides a secure, elastic infrastructure that creates isolated sandboxes for running AI‑generated code with sub‑90 ms startup, unlimited persistence, and OCI/Docker compatibility.
by continuedev
Enables faster shipping of code by integrating continuous AI agents across IDEs, terminals, and CI pipelines, offering chat, edit, autocomplete, and customizable agent workflows.
by github
Connects AI tools directly to GitHub, enabling natural‑language interactions for repository browsing, issue and pull‑request management, CI/CD monitoring, code‑security analysis, and team collaboration.
{
"mcpServers": {
"mediawiki-mcp-server": {
"command": "npx",
"args": [
"@professional-wiki/mediawiki-mcp-server@latest"
],
"env": {
"OAUTH_TOKEN": "<YOUR_OAUTH_TOKEN>",
"WIKI_SERVER": "<YOUR_WIKI_SERVER>"
}
}
}
}claude mcp add mediawiki-mcp-server npx @professional-wiki/mediawiki-mcp-server@latest