mcpField
E
ezmcp

ezmcp

ローカル
pypi.org開発ツール2386 週間前に更新

ezmcp について

ezmcp は、SSE トランスポートに対応した軽量な Python フレームワークで、FastAPI に似たデコレーター構文でMCP サーバーを構築できます。ツールを手早く公開したい開発者や、既存の Starlette アプリケーションに統合したい場合に適しています。

主な機能

  1. 01FastAPI 風のデコレーターによるツール定義
  2. 02関数シグネチャからのスキーマ自動生成
  3. 03SSE トランスポートの標準対応
  4. 04FastAPI 風のミドルウェア対応
  5. 05ツールを試せる対話型ドキュメントページ

活用シーン

  1. 01Python で SSE ベースの MCP サーバーを素早く構築
  2. 02既存の Starlette アプリケーションへのツール追加

MCP 対応

ezmcp は MCP サーバーを作成するためのフレームワークであり、定義したツールは SSE エンドポイント経由で MCP クライアントに提供されます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

ezmcp

SSE に特化した、使いやすい MCP サーバーフレームワークです。

概要

ezmcp は、FastAPI のような構文を使用して、MCP 互換サーバーを簡単に作成できる軽量フレームワークです。MCP クライアントから呼び出せるツールを定義するための、シンプルなデコレーターベースの API を提供します。

特長

  • MCP ツールを定義するための FastAPI スタイルのデコレーター API
  • パラメーターの自動検証と型変換
  • 関数のシグネチャからツールスキーマを自動生成
  • SSE トランスポートの組み込みサポート
  • FastAPI スタイルのミドルウェアをサポート
  • 既存の Starlette アプリケーションと簡単に統合
  • ツールを確認・テストできるインタラクティブなドキュメントページ

docs_image

インストール

pip install ezmcp

クイックスタート

from ezmcp import ezmcp, TextContent

# Create an ezmcp application
app = ezmcp("my-app")

# Define a tool
@app.tool(description="Echo a message back to the user")
async def echo(message: str):
    """Echo a message back to the user."""
    return [TextContent(type="text", text=f"Echo: {message}")]

# Run the application
if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8000)

サーバーが起動したら、次の操作ができます。

  • http://localhost:8000/docs でインタラクティブなドキュメントにアクセスする
  • http://localhost:8000/sse の SSE エンドポイントに接続する

ミドルウェア

ezmcp は FastAPI に似たミドルウェアをサポートしており、アプリケーション全体に適用される動作を追加できます。

from starlette.requests import Request

from ezmcp import TextContent, ezmcp

app = ezmcp("my-app")

@app.middleware
async def process_time_middleware(request: Request, call_next):
    """Add a header with the processing time."""
    import time
    start_time = time.perf_counter()
    response = await call_next(request)
    process_time = time.perf_counter() - start_time
    response.headers["X-Process-Time"] = str(process_time)
    return response

@app.tool(description="Echo a message back to the user")
async def echo(message: str):
    """Echo a message back to the user."""
    return [TextContent(type="text", text=f"Echo: {message}")]

ミドルウェアの詳細については、ミドルウェアのドキュメントを参照してください。

ドキュメント

詳細については、ezmcp/README.md ファイルを参照してください。

ライセンス

MIT

コマンド

  • テスト用にインストール pdm install -G test
  • 開発用にインストール pdm install -G dev

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。