MCP Server on Cloudflare Workers

ベアラー認証を使用した Cloudflare Workers 上の MCP サーバー

このリポジトリは、シンプルなベアラー トークン認証を使用して Cloudflare Workers 上で実行される Model Context Protocol (MCP) サーバーの概念実証実装を示します。

概要

このプロジェクトでは次の方法を説明します。

  • CloudflareのエッジネットワークにMCPサーバーを展開する
  • 基本的なベアラトークン認証を実装する
  • サーバーレスアーキテクチャを介してMCPツールを作成して公開する

地域開発

# Install dependencies npm install # Run the server locally npm run dev

サーバーを起動すると、 http://localhost:8787で利用できるようになります。

認証

この実装では、シンプルなベアラートークン認証スキームを使用します。クライアントはリクエストにAuthorizationヘッダーを含める必要があります。サーバーはこのトークンをMCPツールに渡し、ツールは認証されたユーザーに基づいてアクションを実行できます。

MCP Inspectorによるテスト

MCP Inspectorを使用して MCP サーバーをテストできます。

  1. インスペクターをインストールして起動します。
    npx @modelcontextprotocol/inspector
  2. インスペクターを設定します。
    • トランスポートタイプをSSEに切り替える
    • MCP サーバーの URL を入力します (ローカル: http://localhost:8787/sseまたはデプロイ済み: https://your-worker.workers.dev/sse )
    • 承認フィールドにベアラートークンを追加します
    • 「接続」をクリック
  3. 機能をテストします。
    • 利用可能なツールを表示するには、「ツール一覧」をクリックします
    • 「getToken」ツールを実行してみてください。認証ヘッダーが返されます。
    • 基本的な機能をテストするには、2つの数字で「追加」ツールを試してください。

Cloudflareへのデプロイ

MCP サーバーを Cloudflare Workers にデプロイします。

npm run deploy

デプロイ後、サーバーはhttps://your-worker.workers.devで利用できるようになります。

プロジェクト構造

  • src/index.ts - MCP ツール定義を含むメインサーバーの実装
  • src/utils.ts - Webインターフェースをレンダリングするためのヘルパーユーティリティ
  • wrangler.jsonc - Cloudflare Workers の設定

重要な注意事項

これは、MCP がサーバーレス環境でどのように動作するかを示すための概念実証実装です。本番環境では、以下の実装が必要になります。

  • より堅牢な認証 (OAuth、トークン検証など)
  • レート制限と追加のセキュリティ対策
  • 適切なエラー処理と監視

トラブルシューティング

問題が発生した場合:

  1. ベアラートークンがAuthorizationヘッダーで適切にフォーマットされていることを確認してください
  2. Cloudflareダッシュボードでワーカーログを確認する
  3. ローカル開発サーバーを再起動してみてください

認証の問題が永続的に発生する場合は、キャッシュされた資格情報をクリアする必要がある場合があります。

rm -rf ~/.mcp-auth
-
security - not tested
-
license - not tested
-
quality - not tested

ベアラー トークン認証を使用して Cloudflare のエッジ ネットワーク上で実行されるモデル コンテキスト プロトコル サーバーの概念実証実装。これにより、展開された AI モデルがサーバーレス アーキテクチャを介してツールにアクセスできるようになります。

  1. Overview
    1. Local Development
      1. Authentication
        1. Testing with MCP Inspector
          1. Deploying to Cloudflare
            1. Project Structure
              1. Important Notes
                1. Troubleshooting
                  ID: 40vqylshvd