MCP Host について
MCP Hostは、Ollamaモデルと1つ以上のMCPサーバーを組み合わせて使うPythonクライアントです。stdioとSSEで接続し、モデルから接続先のツールを呼び出せます。
主な機能
- 01複数のMCPサーバーへの接続
- 02stdioおよびSSEトランスポート対応
- 03ローカルまたはリモートのOllama利用
- 04LLMによるサーバーツールの実行
- 05JSONでのサーバーとモデル設定
- 06接続先と利用可能なツールの一覧表示
活用シーン
- 01Ollamaのチャットでサーバーツールを利用
- 02stdioまたはSSE経由でサーバーに接続
- 03接続先とツールの確認
MCP 対応
設定したMCPサーバーにstdioまたはSSEで接続し、そのツールをOllamaモデルから実行できるようにします。
詳細
MCP Host
Ollama LLM バックエンドと MCP サーバーに接続する Model Context Protocol (MCP) ホストの Python 実装です。
機能
- 複数サーバー対応: 任意の数の MCP 互換サーバーに接続可能
- 複数トランスポートタイプ対応: stdio と SSE トランスポートの両方をサポート
- Ollama 統合: ローカル Ollama モデルへのシームレスな接続
- ツール実行: 接続されたサーバーからのツールを LLM が使用可能
- シンプルな CLI: 使いやすいコマンドラインインターフェース
- JSON 設定: サーバーと LLM セットアップ用のシンプルな設定ファイル
必要要件
- ローカルまたはリモートサーバーで実行されている Ollama
MCP Host を実行する
python mcp_host.py
天気サーバーを実行する (SSE)
python weather.py
設定
MCP Host は JSON 設定ファイルを使用して以下を定義します:
- MCP サーバー: ツールとリソースを提供するサーバー
- LLM プロバイダー: Ollama バックエンドの設定
サーバー設定
各サーバーには以下が必要です:
- type: トランスポートメカニズム (
stdioまたはsse) - stdio サーバーの場合:
- command: 実行するコマンド
- args: コマンドライン引数 (オプション)
- env: 環境変数 (オプション)
- SSE サーバーの場合:
- url: SSE エンドポイント URL
LLM プロバイダー設定
- type: プロバイダータイプ (現在は
ollamaのみサポート) - model: 使用するモデル名 (
llama3、mistralなど) - url: Ollama API URL (デフォルト:
http://localhost:11434) - parameters: Ollama の追加パラメータ (temperature、top_p など)
コマンドラインオプション
usage: mcp_host.py [-h] [--config CONFIG] [--model MODEL]
[--message-window MESSAGE_WINDOW]
[--provider {ollama}] [--ollama-url OLLAMA_URL]
[--ollama-model OLLAMA_MODEL] [--debug] [--save-config]
MCP Host for LLM tool interactions
options:
-h, --help show this help message and exit
--config CONFIG Path to config file (default: config.json in current directory)
--model MODEL, -m MODEL
Override model specified in config
--message-window MESSAGE_WINDOW
Number of messages to keep in context
Provider Selection:
--provider {ollama} Select LLM provider
Ollama Options:
--ollama-url OLLAMA_URL
URL for Ollama API (e.g., http://localhost:11434)
--ollama-model OLLAMA_MODEL
Ollama model to use (e.g., llama3, mistral, etc.)
Other options:
--debug Enable debug logging
--save-config Save provider options to config file
使用例
基本的な使用方法
python mcp_host.py
デバッグモード
python mcp_host.py --debug
特殊コマンド
チャットセッション中は以下の特殊コマンドが使用できます:
tools: 接続されたサーバーからの利用可能なすべてのツールを一覧表示servers: 接続されたすべての MCP サーバーを一覧表示exitまたはquit: セッションを終了
仕組み
- MCP Host を起動すると、設定されたすべての MCP サーバーに接続します
- 各サーバーは利用可能なツールのリストを提供します
- クエリを入力すると、Ollama LLM に送信されます
- LLM がツールの使用を決定すると、MCP Host がツール呼び出しを実行します
- 結果が LLM に返送されます
- LLM がツール結果を組み込んだ最終応答を提供します
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。