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や配布元リポジトリに変更があり、移行時にはアップグレードガイドの確認を要する
比較
- MCP — FastMCPは、MCPプロトコルに対応するサーバー・クライアントをPythonで実装するためのフレームワーク
関連用語
よくある質問
参考文献
- Official WebsiteFastMCP
- GitHubPrefectHQ/fastmcp
- BlogFastMCP 3.0 is GA