mcpField
W
Wikipedia MCP Server

Wikipedia MCP Server

ローカル
pypi.org検索30226 週間前に更新

Wikipedia MCP Server について

Wikipedia MCP Server は、Wikipedia から情報を取得して LLM に事実の文脈を提供する MCP サーバーです。信頼できる出典に基づく回答を必要とする AI アシスタント向けです。国やロケールのコードによる言語版の選択や、複数のトランスポートに対応しています。

主な機能

  1. 01クエリによる Wikipedia 記事の検索
  2. 02記事全文・要約・セクションの取得
  3. 03記事内リンクと関連トピックの探索
  4. 04国コードによる言語版の選択
  5. 05中国語の簡体字・繁体字などの言語バリアント対応
  6. 06stdio・HTTP・streamable HTTP のトランスポート

活用シーン

  1. 01AI アシスタントの回答を Wikipedia の事実に基づかせる
  2. 02クエリに合わせた記事要約の生成
  3. 03Claude Desktop での百科事典情報の検索

MCP 対応

本プロジェクトは MCP サーバーであり、検索・記事取得・要約・セクション・リンク・関連トピックのツールを MCP クライアントに公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"wikipedia": {
"command": "uvx",
"args": [
"ensurepath"
]
}
}
}
起動コマンドuvx ensurepath

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

パッケージ
pypiensurepath

ツール

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

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

詳細

Wikipedia MCP サーバー

smithery badge Listed on Spark AgentSeal MCP

Wikipedia から情報を取得し、大規模言語モデル(LLM)にコンテキストを提供する Model Context Protocol(MCP)サーバーです。このツールを使うと、AI アシスタントは Wikipedia の事実に基づく情報を参照でき、信頼できるソースに基づいた回答を生成できます。

Wikipedia Server MCP server

image

概要

Wikipedia MCP サーバーは、標準化された Model Context Protocol インターフェースを通じて、Wikipedia の情報にリアルタイムでアクセスできます。これにより、LLM は Wikipedia から正確で最新の情報を直接取得し、回答の質を高められます。

検証済み

MseeP.ai Security Assessment Badge

機能

  • Wikipedia の検索:診断機能を強化し、指定したクエリに一致する記事を検索します
  • 記事本文の取得:すべての情報を含む記事全文を取得します
  • 記事の要約:記事の簡潔な要約を取得します
  • セクションの抽出:記事から指定したセクションを取得します
  • リンクの探索:記事内から関連トピックへのリンクを見つけます
  • 関連トピック:特定の記事に関連するトピックを見つけます
  • 多言語対応:サーバーの実行時に --language または -l 引数を指定すると、さまざまな言語の Wikipedia にアクセスできます(例:タミル語の場合は wikipedia-mcp --language ta)。
  • 国/ロケール対応:言語コードの代わりに --country US、--country China、--country TW のような直感的な国コードを使用できます。適切な Wikipedia の言語バリエーションに自動的に対応付けられます。
  • 言語バリエーション対応:中国語の繁体字/簡体字(例:簡体字中国語の場合は zh-hans、繁体字中国語の場合は zh-tw)、セルビア語の文字体系(sr-latn、sr-cyrl)など、言語のバリエーションに対応しています。
  • 任意のキャッシュ:--enable-cache を使用すると、API 応答をキャッシュしてパフォーマンスを向上できます
  • 最新の MCP トランスポート対応:stdio、http、streamable-http(従来の sse との互換性あり)に対応しています。
  • 任意の MCP トランスポート認証:--auth-mode static または --auth-mode jwt を使用して、ネットワークトランスポートを保護できます。
  • Google ADK 互換:Google ADK エージェントや、厳格な関数呼び出しスキーマを使用するその他の AI フレームワークと完全に互換性があります

インストール

pipx を使用(Claude Desktop に推奨)

Claude Desktop で使用する場合、コマンドをグローバルにインストールする pipx の利用をおすすめします。

# Install pipx if you don't have it
pip install pipx
pipx ensurepath

# Install the Wikipedia MCP server
pipx install wikipedia-mcp

