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 ラッパーを束ねるハブとして機能する。

関連