Python Workers: FastMCP Example について
Python Workers: FastMCP Example は、FastMCP を使う Python Worker のサンプルです。依存パッケージの同梱から、開発、デプロイ、テスト、コードチェックまでの手順を示します。
主な機能
- 01FastMCP ベースの Python Worker サンプル
- 02依存パッケージをソースに同梱
- 03Wrangler による開発
- 04Wrangler によるデプロイ
- 05pytest でテストし Ruff で整形
活用シーン
- 01Python Workers の依存関係の同梱方法を学ぶ
- 02Wrangler で Worker を開発・デプロイ
- 03サンプルのテストとコードチェック
MCP 対応
FastMCP を使用しますが、Worker が公開する MCP ツールやリソースについて README に記載はありません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Python Workers:FastMCP の例
これは、FastMCP パッケージを使用する Python Worker の例です。
メモ
Worker のサイズの都合上、この例は Workers の有料プランを使用している場合のみデプロイできます。無料プランのユーザーは、この Worker が 3MB のサイズ制限を超えるため、デプロイ時にエラーが発生します。
パッケージの追加
ベンダー化されたパッケージはソースファイルに追加され、特別な方法でインストールする必要があります。Python Workers チームは将来的にこのプロセスを自動化する予定ですが、現時点では手動での作業が必要です。
パッケージのベンダー化
まず、Python 3.12 用の Python3.12 と pip をインストールします。
現在、ほかのバージョンの Python は動作しません。3.12 を使用してください!
次に、仮想環境を作成し、シェルから有効化します。
python3.12 -m venv .venv
source .venv/bin/activate
仮想環境内で、pyodide CLI をインストールします。
.venv/bin/pip install pyodide-build
.venv/bin/pyodide venv .venv-pyodide
最後に、ベンダー化されたパッケージをダウンロードします。追加のパッケージを使用する場合は、このコマンドを再実行してください。
.venv-pyodide/bin/pip install -t src/vendor -r vendor.txt
開発とデプロイ
Worker を開発するには、npx wrangler@latest dev を実行します。
Worker をデプロイするには、npx wrangler@latest deploy を実行します。
テスト
テストするには、次を実行します。
source .venv/bin/activate
pip install -r requirements-test.txt
pytest tests
Lint とフォーマット
このプロジェクトでは、Lint とフォーマットに Ruff を使用します。
pip install ruff
ruff check . # Run linting
ruff format . # Format code
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。