Barebones MCP Server for Netlify について
Netlify にデプロイできる MCP サーバーのテンプレートで、分析ツールの例とレポート解釈用リソースを備えています。テストや連携に使える FastAPI の REST クライアントも含まれます。
主な機能
- 01Netlify 向けサーバーレス MCP サーバー
- 02分析レポート用ツールの例
- 03レポート解釈用リソース
- 04FastAPI REST API
- 05Swagger UI とテストスクリプト
活用シーン
- 01Netlify で MCP サーバーの試作
- 02REST エンドポイント経由でツールとリソースをテスト
- 03分析結果と併せてレポート説明を参照
MCP 対応
MCP クライアントに分析ツールの例とレポート解釈用リソースを公開します。FastAPI クライアントから、ツールの一覧・呼び出しやリソースの読み取りを REST 経由で行えます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Netlify 向けの最小構成 MCP サーバー
これは、Netlify へのデプロイを目的に設計された、Model Context Protocol(MCP)サーバーの最小実装です。この MCP サーバーは、Model Context Protocol を介して AI アシスタントが利用できるツールとリソースを公開します。
このプロジェクトには、MCP サーバーとやり取りするための REST API を提供する FastAPI クライアントも含まれており、他のアプリケーションとのテストや統合を簡単に行えます。
機能
MCP サーバー
- シンプルなサーバーレス MCP サーバーの実装
- Netlify にデプロイ済み
- 基本的な「分析レポートの実行」ツールを含む
- レポートの解釈に関するドキュメントを含むリソースを提供
MCP クライアント
- MCP サーバーとやり取りするための FastAPI REST API
- インタラクティブな API ドキュメント(Swagger UI)
- 簡単なテストと統合
- 自動テスト用の Python スクリプト
はじめに
ローカル開発
- このリポジトリをクローンします
- 依存関係をインストールします:
npm install - 開発サーバーを起動します:
npm run dev
MCP サーバーはローカルの http://localhost:8888/mcp で利用できます。
MCP サーバーのテスト
MCP Inspector を使うか、curl コマンドを直接実行して MCP サーバーをテストできます。
MCP Inspector を使う
開発サーバーの実行中に、MCP Inspector を使って MCP サーバーをテストできます:
npx @modelcontextprotocol/inspector npx mcp-remote@next http://localhost:8888/mcp
デプロイ後は、デプロイしたバージョンをテストできます:
npx @modelcontextprotocol/inspector npx mcp-remote@next https://your-site-name.netlify.app/mcp
次に、ブラウザーで http://localhost:6274/ を開き、MCP Inspector を操作します。
curl を使う
curl コマンドを直接実行して、MCP サーバーをテストすることもできます:
-
MCP サーバーを初期化します:
curl -X POST http://localhost:8888/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"mcp/init","params":{},"id":"1"}' -
利用可能なツールを一覧表示します:
curl -X POST http://localhost:8888/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"mcp/listTools","params":{},"id":"2"}' -
ツールを呼び出します:
curl -X POST http://localhost:8888/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"mcp/callTool","params":{"name":"run-analysis-report","args":{"days":5}},"id":"3"}' -
利用可能なリソースを一覧表示します:
curl -X POST http://localhost:8888/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"mcp/listResources","params":{},"id":"4"}' -
リソースを読み込みます:
curl -X POST http://localhost:8888/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"mcp/readResource","params":{"uri":"docs://interpreting-reports"},"id":"5"}'
デプロイ
Netlify へのデプロイ
- このリポジトリを GitHub にプッシュします
- リポジトリを Netlify に接続します
- ビルド設定を構成します:
- ビルドコマンド:空欄のままにします(ビルドは不要です)
- 公開ディレクトリ:
public
デプロイ後、MCP サーバーは https://your-site-name.netlify.app/mcp で利用できます。
Claude Desktop での使用
この MCP サーバーを Claude Desktop で使用するには:
- Claude Desktop の設定を開きます
- MCP サーバーの設定を有効にします
- 設定ファイルを編集します:
{ "mcpServers": { "my-mcp": { "command": "npx", "args": [ "mcp-remote@next", "https://your-site-name.netlify.app/mcp" ] } } } - Claude Desktop を再起動します
MCP クライアントの使用
MCP クライアントは、MCP サーバーとやり取りするための REST API インターフェースを提供します。FastAPI で構築されており、自動ドキュメント生成機能を備えた、シンプルでモダンな API を利用できます。
クライアントの起動
cd mcp-client
pip install -r requirements.txt
uvicorn main:app --reload
これにより、FastAPI サーバーが http://localhost:8001 で起動します。API ドキュメントは http://localhost:8001/docs で確認できます。
MCP サーバーと FastAPI クライアントの管理
このテンプレートには、MCP サーバーと FastAPI クライアントの両方を管理するためのスクリプトがいくつか含まれています:
cd mcp-client
./start.sh # Start both services in the background
./stop.sh # Stop both services gracefully
./check_status.sh # Check if services are running and view logs
./test_client.py # Test the FastAPI client endpoints
これらのスクリプトにより、ターミナルを閉じた後もプロセスがバックグラウンドで実行され、ログファイルが適切に管理され、状態が明確に表示されます。
クライアントのテスト
付属のテストスクリプトを使ってクライアントをテストできます:
cd mcp-client
./test_client.py
これにより、API エンドポイントに対する一連のテストが実行され、結果が表示されます。
API エンドポイント
GET /server- サーバー情報を取得GET /tools- 利用可能なツールを一覧表示POST /tools/call- ツールを呼び出すGET /resources- 利用可能なリソースを一覧表示POST /resources/read- リソースを読み込む
詳細については、MCP クライアントの README を参照してください。
拡張
MCP サーバーの拡張
netlify/functions/mcp-server.js の getServer 関数にツールやリソースを追加することで、この MCP サーバーを拡張できます。既存の例を参考にし、詳細については Model Context Protocol のドキュメント を参照してください。
MCP クライアントの拡張
MCP クライアントに新しいエンドポイントを追加するには、mcp-client ディレクトリにある main.py ファイルを編集します。クライアントは FastAPI で構築されているため、新しいルートや機能を簡単に追加できます。
詳細を見る
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。