MediaWiki MCP adapter について
MediaWiki MCP adapterは、MediaWikiおよびWikiBase APIに接続し、ページをプログラムから扱うためのMCPアダプターです。Wikiページの読み取りや編集を行う用途に向けて、APIエンドポイントを設定できます。
主な機能
- 01MediaWikiページ内容の取得
- 02任意の要約付きページ編集
- 03MediaWikiとWikiBaseのAPI URL設定
活用シーン
- 01指定ページの内容取得
- 02プログラムからのWikiページ更新
- 03カスタムMediaWikiまたはWikiBaseへの接続
MCP 対応
MCPサーバーとして動作し、ページ読み取り用の`getPageContent`と、編集用の`editPage`ツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MediaWikiAdapter
MediaWiki および WikiBase の API と連携するための、カスタム Model Context Protocol (MCP) アダプターです。このアダプターを使用すると、MCP フレームワークを通じて MediaWiki のページをプログラムから取得・編集できます。
特長
- MediaWiki のページの内容を取得します。
- 新しい内容と任意の編集概要を指定して、MediaWiki のページを編集します。
- さまざまな MediaWiki および WikiBase インスタンスに対応する API のベース URL を設定できます。
必要条件
- Node.js(v16 以降)
- TypeScript(開発用)
- API アクセスが有効になっている MediaWiki インスタンス
インストール
- リポジトリをクローンします:
git clone https://github.com/yourusername/mediawikiadapter.git
cd mediawikiadapter
-
依存関係をインストールします:
npm install -
プロジェクトをビルドします:
npm run build
使用方法
アダプターの設定
カスタムの MediaWiki および WikiBase API エンドポイントを使用するように、アダプターを設定できます:
server.configure({
mediaWikiAPIBase: "https://my.mediawiki.instance/api.php",
wikiBaseAPIBase: "https://my.wikibase.instance/api.php",
});
MCP サーバーの起動
次のコマンドを使用して MCP サーバーを実行します:
node build/index.js
リソース
getPageContent
MediaWiki のページの内容を取得します。
- 入力スキーマ:
{
"title": "string"
}
- 出力スキーマ:
{ "content": "string" }
使用例:
const response = await server.callResource("getPageContent", {
title: "Main Page",
});
console.log(response.content);
ツール
editPage
新しい内容で MediaWiki のページを編集します。
- 入力スキーマ:
{
"title": "string",
"content": "string",
"summary": "string (optional)"
}
- 出力スキーマ:
{
"success": "boolean"
}
使用例:
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");
開発
開発モードで実行
TypeScript を使用してプロジェクトを開発モードで実行するには:
npm run dev
リント
コード品質を確認するには、リンターを実行します:
npm run lint
テスト
現在、テストは実装されていません。test ディレクトリにテストを追加し、次のコマンドで実行できます:
npm test
設定
このアダプターでは、次の API ベース URL がデフォルトで使用されます:
- MediaWiki API ベース: https://en.wikipedia.org/w/api.php
- WikiBase API ベース: https://www.wikidata.org/w/api.php
server.configure() メソッドを使用して、これらのデフォルト値を上書きできます。
コントリビューション
コントリビューションを歓迎します!次の手順に従ってください:
- リポジトリをフォークします。
- 機能追加またはバグ修正用の新しいブランチを作成します。
- 変更内容を詳しく説明したプルリクエストを送信します。
ライセンス
このプロジェクトは LGPL-3.0-or-later ライセンスの下で提供されています。詳細については、LICENSE ファイルをご覧ください。
作成者
Luca Mauri によって作成されました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。