
lucamauri/mediawiki-mcp-adapter
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
A custom Model Context Protocol adapter for MediaWiki and WikiBase APIs
概要
A custom adapter for interacting with MediaWiki and WikiBase APIs. This adapter allows you to fetch and edit MediaWiki pages programmatically using the MCP framework. - 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. - Node.js (v16 or later) - TypeScript (for development) - MediaWiki instance with API access enabled You can configure the adapter to use custom MediaWiki and WikiBase API endpoints: Run the MCP server using the following command: Fetches the content of a MediaWiki page. Edits a MediaWiki page with new content. To run the project in development mode with TypeScript:
README
以下は原文 README の抜粋です。原文を見る。
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
- 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.
インストール
This server does not publish a one-line install command.
Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →