EasyMCP について
EasyMCPは、初学者向けのMCPクライアントです。SSE、NPX、UVサーバーに接続し、OpenAIを使ったツール連携を行えます。接続先のツールを取得し、チャットループとサーバー設定管理を備えています。
主な機能
- 01SSE、NPX、UVサーバーへの接続
- 02サーバーのツールを自動取得
- 03OpenAIによる質問処理とツール呼び出し
- 04設定ファイルでのサーバー管理
- 05スクリプトによるサーバー設定の追加
活用シーン
- 01チャットからMCPサーバーのツールを呼び出す
- 02異なる種類のサーバー接続を試す
- 03設定済みサーバーを選択する
- 04適切な設定ファイルにサーバーを追加する
MCP 対応
EasyMCPは、SSE、NPX、UV形式のMCPサーバーに接続し、利用可能なツールを取得してチャットから呼び出すMCPクライアントです。設定ファイルでサーバー接続を管理します。
詳細
EasyMCP
EasyMCP は、Model Context Protocol(MCP)のための柔軟で初心者向けのクライアントです。SSE、NPX、UV など異なるタイプの MCP サーバーに接続でき、様々なツール(ファイル操作など)と対話したり、OpenAI API と統合して高度なチャット体験を実現できます。
機能
- 複数のサーバーサポート
- SSE サーバー: Server-Sent Events を使用してサーバー URL 経由で接続します。
- NPX サーバー: NPX コマンドでサーバーを起動します(Windows およびその他のシステムに対応)。
- UV サーバー: UV コマンドで設定されたサーバーを実行します。
- 動的なツール統合:
クライアントは接続されたサーバーから利用可能なツールを自動的に取得し、ユーザーのクエリ処理に使用します。 - インタラクティブなチャットループ:
クエリを入力し、クライアントが OpenAI と利用可能な MCP ツールを使用してレスポンスを処理します。 - 設定管理:
add_server.pyを使用して新しいサーバー設定を簡単に追加でき、対応する設定ファイル(sse_servers.json、npx_servers.json、またはuv_servers.jsonなど)が更新されます。
前提条件
- Python 3.10 以上(
asyncioと最新の async 機能との互換性のため) - 有効な OpenAI API キー(
.envファイルで設定) - 追加の統合に必要なその他の API キー
インストール
-
リポジトリをクローンする:
git clone https://github.com/yourusername/EasyMCP.git cd EasyMCP -
仮想環境を作成して有効化する:
Windows の場合:
python -m venv .venv .venv\Scripts\activatemacOS/Linux の場合:
python3 -m venv .venv source .venv/bin/activate -
必要なパッケージをインストールする:
pip install -r requirements.txt -
環境変数を設定する:
提供されている.env.sampleを.envにリネームして(または独自の.envを作成して)、必要な API キーと設定を入力してください。
サーバー設定ファイル
EasyMCP は複数の JSON 設定ファイルを使用してサーバーを管理します:
-
sse_servers.json: SSE ベースのサーバーの設定を含みます。
例:{ "mcpServers": { "@modelcontextprotocol/time": { "url": "https://router.mcp.so/sse/pnabizm8lkazpr" } } } -
npx_servers.json: NPX サーバーの設定を含みます。
例:{ "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "C:\\Users\\lotus\\Documents\\llm_books_papers", "C:\\Users\\lotus\\Documents\\llm_books_papers" ] } } } -
uv_servers.json: UV サーバーの設定を含みます。
例:{ "mcpServers": { "sqlite": { "command": "uv", "args": [ "--directory", "parent_of_servers_repo/servers/src/sqlite", "run", "mcp-server-sqlite", "--db-path", "~/test.db" ] } } }
使い方
-
MCP クライアントを実行する:
python main.py -
サーバーを選択する:
クライアントはsse_servers.json、npx_servers.json、およびuv_servers.jsonから利用可能なサーバーを読み込みます。プロンプトが表示されたら、対応する番号を入力してサーバーを選択してください。 -
クライアントと対話する:
接続後、クエリを入力してください。例えば:- PDF ファイルを読む場合:
read Build a Large Language Model.pdf - ファイルツールを使用する場合:
use read_file tool and read 2308.11432v5.pdf
クライアントは MCP サーバーが提供する許可されたディレクトリに基づいて、適切なファイルパスを構築する手順を案内します。
- PDF ファイルを読む場合:
新しいサーバーを追加する
新しい MCP サーバー設定を追加するには:
-
新しいサーバーの JSON 設定を準備する。
-
add_server.pyを実行する:python add_server.pyこのスクリプトは以下を実行します:
- サーバーのタイプを検出します(NPX、UV、またはデフォルトで SSE)。
- 新しい設定を適切なファイルに追加します(例:
npx_servers.json、uv_servers.json、またはsse_servers.json)。
ファイル例
-
main.py:
EasyMCP クライアントのメインエントリーポイントです。サーバー接続、チャットループ、および OpenAI 統合によるクエリ処理を処理します。 -
add_server.py:
JSON ファイルに新しい MCP サーバー設定を追加するスクリプトです。 -
.env:
API キーやモデル設定などの環境変数を含みます。 -
requirements.txt:
プロジェクトの依存関係をリストします。
貢献
貢献を歓迎します。リポジトリをフォークして、変更の詳細な説明とともにプルリクエストを送信してください。
ライセンス
このプロジェクトはオープンソースであり、MIT ライセンスで利用可能です。
お問い合わせ
ご質問や機能リクエストがある場合は、GitHub リポジトリで issue を開いてください。
コーディングをお楽しみください!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。