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: object

MCPツールを 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: object

FastMCP 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) – 実行時に与えるユーザークエリ