これにより、Claude Desktop の PATH から wikipedia-mcp コマンドを利用できるようになります。

Smithery 経由でインストール

Smithery を使って Claude Desktop 用に wikipedia-mcp を自動インストールするには、次のようにします。

npx -y @smithery/cli install @Rudra-ravi/wikipedia-mcp --client claude
PyPI からインストール(代替方法)

PyPI から直接インストールすることもできます。

pip install wikipedia-mcp

注:この方法を使用して Claude Desktop との接続に問題が発生した場合は、設定でコマンドのフルパスを指定する必要があるかもしれません。詳しくは、設定セクションを参照してください。

仮想環境を使用
# Create a virtual environment
python3 -m venv venv

# Activate the virtual environment
source venv/bin/activate

# Install the package
pip install git+https://github.com/rudra-ravi/wikipedia-mcp.git
ソースからインストール
# Clone the repository
git clone https://github.com/rudra-ravi/wikipedia-mcp.git
cd wikipedia-mcp

# Create a virtual environment
python3 -m venv wikipedia-mcp-env
source wikipedia-mcp-env/bin/activate

# Install in development mode
pip install -e .

使用方法

サーバーの実行
# If installed with pipx
wikipedia-mcp

# If installed in a virtual environment
source venv/bin/activate
wikipedia-mcp

# Specify transport protocol (default: stdio)
wikipedia-mcp --transport stdio  # For Claude Desktop
wikipedia-mcp --transport http --host 0.0.0.0 --port 8080 --path /mcp
wikipedia-mcp --transport streamable-http --host 0.0.0.0 --port 8080 --path /mcp
wikipedia-mcp --transport sse    # Legacy compatibility transport

# Specify language (default: en for English)
wikipedia-mcp --language ja  # Example for Japanese
wikipedia-mcp --language zh-hans  # Example for Simplified Chinese
wikipedia-mcp --language zh-tw    # Example for Traditional Chinese (Taiwan)
wikipedia-mcp --language sr-latn  # Example for Serbian Latin script

# Specify country/locale (alternative to language codes)
wikipedia-mcp --country US        # English (United States)
wikipedia-mcp --country China     # Chinese Simplified
wikipedia-mcp --country Taiwan    # Chinese Traditional (Taiwan)  
wikipedia-mcp --country Japan     # Japanese
wikipedia-mcp --country Germany   # German
wikipedia-mcp --country france    # French (case insensitive)

# List all supported countries
wikipedia-mcp --list-countries

# Optional: Specify host/port/path for network transport (use 0.0.0.0 for containers)
wikipedia-mcp --transport http --host 0.0.0.0 --port 8080 --path /mcp

# Optional: Enable caching
wikipedia-mcp --enable-cache

# Optional: Use Personal Access Token to avoid rate limiting (403 errors)
wikipedia-mcp --access-token your_wikipedia_token_here

# Or set via environment variable
export WIKIPEDIA_ACCESS_TOKEN=your_wikipedia_token_here
wikipedia-mcp

# Optional: Secure incoming MCP network requests with static bearer token
wikipedia-mcp --transport http --auth-mode static --auth-token your_mcp_token --host 0.0.0.0 --port 8080

# Optional: Secure incoming MCP network requests with JWT validation
wikipedia-mcp --transport http --auth-mode jwt --auth-jwks-uri https://issuer/.well-known/jwks.json --auth-issuer https://issuer

# Security note: prefer http/streamable-http + auth-mode for exposed network transport.

# Combine options
wikipedia-mcp --country Taiwan --enable-cache --access-token your_wikipedia_token --transport http --path /mcp --port 8080

### Docker/Kubernetes

When running inside containers, bind the HTTP MCP server to all interfaces and map
the container port to the host or service:

