mcpField
W
Wikipedia Simple English

Wikipedia Simple English

ローカル
github.com/bhubbb検索041 週間前に更新

Wikipedia Simple English について

Wikipedia Simple Englishは、Wikipediaを検索し、要約や記事全文を取得するMCPサーバーです。読みやすいSimple Englishを優先し、記事がない場合や短すぎる場合は通常の英語版に切り替え、構造化されたメタデータと本文を返します。

主な機能

  1. 01Wikipedia記事の検索
  2. 02要約と記事全文の取得
  3. 03Simple Englishを優先して自動切り替え
  4. 04曖昧さの解消と候補提示
  5. 05構造化メタデータと本文の返却

活用シーン

  1. 01読みやすいトピック解説の検索
  2. 02執筆用の参考資料収集
  3. 03Wikipedia記事を使った事実確認
  4. 04題名が曖昧なトピックの調査

MCP 対応

MCPクライアントにWikipediaの検索、要約、全文取得ツールを提供し、構造化された結果と曖昧さの解消候補を返します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"se-wikipedia": {
"command": "uvx",
"args": [
"git+https://github.com/bhubbb/mcp-se-wikipedia"
]
}
}
}
起動コマンドuvx 'git+https://github.com/bhubbb/mcp-se-wikipedia'

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypigit+https://github.com/bhubbb/mcp-se-wikipedia

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Wikipedia Simple English MCP サーバー

Simple English Wikipediaを優先し、コンテンツが利用できない場合や品質が低い場合は通常の英語版Wikipediaにインテリジェントに切り替えて、WikipediaのコンテンツにアクセスできるModel Context Protocol(MCP)サーバーです。

概要

このMCPサーバーは、AIアシスタントとWikipediaをつなぐブリッジとして機能し、特に次の点を重視して設計されています。

  • Simple Englishを優先:より明確でわかりやすいコンテンツを提供するため、最初にSimple English Wikipediaを使用します
  • インテリジェントなフォールバック:必要に応じて自動的に通常の英語版Wikipediaに切り替えます
  • 品質の検出:コンテンツの品質を評価し、スタブ記事の場合は英語版Wikipediaに切り替えます
  • 人にやさしい設計:読みやすさと使いやすさを考慮して設計されています

機能

🔍 検索ツール
  • Wikipediaの記事を検索します
  • 構造化されたメタデータと、関連性の高いページタイトルのランキング一覧を返します
  • 最初にSimple Englishを試し、見つからない場合は英語版に切り替えます
  • 結果数を設定できます
📄 要約ツール
  • Wikipediaページの要約や抜粋を取得します
  • 概要をすばやく確認できる、軽量で高速な応答を提供します
  • コンテンツの長さと言語を示す情報を含む、構造化されたメタデータを返します
  • 曖昧さの自動解消に対応します
📖 コンテンツツール
  • Wikipediaページの全コンテンツを取得します
  • 詳細な調査に使える、記事の完全なテキストを返します
  • メタデータとコンテンツを分けた構造化出力を返します
  • 品質に基づいて言語を選択します

インストールとセットアップ

前提条件
  • Python 3.12以上
  • uvパッケージマネージャー
クイックスタート

uvxで直接実行:

uvx git+https://github.com/bhubbb/mcp-se-wikipedia

またはローカルにインストール:

  1. このプロジェクトをクローンまたはダウンロードします

  2. 依存関係をインストールします:

    cd mcp-se-wikipedia
    uv sync
    
  3. サーバーを実行します:

    uv run python main.py
    
AIアシスタントとの連携

このMCPサーバーは、Model Context Protocolに対応したAIアシスタントと連携するように設計されています。stdio経由でこのサーバーに接続するよう、AIアシスタントを設定してください。

Claude Desktopの設定例:

{
  "mcpServers": {
    "wikipedia-se": {
      "command": "uvx",
      "args": ["git+https://github.com/bhubbb/mcp-se-wikipedia"]
    }
  }
}

ローカルインストールを使用する場合:

{
  "mcpServers": {
    "wikipedia-se": {
      "command": "uv",
      "args": ["run", "python", "/path/to/mcp-se-wikipedia/main.py"]
    }
  }
}

