mike_mcp_client¶
MCP(Model Context Protocol)と LLM を統合するクライアント。
MCPサーバーに接続し、外部ツール(天気情報取得など)を ReActエージェント経由で利用可能にするクライアント実装。
主な役割¶
FastMCP v2 Client による複数MCPサーバー管理
ツール一覧の動的ロード
プロンプト情報の取得・表示
Ollama LLM との統合
ReAct エージェントによる自動推論実行
FastMCP v2 の特徴¶
Client(config) で複数サーバーを自動管理
設定ファイルから直接複数サーバー接続
ツール名に自動的にサーバー名プレフィックスが付加
プロンプトもサーバー別に管理
- mike.mike_mcp_client.CONFIG_FILE_PATH = 'config/config.json'¶
アプリケーション設定ファイルのパス
- Type:
str
- class mike.mike_mcp_client.MCPToolFunctionWrapper(tool_name: str, mcp_client: Client)¶
Bases:
objectMCPツールを LlamaIndex の FunctionTool として扱うためのラッパクラス。
MCPのツール呼び出し仕様と FunctionTool の呼び出し規約を 吸収する役割を持つ。
- mike.mike_mcp_client.MCP_SERVER_CONFIG_PATH = 'config/mcp_servers.json'¶
MCPサーバの設定
- Type:
str
- class mike.mike_mcp_client.MikeMcpClient(config)¶
Bases:
objectFastMCP v2 Client を使用した複数MCPサーバー統合管理クライアント。
FastMCP v2 の Client クラスは、設定辞書から複数のMCPサーバーを 自動的に管理し、複数サーバーへのアクセスを単一クライアントで提供。
特徴: - Client(config_dict) で複数サーバーを自動接続 - ツール名に自動的にサーバーのプレフィックスが付加 - プロンプトもサーバー別に管理 - Ollama LLM の統合 - ReAct Agent 実行
- DEFAULT_SYSTEM_PROMPT¶
プロンプト のベース MikeAIの基本属性を設定
- Type:
str
- LOG_LEVEL¶
ログレベル設定
- Type:
str
- OLLAMA_BASE_URL¶
Ollama API のベースURL
- Type:
str
- OLLAMA_MODEL_NAME¶
使用する Ollama モデル名
- Type:
str
- async close()¶
MCP サーバーとの接続をクローズする。
- mcp_client: Client | None¶
- react_agent: FunctionAgent | None¶
- async run(user_query: str)¶
ReAct エージェントを実行し、ユーザー入力を処理する。
- Parameters:
user_query (str) – ユーザーからの入力文
- Returns:
LLM の実行結果
- mike.mike_mcp_client.main(user_query: str)¶
単体実行用エントリーポイント。
- Parameters:
user_query (str) – 実行時に与えるユーザークエリ