MM

MediaWiki MCP adapter

Created 6 months ago

A custom Model Context Protocol (MCP) adapter for interacting with MediaWiki and WikiBase APIs.

development documentation public

What is MediaWiki MCP adapter?

A custom Model Context Protocol adapter for MediaWiki and WikiBase APIs

Documentation

MediaWikiAdapter

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

  1. Clone the repository:
    git clone https://github.com/yourusername/mediawikiadapter.git
    cd mediawikiadapter
    
  2. Install dependencies:
    npm install
    
  3. 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:

You can override these defaults using the server.configure() method.


Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. 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.

Server Config

{
  "mcpServers": {
    "mediawiki-mcp-adapter-server": {
      "command": "npx",
      "args": [
        "mediawiki-mcp-adapter"
      ]
    }
  }
}

Links & Status

Repository: github.com
Hosted: No
Global: No
Official: No

Project Info

Hosted Featured
Created At: Jul 02, 2025
Updated At: Aug 07, 2025
Author: Luca Mauri
Category: community
License: LGPL-3.0-or-later
Tags:
development documentation public