```bash
# Build and run with Docker
docker build -t wikipedia-mcp .
docker run --rm -p 8080:8080 wikipedia-mcp --transport http --host 0.0.0.0 --port 8080 --path /mcp

Kubernetes の最小限の例:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: wikipedia-mcp
spec:
  replicas: 1
  selector:
    matchLabels:
      app: wikipedia-mcp
  template:
    metadata:
      labels:
        app: wikipedia-mcp
    spec:
      containers:
        - name: server
          image: your-repo/wikipedia-mcp:latest
          args: ["--transport", "http", "--host", "0.0.0.0", "--port", "8080", "--path", "/mcp"]
          ports:
            - containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: wikipedia-mcp
spec:
  selector:
    app: wikipedia-mcp
  ports:
    - name: http
      port: 8080
      targetPort: 8080

### Configuration for Claude Desktop

Add the following to your Claude Desktop configuration file:

**Option 1: Using command name (requires `wikipedia-mcp` to be in PATH)**
```json
{
  "mcpServers": {
    "wikipedia": {
      "command": "wikipedia-mcp"
    }
  }
}

オプション 2:フルパスを使用する(接続エラーが発生する場合に推奨)

{
  "mcpServers": {
    "wikipedia": {
      "command": "/full/path/to/wikipedia-mcp"
    }
  }
}

オプション 3:国/言語を指定する

{
  "mcpServers": {
    "wikipedia-us": {
      "command": "wikipedia-mcp",
      "args": ["--country", "US"]
    },
    "wikipedia-taiwan": {
      "command": "wikipedia-mcp", 
      "args": ["--country", "TW"]
    },
    "wikipedia-japan": {
      "command": "wikipedia-mcp",
      "args": ["--country", "Japan"]
    }
  }
}

フルパスを確認するには、次を実行します:which wikipedia-mcp

設定ファイルの場所:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%/Claude/claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.json

注:接続エラーが発生した場合は、解決方法についてトラブルシューティングのセクションを参照してください。

ドキュメント索引

利用可能な MCP ツール

Wikipedia MCP サーバーは、LLM が Wikipedia を利用するための以下のツールを提供します。

各ツールには、サーバー間での検出性を高めるため、wikipedia_を先頭に付けたエイリアスも用意されています(例:wikipedia_get_article)。

search_wikipedia

クエリに一致する記事を Wikipedia から検索します。

パラメーター:

  • query(string):検索語
  • limit(integer、任意):返す結果の最大数(デフォルト:10)

戻り値:

  • タイトル、抜粋、メタデータを含む検索結果のリスト
get_article

Wikipedia 記事の全文を取得します。

パラメーター:

  • title(string):Wikipedia 記事のタイトル

戻り値:

  • テキスト、要約、セクション、リンク、カテゴリを含む記事の内容
get_summary

Wikipedia 記事の簡潔な要約を取得します。

パラメーター:

  • title(string):Wikipedia 記事のタイトル

戻り値:

  • 記事のテキスト要約
get_sections

Wikipedia 記事のセクションを取得します。

パラメーター:

  • title(string):Wikipedia 記事のタイトル

戻り値:

  • 内容を含む記事セクションの構造化リスト
get_links

Wikipedia 記事に含まれるリンクを取得します。

パラメーター:

  • title(string):Wikipedia 記事のタイトル

戻り値:

  • 他の Wikipedia 記事へのリンクのリスト
get_coordinates

Wikipedia 記事の座標を取得します。

パラメーター:

  • title(string):Wikipedia 記事のタイトル

戻り値:

  • 次の情報を含む座標情報の辞書:
    • title:記事のタイトル
    • pageid:ページ ID
    • coordinates:緯度、経度、メタデータを含む座標オブジェクトのリスト
    • exists:記事が存在するかどうか
    • error:取得に失敗した場合のエラーメッセージ
get_related_topics

リンクとカテゴリに基づいて、Wikipedia 記事に関連するトピックを取得します。

パラメーター:

  • title(string):Wikipedia 記事のタイトル
  • limit(integer、任意):関連トピックの最大数(デフォルト:10)

戻り値:

  • 関連度情報を含む関連トピックのリスト
summarize_article_for_query

特定のクエリに合わせた Wikipedia 記事の要約を取得します。

パラメーター:

  • title(string):Wikipedia 記事のタイトル
  • query(string):要約の焦点とするクエリ
  • max_length(integer、任意):要約の最大長(デフォルト:250)

