注意: 本記事の検証パートはシミュレーションです。実際の測定結果ではありません。

3行要約

  • MCP(Model Context Protocol)のサーバー・クライアントをPythonで超簡単に構築できる
  • FastAPIのようなデコレータ形式で、直感的にツールやリソースを定義可能
  • Claude DesktopなどのAIツールと独自の外部機能を連携させる際、開発効率が劇的に上がる

💡 プログラミング書籍のおすすめ

Python機械学習プログラミング - ML/DLの定番入門書

このツールは何か

みなさん、MCP(Model Context Protocol)は活用していますか。Claude Desktopなどが外部ツールと連携するための共通規格ですが、これまでは少し実装のハードルが高いと感じていた方も多いはずです。

今回紹介する「FastMCP 3.0」は、その名の通り、Pythonic(Pythonらしい書き方)でMCPサーバーを構築するためのフレームワークです。まるでFastAPIやFlaskを書くような感覚で、AIが利用できる「ツール」や「リソース」をサクッと定義できるのが最大の特徴ですね。

元エンジニアの私としては、こういう「面倒なボイラープレート(定型コード)を削ってくれるツール」は大好物です。

検証シミュレーション:実際に使ってみた

今回は、ローカルのテキストファイルを読み書きする簡単なMCPサーバーを作成し、AIから操作できるかシミュレーションしてみました。

環境構築

まずはインストールです。依存関係もシンプルなので、既存のプロジェクトにも組み込みやすそうですね。

pip install fastmcp

基本的な使い方

サーバー側のコードを書いてみます。非常にシンプルで驚きました。

from fastmcp import FastMCP

# サーバーのインスタンスを作成
mcp = FastMCP("MyLocalHelper")

# AIが使える「ツール」を定義
@mcp.tool()
def read_project_note(filename: str) -> str:
    """プロジェクトのメモファイルを読み取ります。"""
    try:
        with open(f"./notes/{filename}.txt", "r") as f:
            return f.read()
    except FileNotFoundError:
        return "ファイルが見つかりませんでした。"

# AIが参照できる「リソース」を定義
@mcp.resource("config://app-settings")
def get_config():
    return "mode=development\nversion=3.0.0"

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

実行結果

このスクリプトを起動し、Claude Desktopの設定ファイル(claude_desktop_config.json)に登録して連携させた想定の挙動です。

[System] MCP Server "MyLocalHelper" connected.
[User] プロジェクトのメモ「plan」を読んで、要約して。
[AI] ツール「read_project_note(filename='plan')」を実行します...
[Tool Output] 2024年Q4の目標:AIエージェントの試作完了。期限:12月末。
[AI] メモの内容を確認しました。Q4の目標はAIエージェントの試作完了で、期限は12月末とのことですね。

メリット・デメリット

メリット

  • 学習コストが極めて低い。Python経験者なら数分で理解できます。
  • 型ヒントを利用して自動的に引数のバリデーションやドキュメント化が行われるのが便利です。
  • 非同期(async)にも対応しており、実用的なパフォーマンスが期待できます。

デメリット

  • まだ新しいツールなので、複雑な認証周りのドキュメントがこれから充実してほしいところです。
  • MCP自体の仕様変更があった際に、追従までのラグが発生する可能性があります。

私の評価

個人的には、星4.5です。 ★★★★☆

正直なところ、これまでMCPサーバーを自作するのは少し「構えてしまう」作業でしたが、FastMCPを使えば趣味のスクリプトを数行書き換えるだけでAIの拡張機能に変身させられます。これは個人開発者や、社内ツールをAI化したいエンジニアにとって革命的ではないでしょうか。

「とりあえずPythonで何か便利な機能をClaudeに持たせたい」と思ったら、まずはこれを試してみるのが正解だと思います。みなさんもぜひ、自分専用のMCPサーバーを作ってみてください。


🛒 この記事で紹介した関連商品

📦 プログラミング書籍のおすすめ

🛍️ Python機械学習プログラミング

ML/DLの定番入門書

Amazonで見る 楽天で見る
🛍️ PyTorch実践入門

ディープラーニング実装の決定版

Amazonで見る 楽天で見る
### 📦 AI活用書籍のおすすめ
🛍️ ChatGPT/LLM超活用術

プロンプトエンジニアリングの極意

Amazonで見る 楽天で見る
🛍️ OpenAI API実践ガイド

API連携アプリ開発

Amazonで見る 楽天で見る
### 🔎 もっと探す
Amazonで「Python 開発 効率化」を検索 楽天で検索

※上記リンクはアフィリエイトリンクです。購入により当サイトに収益が発生する場合があります。