Simple Englishを使わず、英語版Wikipediaのみを使用する場合:

{
  "mcpServers": {
    "wikipedia-se": {
      "command": "uvx",
      "args": ["git+https://github.com/bhubbb/mcp-se-wikipedia"],
      "env": {
        "WIKIPEDIA_MODE": "full"
      }
    }
  }
}
設定

環境変数を使用して、サーバーの動作を設定できます。

WIKIPEDIA_MODE

使用するWikipediaのバージョンを指定します。

  • simple(デフォルト):Simple English Wikipediaを優先し、通常の英語版に自動的にフォールバックします
  • full:Simple Englishを完全に使わず、通常の英語版Wikipediaのみを使用します

使用例:

# Default mode (Simple English first)
uv run python main.py

# Full Wikipedia mode only
WIKIPEDIA_MODE=full uv run python main.py

次のような場合に便利です。

  • より詳細な技術コンテンツが必要な場合
  • 通常のWikipediaから一貫した結果を得たい場合
  • 英語版Wikipediaのほうが情報が充実しているトピックを扱う場合

利用可能なツール

search

構造化された結果を使ってWikipediaの記事を検索します。

パラメーター:

  • query(必須):検索語
  • limit(任意):返す結果の最大数(1~20、デフォルト:10)

戻り値:

  • 検索メタデータ(Wikipediaのバージョン、クエリ、結果数、言語コード)
  • 一致した記事タイトルの一覧

例:

{
  "name": "search",
  "arguments": {
    "query": "solar system",
    "limit": 5
  }
}
summary

Wikipediaページの要約や抜粋を取得します。

パラメーター:

  • title(必須):要約を取得するページのタイトル
  • auto_suggest(任意):完全一致が見つからない場合に、類似したタイトルを自動的に提案します(デフォルト:true)

戻り値:

  • 要約メタデータ(タイトル、Wikipediaのバージョン、言語コード、URL、コンテンツの長さ)
  • ページの要約テキスト

例:

{
  "name": "summary",
  "arguments": {
    "title": "Earth",
    "auto_suggest": true
  }
}
content

Wikipediaページの全コンテンツを取得します。

パラメーター:

  • title(必須):全コンテンツを取得するページのタイトル
  • auto_suggest(任意):完全一致が見つからない場合に、類似したタイトルを自動的に提案します(デフォルト:true)

戻り値:

  • コンテンツメタデータ(タイトル、Wikipediaのバージョン、言語コード、URL、コンテンツの長さ)
  • 記事の完全なコンテンツ

例:

{
  "name": "content",
  "arguments": {
    "title": "Earth",
    "auto_suggest": true
  }
}

動作の仕組み

言語優先システム
  1. まずはシンプルな英語(デフォルトモード):すべてのリクエストで、最初にSimple English Wikipediaを使用します
  2. 品質チェック:コンテンツや要約のリクエストでは、内容に十分な量があるか(500文字超)を確認します
  3. 自動フォールバック:次の場合は英語版Wikipediaに切り替えます:
    • Simple Englishにページが存在しない
    • 内容が短すぎる(スタブの可能性が高い)
    • 検索結果がない
  4. Wikipediaの完全版モード:WIKIPEDIA_MODE=fullを設定すると、Simple Englishを経由せず、通常の英語版Wikipediaを直接使用します
構造化出力形式

すべてのツールは、次の個別ブロックを含む構造化された応答を返します:

  • メタデータ:Wikipediaのバージョン、言語コード、URL、コンテンツ統計
  • コンテンツ:検索結果、要約、または記事全文
  • 選択肢:複数のページが一致した場合の曖昧さ解消の選択肢

この構造により、人が読みやすく、機械でも解析できる応答になります。

エラー処理
  • 曖昧さの解消:複数のページが一致した場合、選択肢の一覧を返します
  • ページが見つからない場合:提案を含む明確なエラーメッセージを返します
  • ネットワークの問題:情報を含むメッセージで適切にエラーを処理します

ユースケース

学生・学習者向け
  • 複雑なトピックについて、わかりやすい説明を得る
  • より明確な表現で教育コンテンツにアクセスする
  • 複雑さを自動調整するリサーチ支援を利用する