戻り値:

  • タイトル、クエリ、焦点を絞った要約を含む辞書
summarize_article_section

Wikipedia 記事の特定のセクションの要約を取得します。

パラメーター:

  • title(string):Wikipedia 記事のタイトル
  • section_title(string):要約するセクションのタイトル
  • max_length(integer、任意):要約の最大長(デフォルト:150)

戻り値:

  • タイトル、セクションのタイトル、セクションの要約を含む辞書
extract_key_facts

Wikipedia の記事から重要な事実を抽出します。必要に応じて、記事内の特定のトピックに焦点を当てられます。

パラメーター:

  • title(文字列):Wikipedia の記事のタイトル
  • topic_within_article(文字列、任意):事実の抽出対象とする、記事内の特定のトピック
  • count(整数、任意):抽出する重要な事実の数(デフォルト:5)

戻り値:

  • タイトル、トピック、抽出された事実のリストを含む辞書

国/地域のサポート

Wikipedia MCP サーバーは、言語コードの代わりに直感的な国・地域コードをサポートしています。これにより、言語コードを知らなくても、地域固有の Wikipedia コンテンツに簡単にアクセスできます。

対応している国と地域

対応している国をすべて確認するには、--list-countries を使用します。

wikipedia-mcp --list-countries

言語別に整理された国が、次のように表示されます。

Supported Country/Locale Codes:
========================================
    en: US, USA, United States, UK, GB, Canada, Australia, ...
    zh-hans: CN, China
    zh-tw: TW, Taiwan  
    ja: JP, Japan
    de: DE, Germany
    fr: FR, France
    es: ES, Spain, MX, Mexico, AR, Argentina, ...
    pt: PT, Portugal, BR, Brazil
    ru: RU, Russia
    ar: SA, Saudi Arabia, AE, UAE, EG, Egypt, ...
使用例
# Major countries by code
wikipedia-mcp --country US       # United States (English)
wikipedia-mcp --country CN       # China (Simplified Chinese)
wikipedia-mcp --country TW       # Taiwan (Traditional Chinese)
wikipedia-mcp --country JP       # Japan (Japanese)
wikipedia-mcp --country DE       # Germany (German)
wikipedia-mcp --country FR       # France (French)
wikipedia-mcp --country BR       # Brazil (Portuguese)
wikipedia-mcp --country RU       # Russia (Russian)

# Countries by full name (case insensitive)
wikipedia-mcp --country "United States"
wikipedia-mcp --country China
wikipedia-mcp --country Taiwan  
wikipedia-mcp --country Japan
wikipedia-mcp --country Germany
wikipedia-mcp --country france    # Case insensitive

# Regional variants
wikipedia-mcp --country HK       # Hong Kong (Traditional Chinese)
wikipedia-mcp --country SG       # Singapore (Simplified Chinese)
wikipedia-mcp --country "Saudi Arabia"  # Arabic
wikipedia-mcp --country Mexico   # Spanish
国から言語へのマッピング

サーバーは、国コードを適切な Wikipedia の言語版に自動的にマッピングします。

  • 英語圏:US、UK、Canada、Australia、New Zealand、Ireland、South Africa → en
  • 中国語圏:
    • CN、China → zh-hans(簡体字中国語)
    • TW、Taiwan → zh-tw(繁体字中国語 - 台湾)
    • HK、Hong Kong → zh-hk(繁体字中国語 - 香港)
    • SG、Singapore → zh-sg(簡体字中国語 - シンガポール)
  • 主要言語:JP→ja、DE→de、FR→fr、ES→es、IT→it、RU→ru など
  • 地域別のバリエーション:140 以上の国と地域をサポート
エラー処理

未対応の国を指定すると、役立つエラーメッセージが表示されます。

$ wikipedia-mcp --country INVALID
Error: Unsupported country/locale: 'INVALID'. 
Supported country codes include: US, USA, UK, GB, CA, AU, NZ, IE, ZA, CN. 
Use --language parameter for direct language codes instead.

