mcpField
B
Barebones MCP Server for Netlify

Barebones MCP Server for Netlify

ローカル
github.com/memextechクラウド・インフラ077 週間前に更新

Barebones MCP Server for Netlify について

Netlify にデプロイできる MCP サーバーのテンプレートで、分析ツールの例とレポート解釈用リソースを備えています。テストや連携に使える FastAPI の REST クライアントも含まれます。

主な機能

  1. 01Netlify 向けサーバーレス MCP サーバー
  2. 02分析レポート用ツールの例
  3. 03レポート解釈用リソース
  4. 04FastAPI REST API
  5. 05Swagger UI とテストスクリプト

活用シーン

  1. 01Netlify で MCP サーバーの試作
  2. 02REST エンドポイント経由でツールとリソースをテスト
  3. 03分析結果と併せてレポート説明を参照

MCP 対応

MCP クライアントに分析ツールの例とレポート解釈用リソースを公開します。FastAPI クライアントから、ツールの一覧・呼び出しやリソースの読み取りを REST 経由で行えます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"mcp_netlify_template": {
"command": "npx",
"args": [
"-y",
"mcp-remote"
]
}
}
}
起動コマンドnpx -y mcp-remote

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmmcp-remote

ツール

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

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

詳細

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 スクリプト

はじめに

ローカル開発
  1. このリポジトリをクローンします
  2. 依存関係をインストールします:
    npm install
    
  3. 開発サーバーを起動します:
    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 サーバーをテストすることもできます:

  1. MCP サーバーを初期化します:

    curl -X POST http://localhost:8888/mcp \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","method":"mcp/init","params":{},"id":"1"}'
    
  2. 利用可能なツールを一覧表示します:

    curl -X POST http://localhost:8888/mcp \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","method":"mcp/listTools","params":{},"id":"2"}'
    
  3. ツールを呼び出します:

    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"}'
    
  4. 利用可能なリソースを一覧表示します:

    curl -X POST http://localhost:8888/mcp \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","method":"mcp/listResources","params":{},"id":"4"}'
    
  5. リソースを読み込みます:

    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 へのデプロイ
  1. このリポジトリを GitHub にプッシュします
  2. リポジトリを Netlify に接続します
  3. ビルド設定を構成します:
    • ビルドコマンド:空欄のままにします(ビルドは不要です)
    • 公開ディレクトリ:public

デプロイ後、MCP サーバーは https://your-site-name.netlify.app/mcp で利用できます。

Claude Desktop での使用

この MCP サーバーを Claude Desktop で使用するには:

  1. Claude Desktop の設定を開きます
  2. MCP サーバーの設定を有効にします
  3. 設定ファイルを編集します:
    {
      "mcpServers": {
        "my-mcp": {
          "command": "npx",
          "args": [
            "mcp-remote@next",
            "https://your-site-name.netlify.app/mcp"
          ]
        }
      }
    }
    
  4. 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 で構築されているため、新しいルートや機能を簡単に追加できます。

詳細を見る

コメント

MCP は初めてですか?

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

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