
MediaWiki
Connects to MediaWiki instances (like Wikipedia) to search, read, create, and edit wiki pages through the REST API. Supports multiple wikis with automatic discovery and authenticated operations.
Integrates with MediaWiki instances through REST API to enable searching pages, retrieving content in multiple formats, accessing file information, viewing revision history, and performing authenticated operations like creating and updating pages with automatic wiki discovery and dynamic configuration management.
What it does
- Search wiki pages by title and content
- Retrieve page content and revision history
- Create and update wiki pages
- Upload files to wikis
- Manage multiple wiki instances
- Access file information and downloads
Best for
About MediaWiki
MediaWiki is a community-built MCP server published by professionalwiki that provides AI assistants with tools and capabilities via the Model Context Protocol. Integrate with MediaWiki via REST API for searching, content retrieval, file info, revisions, and page management with d It is categorized under productivity. This server exposes 16 tools that AI clients can invoke during conversations and coding sessions.
How to install
You can install MediaWiki in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
License
MediaWiki is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Tools (16)
Returns a wiki page. Use metadata=true to retrieve the revision ID required by update-page. Set content="none" to fetch only metadata without content.
Returns information about the latest revisions to a wiki page, in segments of 20 revisions, starting with the latest revision. The response includes API routes for the next oldest, next newest, and latest revision segments.
Search wiki page titles and contents for the provided search terms, and returns matching pages.
Sets the wiki to use for the current session. You MUST call this tool when interacting with a new wiki.
Updates a wiki page. Replaces the existing content of a page with the provided content
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 |
|---|---|---|
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 |
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.
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
| 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 |
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
| Field | Description |
|---|---|
defaultWiki | The default wiki identifier to use (matches a key in wikis) |
wikis | Object containing wiki configurations, keyed by domain/identifier |
Wiki configuration fields
| 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) |
Authentication setup
For tools marked with 🔐, authentication is required.
Preferred method: OAuth2 Token
- Navigate to
Special:OAuthConsumerRegistration/propose/oauth2on your wiki - Select "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
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
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 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:
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:
- Install the MCP server on your MCP client.
- Change the
commandandargsvalues as shown in themcp.jsonfile (ormcp.docker.jsonif you pre
README truncated. View full README on GitHub.
Alternatives
Related Skills
Browse all skillsLeveraging AI coding assistants and tools to boost development productivity, while maintaining oversight to ensure quality results.
Creates educational Teams channel posts for internal knowledge sharing about Claude Code features, tools, and best practices. Applies when writing posts, announcements, or documentation to teach colleagues effective Claude Code usage, announce new features, share productivity tips, or document lessons learned. Provides templates, writing guidelines, and structured approaches emphasizing concrete examples, underlying principles, and connections to best practices like context engineering. Activates for content involving Teams posts, channel announcements, feature documentation, or tip sharing.
Expert methodology for defining, tracking, and interpreting engineering performance metrics including DORA, team health, productivity, and executive reporting.
This skill should be used whenever users request personal assistance tasks such as schedule management, task tracking, reminder setting, habit monitoring, productivity advice, time management, or any query requiring personalized responses based on user preferences and context. On first use, collects comprehensive user information including schedule, working habits, preferences, goals, and routines. Maintains an intelligent database that automatically organizes and prioritizes information, keeping relevant data and discarding outdated context.
Boost your productivity with automated task management
Optimize local development workflow with Cursor. Triggers on "cursor workflow", "cursor development loop", "cursor productivity", "cursor daily workflow". Use when working with cursor local dev loop functionality. Trigger with phrases like "cursor local dev loop", "cursor loop", "cursor".