FastMCP
Model Context Protocol を Python で扱うためのライブラリ。MCP サーバの実装と、複数の MCP サーバへ接続するクライアントの両面を提供する。自宅スマートホーム「メイドちゃん」(maidchan-smarthome-mcp)の MCP host で採用。
クライアントとしての役割
mcp_servers.jsonのような設定で接続先サーバ群を宣言し、Client(MCP_SERVERS)に渡すと子プロセスの起動・管理まで自動で行う(command/args/envを指定)。
async with Client(MCP_SERVERS) as mcp_client:
tools = await mcp_client.list_tools()list_tools()で接続中サーバの全ツール定義を取得できる。これを OpenAI の function calling フォーマット({"type": "function", "name", "description", "parameters": inputSchema})に変換して LLM に渡し、返ってきた tool call をcall_tool(name, args)で実行する、というエージェントループを組む。
位置づけ
公式 MCP SDK よりも記述量が少なく、ホスト/サーバ両方をすばやく書けるのが利点。SwitchBot MCP・Nature Remo MCP のような家電 API ラッパーを束ねるハブとして機能する。
関連
- model-context-protocol / llm-agent-pattern
- maidchan-smarthome-mcp / pydantic-ai / langchain-langgraph
- langfuse — トレース・プロンプト管理を併用