Use --list-countries to see supported country codes.

言語バリエーション

Wikipedia MCP サーバーは、複数の表記体系や地域別のバリエーションがある言語の言語バリエーションをサポートしています。この機能は、中国語、セルビア語、クルド語など、複数の文字体系や地域差がある言語で特に便利です。

対応している言語バリエーション
中国語の言語バリエーション
  • zh-hans - 簡体字中国語
  • zh-hant - 繁体字中国語
  • zh-tw - 繁体字中国語(台湾)
  • zh-hk - 繁体字中国語(香港)
  • zh-mo - 繁体字中国語(マカオ)
  • zh-cn - 簡体字中国語(中国)
  • zh-sg - 簡体字中国語(シンガポール)
  • zh-my - 簡体字中国語(マレーシア)
セルビア語の言語バリエーション
  • sr-latn - セルビア語ラテン文字
  • sr-cyrl - セルビア語キリル文字
クルド語の言語バリエーション
  • ku-latn - クルド語ラテン文字
  • ku-arab - クルド語アラビア文字
ノルウェー語の言語バリエーション
  • no - ノルウェー語(自動的にブークモールにマッピング)
使用例
# Access Simplified Chinese Wikipedia
wikipedia-mcp --language zh-hans

# Access Traditional Chinese Wikipedia (Taiwan)
wikipedia-mcp --language zh-tw

# Access Serbian Wikipedia in Latin script
wikipedia-mcp --language sr-latn

# Access Serbian Wikipedia in Cyrillic script
wikipedia-mcp --language sr-cyrl
言語バリエーションの仕組み

zh-hans のような言語バリエーションを指定すると、サーバーは次の処理を行います。

  1. バリエーションを Wikipedia の基本言語にマッピングします(例:中国語のバリエーションの場合は zh)
  2. Wikipedia サーバーへの API 接続に基本言語を使用します
  3. 特定のバリエーションのコンテンツを取得するため、API リクエストにバリエーションパラメーターを含めます
  4. 指定されたバリエーションの表記規則に従って整形されたコンテンツを返します

この方法により、Wikipedia API との最適な互換性を確保しながら、バリエーション固有のコンテンツや書式を利用できます。

プロンプトの例

サーバーを起動し、Claude Desktop で設定すると、次のようなプロンプトを使用できます。

一般的な Wikipedia への問い合わせ:
  • 「Wikipedia の情報を使って、量子コンピューティングについて教えてください。」
  • 「Wikipedia に基づいて、人工知能の歴史を要約してください。」
  • 「気候変動について、Wikipedia には何と書かれていますか?」
  • 「機械学習に関連する Wikipedia の記事を見つけてください。」
  • 「Wikipedia からニューラルネットワークに関する記事の導入部分を取得してください。」
  • 「エッフェル塔の座標を教えてください。」
  • 「Wikipedia からエベレストの緯度と経度を見つけてください。」
  • 「パリの有名なランドマークの座標情報を取得してください。」
国別の Wikipedia を使用する:
  • 「万里の長城について、Wikipedia China で検索してください。」(中国語版 Wikipedia を使用します)
  • 「日本語版 Wikipedia の情報源を使って、東京について教えてください。」
  • 「ベルリンの壁について、ドイツ語版 Wikipedia には何と書かれていますか?」
  • 「フランス語版 Wikipedia からエッフェル塔の情報を見つけてください。」
  • 「台湾版 Wikipedia の台湾料理の記事を取得してください。」
言語変種の例:
  • 「繁体字中国語版 Wikipedia で台湾に関する情報を検索してください。」
  • 「現代中国について、簡体字中国語の記事を見つけてください。」
  • 「セルビア語ラテン文字版 Wikipedia から、ベオグラードに関する情報を取得してください。」

MCP リソース