コンテンツ制作向け
  • 記事や解説のための資料を集める
  • 信頼できるWikipediaの情報源を使ってファクトチェックする
  • 読みやすさを最適化したリサーチ支援を利用する
アクセシビリティ向け
  • さまざまな読解レベルに合わせて、より読みやすいコンテンツを提供する
  • 非ネイティブスピーカー向けに、簡略化した表現を提供する
  • 明確で簡潔な情報を提供する

例

基本的な検索

AI アシスタントに次のように尋ねます:「Wikipediaで光合成について検索して」

サーバーは次の処理を行います:

  1. Simple English Wikipediaで「photosynthesis」を検索します
  2. 構造化されたメタデータ(バージョン、言語コード、結果数)を返します
  3. 関連する記事の一覧を提示します
  4. 必要に応じて英語版Wikipediaにフォールバックします
要約の取得

AI アシスタントに次のように尋ねます:「Wikipediaから月の要約を取得して」

サーバーは次の処理を行います:

  1. Simple English Wikipediaから「Moon」の要約を取得しようとします
  2. 構造化されたメタデータ(タイトル、バージョン、URL、コンテンツの長さ)を返します
  3. ページの要約を提示します
  4. Simple Englishを利用できない場合は、英語版Wikipediaにフォールバックします
コンテンツ全文の取得

AI アシスタントに次のように尋ねます:「Wikipediaの記事『月』の全文を取得して」

サーバーは次の処理を行います:

  1. Simple English Wikipediaから「Moon」の記事全文を取得しようとします
  2. 内容が十分な量かどうかを確認します
  3. 構造化されたメタデータと記事全文を返します
  4. 必要に応じて英語版Wikipediaにフォールバックします
曖昧さの解消

AI アシスタントに次のように尋ねます:「Mercuryについての情報を取得して」

複数のページが一致する場合(惑星のMercury、水銀元素など)、サーバーは次の内容を返します:

  • 曖昧さの解消に関する構造化メタデータ
  • 選択肢の一覧

開発

プロジェクト構成
mcp-se-wikipedia/
├── main.py          # Main MCP server implementation
├── pyproject.toml   # Project dependencies and metadata
├── AGENT.md         # This documentation
└── .venv/           # Virtual environment (created by uv)
主な依存関係
  • mcp:Model Context Protocolフレームワーク
  • wikipedia:Python Wikipedia APIラッパー
  • asyncio:MCPの非同期処理(async/await)サポート
カスタマイズ

main.pyを変更することで、サーバーを簡単にカスタマイズできます:

  • 品質しきい値:コンテンツ品質の判定に使う500文字のしきい値を変更します
  • 検索上限:検索結果のデフォルト数と最大数を変更します
  • 言語設定:ほかのWikipedia言語への対応を追加します
  • コンテンツフィルタリング:独自のコンテンツ処理やフィルタリングを追加します
サーバーのテスト

サーバーを直接テストします:

uvx git+https://github.com/bhubbb/mcp-se-wikipedia

または、ローカルにインストールしてテストします:

cd mcp-se-wikipedia
uv run python main.py

サーバーは標準入力/標準出力を介してJSON-RPCで通信するため、正しくやり取りするにはMCPクライアントまたはAI アシスタントが必要です。

トラブルシューティング

よくある問題
  1. インポートエラー:uv syncですべての依存関係がインストールされていることを確認してください
  2. 接続の問題:Wikipedia APIにアクセスできるよう、ネットワーク接続を確認してください
  3. レート制限:Wikipediaにはレート制限があります。サーバーはこれを適切に処理します
デバッグ

main.py のログレベルを変更して、デバッグログを有効にします。

logging.basicConfig(level=logging.DEBUG)

貢献

これは、明瞭さと変更のしやすさを重視して設計された、シンプルな単一ファイルの実装です。以下のような変更をぜひ行ってください。

  • Wikipedia の対応言語を追加する
  • コンテンツのフィルタリングをさらに実装する
  • パフォーマンス向上のためにキャッシュを追加する
  • Wikipedia の機能をさらに拡張する

ライセンス

このプロジェクトには、依存関係と同じライセンスが適用されます。このサーバーを通じてアクセスする Wikipedia のコンテンツには、Wikipedia のライセンス条項が適用されます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。