mcpField
W
Web_Search_MCP

Web_Search_MCP

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

Web_Search_MCP について

Web_Search_MCP は、Tavily API を使って AI システムやアプリにウェブ検索を提供する MCP サーバーです。単一のツールから、ページ内容や URL、関連度を含む構造化結果を返します。

主な機能

  1. 01Tavily API によるウェブ検索
  2. 02内容、URL、関連度スコアの返却
  3. 03JSON 形式での結果出力
  4. 04複数リクエストの非同期処理

活用シーン

  1. 01LLM 向けの最新ウェブ検索結果の取得
  2. 02検索結果のページ内容とリンクの確認

MCP 対応

MCP クライアントに `search_web` ツールを公開し、検索クエリを受け取って JSON 形式のウェブ検索結果を返します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

Web_Search_MCP

Web 検索ツールを備えた MCP(Model Context Protocol)サーバー

このプロジェクトでは、Tavily API を使用して Web 検索ツールを作成し、MCP(Model Context Protocol)と統合して、AI システムとシームレスに連携する方法を紹介します。これにより、言語モデルやアプリケーションにリアルタイムの Web 検索機能を提供できます。

概要

Web_Search_MCP プロジェクトでは、次の主要なコンポーネントを活用しています。

  • Tavily API: 回答、未加工のコンテンツ、関連するメタデータなど、リアルタイムで包括的な Web 検索結果を提供する強力な検索 API です。
  • FastMCP: FastMCP クラスは Python の型ヒントと docstring を使用してツール定義を自動生成するため、MCP ツールを簡単に作成・保守できます。
  • Langchain: 具体的には、Langchain の TavilySearchResults ツールを使用して、Tavily API と効率的に連携します。
  • Dotenv: .env ファイルから環境変数を読み込み、API キーなどの機密情報を安全に管理するライブラリです。
  • uv: このプロジェクトの管理と実行に使用する、高速な Python パッケージインストーラー兼リゾルバーです。

機能

このプロジェクトの中核となるのは search_web ツールで、次の機能を提供します。

  • Web 検索: 検索クエリを入力として受け取り、Tavily API を使用して Web から関連する検索結果を取得します。
  • 詳細な結果: 検索結果から、Web サイトのコンテンツ、URL、関連性スコア、コンテンツの種類、直接的な回答(利用可能な場合)などの詳細情報を提供します。
  • 整形された出力: 検索結果を構造化された JSON 形式で返します。出力には、ステータス表示(success または error)、(成功した場合の)結果の配列、タイムスタンプが含まれます。
  • エラー処理: 検索中のエラーを適切に処理し、情報を含むエラーメッセージを JSON 形式で返します。
  • 非同期処理:検索ツールは非同期処理に基づいているため、多数のリクエストを同時に処理できます。

前提条件

プロジェクトを実行する前に、次のものがあることを確認してください。

  • Python 3.8+: Python 3.8 以降がシステムにインストールされていること。
  • Tavily API キー: Tavily の Web サイトで登録すると取得できる、有効な Tavily API キー。
  • uv: Python 用の uv パッケージマネージャー。次のコマンドでインストールできます。
    pip install uv
    

インストール

  1. プロジェクトディレクトリの作成: プロジェクト用のディレクトリを作成し、そのディレクトリに移動します。
    uv init Web_Search_MCP    
    
    *** 上記のコードを実行すると、uv によってディレクトリ内に pyproject.toml と .venv が作成されます ***
  2. プロジェクトファイルの作成: Web_Search_MCP ディレクトリに main.py と .env ファイルを作成します。
  3. Venv の有効化: .venv/Scripts/activate に移動し、仮想環境を有効化します。
  4. コードのコピー: main.py と .env のコードを、作成したファイルにコピーします。
  5. 依存関係のインストール: uv を使用して、必要な Python パッケージをインストールします。
    uv add "mcp[cli]" python-dotenv langchain-community tavily-python
    

設定

  1. .env ファイル:

    • Web_Search_MCP ディレクトリに .env という名前のファイルを作成します。
    • 次の形式で、Tavily API キーを .env ファイルに追加します。
      TAVILY_API_KEY='your_tavily_api_key'
      
      your_tavily_api_key を実際の Tavily API キーに置き換えます。
  2. claude_desktop_config.json:

    • このファイルは、Claude デスクトップアプリケーション(使用している場合)が FastMCP サーバーを検出して実行するために使用されます。
    • c:\Users\<Your User Name>\AppData\Roaming\Claude\claude_desktop_config.json に配置します。
    • claude_desktop_config.json 内の Web_Search_MCP ディレクトリへのパスが正しいことを確認してください。プロジェクトが path/Web_Search_MCP にない場合は、設定ファイルの args フィールドを変更してください。
    {
       "mcpServers": {
         "Mcp_Demo": {
           "command": "uv",
           "args": [
             "--directory",
             "path/Web_Search_MCP",
             "run",
             "main.py"
           ]
         }
       }
     }
    

MCP サーバーの実行

claude_desktop_config.json ファイルを設定した後、Claude デスクトップアプリケーションからサーバーを起動できます。

使用方法

サーバーが起動すると、Model Context Protocol に従って search_web という単一のツールが公開されます。

  • ツール名: search_web
  • 入力:
    • query (str):ウェブに送信する検索クエリです。
  • 出力: 検索結果を含む JSON 形式の文字列です。

JSON レスポンスの例(成功時):

{
    "status": "success",
    "results": [
        {
            "title": "...",
            "url": "...",
            "content": "text",
            "score": 0.9,
            "raw_content": "..."
        },
        {
             "title": "...",
            "url": "...",
            "content": "text",
            "score": 0.9,
            "raw_content": "..."
        }
    ],
    "timestamp": 1708849844.064655
}

コメント

MCP は初めてですか?

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

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