このサーバーは MCP リソースも提供します(HTTP エンドポイントに似ていますが、MCP 用です)。

  • search/{query}:クエリに一致する記事を Wikipedia で検索します
  • article/{title}:Wikipedia 記事の全文を取得します
  • summary/{title}:Wikipedia 記事の要約を取得します
  • sections/{title}:Wikipedia 記事のセクションを取得します
  • links/{title}:Wikipedia 記事内のリンクを取得します
  • coordinates/{title}:Wikipedia 記事の座標を取得します
  • summary/{title}/query/{query}/length/{max_length}:記事のクエリに焦点を当てた要約を取得します
  • summary/{title}/section/{section_title}/length/{max_length}:記事の特定のセクションの要約を取得します
  • facts/{title}/topic/{topic_within_article}/count/{count}:記事から重要な事実を抽出します

開発

ローカル開発環境のセットアップ
# Clone the repository
git clone https://github.com/rudra-ravi/wikipedia-mcp.git
cd wikipedia-mcp

# Create a virtual environment
python3 -m venv venv
source venv/bin/activate

# Install the package in development mode
pip install -e .

# Install development and test dependencies
pip install -r requirements-dev.txt

# Run the server
wikipedia-mcp
プロジェクト構成
  • wikipedia_mcp/:メインパッケージ
    • __main__.py:パッケージのエントリーポイント
    • server.py:MCP サーバーの実装
    • wikipedia_client.py:Wikipedia API クライアント
    • api/:API の実装
    • core/:コア機能
    • utils/:ユーティリティ関数
  • tests/:テストスイート
    • test_basic.py:パッケージの基本テスト
    • test_cli.py:コマンドラインインターフェースのテスト
    • test_server_tools.py:サーバーとツールの包括的なテスト

テスト

このプロジェクトには、信頼性と機能性を確保するための包括的なテストスイートが含まれています。

テスト構成

テストスイートは tests/ ディレクトリに整理されており、次のテストファイルが含まれています。

  • test_basic.py:パッケージの基本機能のテスト
  • test_cli.py:コマンドラインインターフェースとトランスポートのテスト
  • test_server_tools.py:すべての MCP ツールと Wikipedia クライアント機能の包括的なテスト
テストの実行
すべてのテストを実行
# Install test dependencies
pip install -r requirements-dev.txt

# Run all tests
python -m pytest tests/ -v

# Run tests with coverage
python -m pytest tests/ --cov=wikipedia_mcp --cov-report=html
特定のテストカテゴリを実行
# Run only unit tests (excludes integration tests)
python -m pytest tests/ -v -m "not integration"

# Run only integration tests (requires internet connection)
python -m pytest tests/ -v -m "integration"

# Run specific test file
python -m pytest tests/test_server_tools.py -v
テストカテゴリ
単体テスト
  • WikipediaClient のテスト:すべてのクライアントメソッドを対象としたモックベースのテスト
    • 検索機能
    • 記事の取得
    • 要約の抽出
    • セクションの解析
    • リンクの抽出
    • 関連トピックの検出
  • サーバーのテスト:MCP サーバーの作成とツールの登録
  • CLI のテスト:コマンドラインインターフェースの機能
統合テスト
  • 実 API テスト:Wikipedia API を実際に呼び出すテスト
  • エンドツーエンドテスト:ワークフロー全体のテスト
テスト設定

このプロジェクトでは、テスト設定に pytest.ini を使用しています。

[pytest]
markers =
    integration: marks tests as integration tests (may require network access)
    slow: marks tests as slow running

testpaths = tests
addopts = -v --tb=short
継続的インテグレーション

すべてのテストは、次の要件を満たすように設計されています。

  • CI/CD 環境で安定して実行できる
  • ネットワーク障害を適切に処理する
  • 明確なエラーメッセージを表示する
  • エッジケースやエラー条件を網羅する
新しいテストの追加

新機能を提供する際は、次の点に従ってください。

  1. 新機能の単体テストを追加する
  2. 成功と失敗の両方のシナリオを含める
  3. 外部依存関係(Wikipedia API)をモックする
  4. エンドツーエンド検証のための統合テストを追加する
  5. 既存のテストパターンと命名規則に従う

トラブルシューティング

よくある問題
Claude Desktop の接続に関する問題

問題:Claude Desktop に spawn wikipedia-mcp ENOENT のようなエラーが表示される、またはコマンドが見つかりません。

