About MediaWiki MCP adapter
MediaWiki MCP adapter connects to MediaWiki and WikiBase APIs for programmatic page access. It is for users who need to read or edit wiki pages, and supports configurable API endpoints.
Key features
- 01Fetch MediaWiki page content
- 02Edit pages with an optional summary
- 03Configure MediaWiki and WikiBase API URLs
Use cases
- 01Retrieve the content of a page
- 02Update wiki pages programmatically
- 03Connect to custom MediaWiki or WikiBase instances
MCP support
The adapter runs as an MCP server, exposing `getPageContent` for reading pages and the `editPage` tool for editing them.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMediaWikiAdapter
A custom Model Context Protocol (MCP) adapter for interacting with MediaWiki and WikiBase APIs. This adapter allows you to fetch and edit MediaWiki pages programmatically using the MCP framework.
Features
- Fetch the content of a MediaWiki page.
- Edit a MediaWiki page with new content and an optional summary.
- Configurable API base URLs for different MediaWiki and WikiBase instances.
Requirements
- Node.js (v16 or later)
- TypeScript (for development)
- MediaWiki instance with API access enabled
Installation
- Clone the repository:
git clone https://github.com/yourusername/mediawikiadapter.git
cd mediawikiadapter
-
Install dependencies:
npm install -
Build the project:
npm run build
Usage
Configure the Adapter
You can configure the adapter to use custom MediaWiki and WikiBase API endpoints:
server.configure({
mediaWikiAPIBase: "https://my.mediawiki.instance/api.php",
wikiBaseAPIBase: "https://my.wikibase.instance/api.php",
});
Start the MCP Server
Run the MCP server using the following command:
node build/index.js
Resources
getPageContent
Fetches the content of a MediaWiki page.
- Input Schema:
{
"title": "string"
}
- Output Schema:
{ "content": "string" }
Example Usage:
const response = await server.callResource("getPageContent", {
title: "Main Page",
});
console.log(response.content);
Tools
editPage
Edits a MediaWiki page with new content.
- Input Schema:
{
"title": "string",
"content": "string",
"summary": "string (optional)"
}
- Output Schema:
{
"success": "boolean"
}
Example Usage:
const response = await server.callTool("editPage", {
title: "Main Page",
content: "Updated content for the page.",
summary: "Updated via MediaWikiAdapter",
});
console.log(response.success ? "Edit successful" : "Edit failed");
Development
Run in Development Mode
To run the project in development mode with TypeScript:
npm run dev
Linting
Run the linter to check for code quality:
npm run lint
Testing
Currently, no tests are implemented. You can add tests to the test directory and run them using:
npm test
Configuration
The adapter uses the following default API base URLs:
- MediaWiki API Base: https://en.wikipedia.org/w/api.php
- WikiBase API Base: https://www.wikidata.org/w/api.php
You can override these defaults using the server.configure() method.
Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Submit a pull request with a detailed description of your changes.
License
This project is licensed under the LGPL-3.0-or-later license. See the LICENSE file for details.
Author
Created by Luca Mauri.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.