Re Reference AI

インフラ

FastMCPとは

PythonでMCPサーバー・クライアントを簡潔なデコレータ構文で構築できる、事実上標準のMCPフレームワーク

フレームワークツール連携

ひとことで言うと

MCPサーバーやクライアントを、PythonでシンプルなコードだけでサクッとApplication作れるフレームワーク。

概要

FastMCPとは、Model Context Protocol(MCP)に対応するサーバー・クライアントをPythonで構築するためのフレームワーク。 `@mcp.tool`のようなデコレータでPython関数を装飾するだけで、MCPツールとして必要なスキーマ定義・入力検証・ドキュメント生成が自動的に行われ、トランスポートのネゴシエーションや認証、プロトコルのライフサイクル管理もフレームワーク側が担う。開発者はツールのロジック実装に専念できる。 サーバー機能に加え、任意のMCPサーバーへ接続するクライアント機能、複数のMCPサーバーを組み合わせる「Composition」機能、既存のMCPサーバーを中継する「Proxy」機能等を備え、プロトタイピングから本番運用までを一貫してカバーする。 MCPサーバー実装における事実上の標準フレームワークの1つとされ、複数言語のMCPサーバーの多くがFastMCPを基盤にしているとされる。

背景

MCPはLLMとツール・データソースを接続するためのプロトコルを定義するが、スキーマ定義・入力検証・認証・トランスポート管理等、安定したMCPサーバー・クライアントを実装するには多くの定型作業が伴う。FastMCPは、こうした定型作業をフレームワーク側で肩代わりし、Pythonの関数定義だけでMCPサーバーを構築できるよう開発された。

歴史

2024年11月: MCP公開から約1週間後、Jeremiah LowinがFastMCPの開発を個人プロジェクトとして開始。 2024年: FastMCP 1.0が公式のMCP Python SDKへ統合される。 2025年4月16日: 独立プロジェクトとして「Composition」「Proxy」等の機能を追加したFastMCP 2.0を公開。 2026年2月18日: FastMCP 3.0が安定版(GA)としてリリースされ、リポジトリの管理元がJeremiah Lowin個人からPrefectHQへ移管された。

コード例

デコレータでMCPツールを定義する最小構成

from fastmcp import FastMCP

mcp = FastMCP("My MCP Server")

@mcp.tool
def greet(name: str) -> str:
    return f"Hello, {name}!"

if __name__ == "__main__":
    mcp.run()

利点

  • デコレータでPython関数を装飾するだけで、MCPツールに必要なスキーマ定義・入力検証・ドキュメント生成が自動化される
  • サーバー・クライアントに加え、複数サーバーの合成(Composition)や既存サーバーの中継(Proxy)等、本番運用を見据えた機能を備える

欠点

  • Pythonエコシステムが前提となっており、他言語でMCPサーバーを実装する場合は選択肢にならない
  • バージョン間(1.0/2.0/3.0)でAPIや配布元リポジトリに変更があり、移行時にはアップグレードガイドの確認を要する

比較

  • MCPFastMCPは、MCPプロトコルに対応するサーバー・クライアントをPythonで実装するためのフレームワーク

関連用語

MCP

よくある質問

FastMCPはMCPの公式SDKと何が違う?

FastMCPはMCP Python SDKとは別の独立プロジェクトとして開発が続けられており、デコレータ構文の簡潔さに加え、複数サーバーの合成(Composition)や既存サーバーの中継(Proxy)等、公式SDKにはない機能を提供する。なお、FastMCP 1.0は公式のMCP Python SDKへ統合された経緯がある。

参考文献

関連する年表

MCP(Model Context Protocol)の歴史

AnthropicがLLMアプリケーションと外部ツール・データを接続する標準として公開したMCPが、主要AIベンダーを巻き込んだ業界標準へと広がっていった過程をたどる。

エージェント5件のイベント / 2024 - 2025