mcpField
S
SmolAgents + MCP servers

SmolAgents + MCP servers

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

SmolAgents + MCP servers について

SmolAgents を使った Python 製 AI アシスタントで、ウェブ検索とサイトのクロールに対応します。クラスベースの構成により、MCP サーバーやツールを追加できます。

主な機能

  1. 01Brave Search と Crawl4ai の連携
  2. 02対話型の検索セッション
  3. 03クラスベースのエージェント構成
  4. 04拡張可能な MCP サーバー一覧

活用シーン

  1. 01Brave Search でウェブを検索
  2. 02Crawl4ai でウェブサイトをクロール

MCP 対応

Brave Search と Crawl4ai の MCP サーバーに接続し、そのツールを SmolAgents のアシスタントで利用します。サーバー一覧には追加の MCP サーバーを登録できます。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

SmolAgents + MCP サーバー

このプロジェクトでは、Brave Search と Crawl4ai の Model Context Protocol(MCP)サーバーと連携し、ウェブ検索やウェブサイトのスクレイピング/クロールを実行できる、SmolAgents ライブラリを使用した AI アシスタントの構築方法を紹介します。

必要条件

このプロジェクトを実行する前に、次の依存関係がインストールされていることを確認してください。

  • smolagents
  • python-dotenv
  • mcp
  • @modelcontextprotocol/server-brave-search(npm/npx でグローバルにインストール)
  • litellm

Python パッケージは pip を使用してインストールできます。

pip install -r requirements.txt

MCP サーバーを実行するために、Node.js、npm/npx、uv がインストールされていることを確認してください。

環境変数

プロジェクトのルートディレクトリに .env ファイルを作成し、次の変数を追加してください。

BRAVE_API_KEY=your_brave_api_key
OPENAI_API_KEY=your_openai_api_key

your_brave_api_key と your_openai_api_key を、実際の API キーに置き換えてください。

使い方

  1. リポジトリをクローンするか、スクリプト(smolagent_with_mcp.py)をダウンロードします。

  2. ターミナルでプロジェクトディレクトリに移動します。

  3. スクリプトを実行します。

    python smolagent_with_mcp.py
    
  4. 検索クエリを入力してアシスタントとやり取りします。セッションを終了するには、exit または quit と入力します。

このコードでは、エージェントの初期化とメインの対話ループを Python クラス(SmolAgentWithMCP)内にまとめています。このオブジェクト指向のアプローチによりモジュール性が高まり、追加の MCP サーバーやそのツールとの連携など、エージェントの機能を拡張しやすくなります。

注意事項

  • Brave Search MCP サーバーの実行に必要なため、npx がインストールされ、システムの PATH から利用できることを確認してください。
  • SmolAgents の ToolCallingAgent は、ツール呼び出しを(JSON などの)構造化された形式で出力し、環境によって実行されるように設計されています。この場合は、MCPClient を使用するスクリプトのメインループが実行します。

MCP サーバーの追加

smolagent_with_mcp.py ファイルは、MCP サーバーやそのツールを簡単に追加できるモジュール構成になっています。新しい MCP サーバーを追加するには、次の手順に従います。

  1. 新しいサーバーの StdioServerParameters を定義します。サーバーの実行コマンド、その引数、必要な環境変数を指定します(brave_server_params と crawl4ai_server_params の定義方法を参考にしてください)。

  2. 定義したサーバーパラメーターオブジェクトを、main 関数内の server_list に追加します。BraveSearchAgentApp クラスが新しいサーバーを自動的に初期化し、そのツールをエージェントの機能に含めます。

例:

# Define parameters for a new server (replace with actual command and args)
new_server_params = StdioServerParameters(
    command="your_server_command",
    args=["arg1", "arg2"],
    env={"YOUR_API_KEY": os.getenv("YOUR_API_KEY")},
)

def main():
    # Define the list of MCP server parameters
    server_list = [
        brave_server_params,
        crawl4ai_server_params,
        new_server_params # Add the new server parameters here
        # Add other server parameters here as needed
    ]
    app = BraveSearchAgentApp(server_list)
    app.run()

if __name__ == "__main__":
    main()

プロジェクトで使用している MCP:

https://playbooks.com/mcp/ritvij14-crawl4ai https://github.com/modelcontextprotocol/servers/tree/main/src/brave-search

ライセンス

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

コメント

MCP は初めてですか?

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

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