Skip to main content
Glama

Webサイト

素晴らしいMCP FastAPI

成熟した FastAPI エコシステムを活用し、強化されたツール レジストリ機能を備えた強力な FastAPI ベースのモデル コンテキスト プロトコル (MCP) 実装。

概要

Awesome MCP FastAPIは、モデルコンテキストプロトコル(MCP)の実稼働対応実装であり、FastAPIの堅牢なエコシステムと統合することで、標準MCP機能を強化・拡張します。このプロジェクトは、大規模言語モデル(LLM)向けのAIツールの作成、管理、ドキュメント化を容易にする、改良されたツールレジストリシステムを提供します。

Related MCP server: Fastn Server

これが標準のMCPよりも優れている理由

モデル コンテキスト プロトコルは AI モデルをツールやデータ ソースに接続するための強固な基盤を提供しますが、私たちの実装にはいくつかの大きな利点があります。

FastAPIの成熟したエコシステム

  • 本番環境対応の Web フレームワーク: OpenAPI ドキュメントの自動生成機能を備えた高性能の最新 Web フレームワークである FastAPI 上に構築されています。

  • 依存性注入: FastAPI の強力な依存性注入システムを活用して、より保守しやすくテストしやすいコードを作成します。

  • ミドルウェア サポート: 認証、監視、その他のミドルウェア コンポーネントとの簡単な統合。

  • 組み込み検証: 堅牢なリクエスト/レスポンス検証とデータ モデリングのための Pydantic 統合。

  • 非同期サポート: 高同時実行アプリケーション向けの async/await パターンに対するファーストクラスのサポート。

強化されたツールレジストリ

私たちの実装は、次の点で標準の MCP ツール レジストリを改善します。

  • 自動ドキュメント生成: ツールは、MCP 形式と OpenAPI 仕様の両方で自動的にドキュメント化されます。

  • 型ヒントの改善: 型情報の抽出が強化され、ツールと IDE サポートが向上しました。

  • より豊富なスキーマ定義: ツールの入力と出力のためのより表現力豊かな JSON スキーマ定義。

  • 改善されたエラー処理: 詳細な情報を含む構造化されたエラー応答。

  • 強化された Docstring サポート: Python の docstring からのドキュメントの抽出が改善されました。

追加機能

  • CORS サポート: クロスオリジン リクエストに対応しており、Web アプリケーションとの統合が容易になります。

  • ライフスパン管理: FastAPI のライフスパン API による適切なリソースの初期化とクリーンアップ。

はじめる

前提条件

  • Python 3.10以上

インストール

# Clone the repository git clone https://github.com/yourusername/awesome-mcp-fastapi.git cd awesome-mcp-fastapi # Create a virtual environment python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install dependencies pip install -e .

サーバーの実行

uvicorn src.main:app --reload

OpenAPI ドキュメントを参照するには、 http://localhost:8000/docsにアクセスしてください。

使用法

ツールの作成

from fastapi import FastAPI from src.utils.tools import auto_tool, bind_app_tools app = FastAPI() bind_app_tools(app) @auto_tool( name="calculator", description="Perform basic arithmetic operations", tags=["math"] ) @app.post("/api/calculator") async def calculator(operation: str, a: float, b: float): """ Perform basic arithmetic operations. Parameters: - operation: The operation to perform (add, subtract, multiply, divide) - a: First number - b: Second number Returns: The result of the operation """ if operation == "add": return {"result": a + b} elif operation == "subtract": return {"result": a - b} elif operation == "multiply": return {"result": a * b} elif operation == "divide": if b == 0: return {"error": "Cannot divide by zero"} return {"result": a / b} else: return {"error": f"Unknown operation: {operation}"}

MCP 経由でツールにアクセスする

LLMはモデルコンテキストプロトコルを通じてツールを検出し、使用できます。Claudeを使用した例:

You can perform calculations using the calculator tool. Try calculating 42 * 13.

Claude は自動的に計算ツールを見つけて使用し、計算を実行します。

建築

私たちのアプリケーションはモジュール型アーキテクチャに従っています。

src/ ├── api/ # API endpoints │ └── v1/ # API version 1 ├── core/ # Core functionality │ └── settings.py # Application settings ├── db/ # Database connections │ └── models/ # Database models ├── main.py # Application entry point └── utils/ # Utility functions └── tools.py # Enhanced tool registry

Docker サポート

Docker でビルドして実行します。

docker build -t awesome-mcp-fastapi . docker run -p 8000:8000 --env-file .env awesome-mcp-fastapi

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MR-GREEN1337/awesome-mcp-fastapi'

If you have feedback or need assistance with the MCP directory API, please join our Discord server