JUHE API Marketplace
ProfessionalWiki avatar
MCP Server

mediawiki-mcp-server

Model Context Protocol (MCP) server for MediaWiki

40
GitHub Stars
11/22/2025
Last Updated
MCP Server Configuration
1{
2 "name": "mediawiki-mcp-server",
3 "command": "npx",
4 "args": [
5 "@professional-wiki/mediawiki-mcp-server@latest"
6 ],
7 "env": {
8 "CONFIG": "path/to/config.json"
9 }
10}
JSON10 lines
  1. Home
  2. MCP Servers
  3. MediaWiki-MCP-Server

README Documentation

MediaWiki MCP Server

An MCP (Model Context Protocol) server that enables Large Language Model (LLM) clients to interact with any MediaWiki wiki.

Feature

Tools

NameDescriptionPermissions
add-wikiAdds 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-membersGets all members in the category-
get-fileReturns the standard file object for a file page.-
get-pageReturns the standard page object for a wiki page.-
get-page-historyReturns information about the latest revisions to a wiki page.-
get-revisionReturns the standard revision object for a page.-
remove-wikiRemoves a wiki resource.-
search-pageSearch wiki page titles and contents for the provided search terms.-
search-page-by-prefixPerform a prefix search for page titles.-
set-wikiSets 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

Resources

mcp://wikis/{wikiKey}

  • Credentials (e.g., token, username, password) are never exposed in resource content.
  • After add-wiki/remove-wiki, the server sends notifications/resources/list_changed so clients refresh.
Example list result
{
  "resources": [
    {
      "uri": "mcp://wikis/en.wikipedia.org",
      "name": "wikis/en.wikipedia.org",
      "title": "Wikipedia",
      "description": "Wiki \"Wikipedia\" hosted at https://en.wikipedia.org"
    }
  ]
}
Example read result
{
  "contents": [
    {
      "uri": "mcp://wikis/en.wikipedia.org",
      "mimeType": "application/json",
      "text": "{ \"sitename\":\"Wikipedia\",\"server\":\"https://en.wikipedia.org\",\"articlepath\":\"/wiki\",\"scriptpath\":\"/w\",\"private\":false }"
    }
  ]
}

Environment variables

NameDescriptionDefault
CONFIGPath to your configuration fileconfig.json
MCP_TRANSPORTType of MCP server transport (stdio or http)stdio
PORTPort used for StreamableHTTP transport3000

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

{
  "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
    }
  }
}

Configuration fields

FieldDescription
defaultWikiThe default wiki identifier to use (matches a key in wikis)
wikisObject containing wiki configurations, keyed by domain/identifier

Wiki configuration fields

FieldRequiredDescription
sitenameYesDisplay name for the wiki
serverYesBase URL of the wiki (e.g., https://en.wikipedia.org)
articlepathYesPath pattern for articles (typically /wiki)
scriptpathYesPath to MediaWiki scripts (typically /w)
tokenNoOAuth2 access token for authenticated operations (preferred)
usernameNoBot username (fallback when OAuth2 is not available)
passwordNoBot password (fallback when OAuth2 is not available)
privateNoWhether the wiki requires authentication to read (default: false)

Authentication setup

For tools marked with 🔐, authentication is required.

Preferred method: OAuth2 Token

  1. Navigate to Special:OAuthConsumerRegistration/propose/oauth2 on your wiki
  2. Select "This consumer is for use only by [YourUsername]"
  3. Grant the necessary permissions
  4. After approval, you'll receive:
    • Client ID
    • Client Secret
    • Access Token
  5. Add the token to your wiki configuration in config.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

Install via Smithery

To install MediaWiki MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @ProfessionalWiki/mediawiki-mcp-server --client claude
Install in Claude Desktop

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"
      }
    }
  }
}
Install in VS Code

code --add-mcp '{"name":"mediawiki-mcp-server","command":"npx","args":["@professional-wiki/mediawiki-mcp-server@latest"]}'
Install in Cursor

Install in Cursor

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"
      }
    }
  }
}
Install in Windsurf

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"
      }
    }
  }
}
Install in Claude Code

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"
    }
  }
},

Development

🐋 Develop with Docker: Replace the npm run part of the command with make (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:

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.

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:

npm run mcpjam

Test with MCP clients

To enable your MCP client to use this MediaWiki MCP Server for local development:

  1. Install the MCP server on your MCP client.

  2. 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).

  3. Run the dev command so that the source will be compiled whenever there is a change:

    npm run dev
    

Release process

To release a new version:

1. Use npm version to create a release
# 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:

  • Updates package.json and package-lock.json
  • Syncs the version in server.json and Dockerfile (via the version script)
  • Creates a git commit
  • Creates a git tag (e.g., v0.2.0)
2. Push to GitHub
git push origin master --follow-tags
3. Create a GitHub Release
  1. Go to the Releases page
  2. Click "Create a new release"
  3. Select the tag you just pushed (e.g., v0.2.0)
  4. Add a title and release notes
  5. 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.

Quick Install

Quick Actions

View on GitHubView All Servers

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source

Boost your projects with Wisdom Gate LLM API

Supporting GPT-5, Claude-4, DeepSeek v3, Gemini and more.

Enjoy a free trial and save 20%+ compared to official pricing.

Learn More
JUHE API Marketplace

Accelerate development, innovate faster, and transform your business with our comprehensive API ecosystem.

JUHE API VS

  • vs. RapidAPI
  • vs. API Layer
  • API Platforms 2025
  • API Marketplaces 2025
  • Best Alternatives to RapidAPI

For Developers

  • Console
  • Collections
  • Documentation
  • MCP Servers
  • Free APIs
  • Temp Mail Demo

Product

  • Browse APIs
  • Suggest an API
  • Wisdom Gate LLM
  • Global SMS Messaging
  • Temp Mail API

Company

  • What's New
  • Welcome
  • About Us
  • Contact Support
  • Terms of Service
  • Privacy Policy
Featured on Startup FameFeatured on Twelve ToolsFazier badgeJuheAPI Marketplace - Connect smarter, beyond APIs | Product Huntai tools code.marketDang.ai
Copyright © 2025 - All rights reserved