原因:wikipedia-mcp コマンドが、Claude Desktop の PATH に含まれていないユーザー固有の場所(~/.local/bin/ など)にインストールされている場合に発生します。

解決策:

  1. コマンドのフルパスを使用する(推奨):

    {
      "mcpServers": {
        "wikipedia": {
          "command": "/home/username/.local/bin/wikipedia-mcp"
        }
      }
    }
    

    正確なパスを確認するには、次のコマンドを実行します:which wikipedia-mcp

  2. pipx を使用してグローバルにアクセスできるようにインストールする:

    pipx install wikipedia-mcp
    

    次に、標準の設定を使用します:

    {
      "mcpServers": {
        "wikipedia": {
          "command": "wikipedia-mcp"
        }
      }
    }
    
  3. グローバルな場所にシンボリックリンクを作成する:

    sudo ln -s ~/.local/bin/wikipedia-mcp /usr/local/bin/wikipedia-mcp
    
その他の問題
  • 記事が見つからない:記事タイトルの正確な表記を確認してください
  • レート制限:Wikipedia API にはレート制限があります。リクエストの間に遅延を加えることを検討してください
  • 大きな記事:Wikipedia の記事には非常に大きなものがあり、トークン制限を超える場合があります

検索に関する問題のトラブルシューティング

検索結果が空になる場合は、新しい診断ツールを使用してください:

1. 接続のテスト

test_wikipedia_connectivity ツールを使用して、Wikipedia の API に接続できるか確認します:

{
  "tool": "test_wikipedia_connectivity"
}

次の診断情報が返されます:

  • 接続状態(success または failed)
  • ミリ秒単位の応答時間
  • 接続成功時のサイト/ホスト情報
  • 接続に失敗した場合のエラー詳細
2. 強化された検索エラー情報

search_wikipedia ツールは、詳細なメタデータを返すようになりました:

{
  "tool": "search_wikipedia",
  "arguments": {
    "query": "Ada Lovelace",
    "limit": 10
  }
}

応答例:

{
  "query": "Ada Lovelace",
  "results": [...],
  "count": 5,
  "status": "success",
  "language": "en"
}

結果が見つからない場合は、次の情報が返されます:

{
  "query": "nonexistent",
  "results": [],
  "status": "no_results",
  "count": 0,
  "language": "en",
  "message": "No search results found. This could indicate connectivity issues, API errors, or simply no matching articles."
}
3. よくある検索の問題と解決策
  • 結果が空:接続テストを実行し、クエリの表記を確認して、より広い用語を試してください。
  • 接続エラー:ファイアウォールまたはプロキシの設定を確認し、*.wikipedia.org にアクセスできることを確認してください。
  • API の制限:limit > 500 のリクエストは自動的に上限が適用され、負の値はデフォルト値(10)にリセットされます。
4. 詳細ログによるデバッグ

詳しい情報を確認するには、デバッグログを有効にしてサーバーを起動します:

wikipedia-mcp --log-level DEBUG

リクエストパラメーター、応答ステータスコード、および API から返される警告が出力されます。

Model Context Protocol(MCP)について

Model Context Protocol(MCP)は従来の HTTP API ではなく、LLM と外部ツール間の通信に特化したプロトコルです。主な特徴は次のとおりです:

  • ローカル統合には stdio を使用し、ネットワーク統合にはストリーム可能な HTTP を使用します(レガシー互換性のため sse も引き続き利用できます)
  • AI モデルとのやり取りに特化して設計されています
  • ツール、リソース、プロンプトの標準化された形式を提供します
  • Claude やその他の MCP 互換 AI システムと直接統合できます

Claude Desktop は MCP クライアントとして機能し、このサーバーは Claude が Wikipedia の情報にアクセスするために使用できるツールとリソースを提供します。

貢献

貢献を歓迎します!ガイドラインについてはCONTRIBUTING.mdをご覧ください。

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細はLICENSEファイルをご覧ください。

作者との連絡先

コメント

MCP は初めてですか?

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

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