Remote MCP Server

by roboulos

Integrations

  • Hosts the MCP server infrastructure, allowing deployment and execution of the remote MCP server

Xano 統合による Snappy MCP サーバー

Cloudflare Workers上に構築されたリモートMCPサーバー。ツール管理、セッショントラッキング、OAuthのためのXanoデータベース統合を備えています。最新のStreamable HTTPトランスポートプロトコル(2024年11月5日)をフルサポートしました。

ローカルで開発する

# clone the repository git clone https://github.com/roboulos/remote-mcp-server.git # install dependencies cd remote-mcp-server npm install # Configure Xano API Key # Add your Xano API key to wrangler.jsonc in the XANO_API_KEY variable # run locally npm run dev

ブラウザでhttp://localhost:8787/を開くことができるはずです。

MCPサーバーに接続する

MCP インスペクター (レガシー) の使用

古い SSE トランスポートを使用して新しい MCP API を調べるには、 MCP Inspector を使用できます。

  • npx @modelcontextprotocol/inspectorで起動します。
  • インスペクタ内で、トランスポート タイプをSSEに切り替え、接続する MCP サーバーの URL としてhttp://localhost:8787/sseを入力し、「接続」をクリックします。
  • (模擬)ユーザー名/パスワードログイン画面が表示されます。任意のメールアドレスとパスワードを入力してログインしてください。
  • MCP インスペクターにリダイレクトされ、定義されたツールを一覧表示して呼び出すことができるようになります。

Workers AI Playground(ストリーミング可能なHTTP)の使用

最新のストリーミング可能な HTTP トランスポート プロトコルでテストするには:

  1. ワーカーズAIプレイグラウンドを訪問
  2. MCP サーバーに接続するように求められたら、エンドポイント URL を入力します。
    https://remote-mcp-server.robertjboulos.workers.dev/mcp
    またはローカルテストの場合:
    http://localhost:8787/mcp
  3. プロンプトが表示されたら認証資格情報を入力します。
    • auth_token : Xano認証トークン
    • user_id : XanoユーザーID
  4. プレイグラウンドは新しいプロトコルを使用してセッション管理を自動的に処理します

Claude DesktopをローカルMCPサーバーに接続します

レガシーSSEトランスポート

古い SSE トランスポートを使用して接続するには、 Anthropic のクイックスタートに従い、Claude Desktop 内で [設定] > [開発] > [構成の編集] に移動して構成ファイルを見つけます。

テキスト エディターでファイルを開き、次の構成に置き換えます。

{ "mcpServers": { "math": { "command": "npx", "args": [ "mcp-remote", "http://localhost:8787/sse" ] } } }

これにより、ローカル プロキシが実行され、Claude が HTTP 経由で MCP サーバーと通信できるようになります。

ストリーミング可能な HTTP トランスポート (推奨)

Claude Desktop でより新しく、より効率的なストリーミング可能な HTTP トランスポートを使用するには、代わりに/mcpエンドポイントを使用するように構成を更新します。

{ "mcpServers": { "xano": { "remoteUrl": "http://localhost:8787/mcp", "auth": { "type": "bearer", "token": "YOUR_XANO_AUTH_TOKEN" }, "headers": { "x-user-id": "YOUR_USER_ID" } } } }

YOUR_XANO_AUTH_TOKENYOUR_USER_ID実際の資格情報に置き換えます。

Claude を開くとブラウザウィンドウが開き、ログインできるようになります。右下に利用可能なツールが表示されます。適切なプロンプトが表示されたら、Claude はツールの呼び出しを要求します。

Xano統合

この MCP サーバーは、次の目的で Xano をバックエンドとして使用します。

  1. ツール管理: Xano の____mcp_toolsテーブルでツールを定義すると、MCP サーバーに自動的に登録されます。
  2. セッション追跡: すべてのMCPセッションは、一意のセッションIDを持つ___mcp_sessionsテーブルで追跡されます。
  3. OAuth認証: OAuthトークンと状態はXanoの___oauth_tokens___oauth_statesテーブルに保存されます
  4. ログ記録: すべてのMCPリクエストは___mcp_logsテーブルに記録されます

ストリーミング可能なHTTP実装

このサーバーは、次の機能を備えた最新のモデルコンテキストプロトコルストリーミング可能な HTTP トランスポート (2024-11-05) を実装しています。

認証方法

サーバーは最大限の互換性を確保するために複数の認証メカニズムをサポートしています。

  1. URL パラメータ: ?auth_token=xxx&user_id=yyy (従来の方法)
  2. 認証ヘッダー: Authorization: Bearer xxxx-user-idヘッダー (最新の方法)
  3. リクエストボディ: 認証パラメータは初期化ペイロードに含めることができます

セッション管理

サーバーは最新の仕様に従ってセッション ID を処理します。

  1. セッション作成: サーバーは新しい接続に対して一意のセッションIDを生成します
  2. セッション トラッキング: クライアントはこの ID を保存し、将来のリクエストに?sessionId=xxxとして含めます。
  3. 状態の永続性: 各セッションはXano内で独自の状態を維持し、リクエスト間で維持されます。

プロトコルコンプライアンス

実装には次の適切なサポートが含まれます。

  1. 統合メッセージエンドポイント: /mcp/messageエンドポイントパターンのサポート
  2. プロトコルヘッダー: すべての応答にはMCP-Available-Transportsなどの適切なヘッダーが含まれます。
  3. SSEストリーミング:ストリーミング応答の強化されたSSEサポート
  4. レスポンスフォーマット: プロトコル固有の拡張を含む標準JSON-RPC 2.0フォーマット

Xanoの設定

  1. 必要なテーブルを含む Xano プロジェクトを作成します (データベース スキーマを参照)
  2. 次の API エンドポイントを作成します:
    • /api/tools - GET - すべてのツールを一覧表示する
    • /api/tools/execute/{tool_name} - POST - 特定のツールを実行する
    • /api/sessions - POST - 新しいセッションを作成する
    • /api/sessions/update-activity - PUT - セッションアクティビティの更新
    • /api/oauth/tokens - POST - OAuthトークンを保存する
    • /api/oauth/tokens/{user_id}/{provider} - GET - OAuthトークンを取得する
    • /api/oauth/states - POST - OAuth 状態を保存する
    • /api/oauth/states/{state} - GET - OAuth 状態を検証する
    • /api/logs - POST - MCP リクエストをログに記録する

Cloudflareにデプロイする

  1. npx wrangler kv namespace create OAUTH_KV
  2. ガイダンスに従って、kv名前空間IDをwrangler.jsoncに追加します。
  3. wrangler.jsoncXANO_API_KEY変数に Xano API キーを追加します。
  4. npm run deploy

リモート MCP クライアントから新しく展開したリモート MCP サーバーを呼び出す

上記の「ローカルで開発する」と同じように、MCP インスペクターを実行します。

npx @modelcontextprotocol/inspector@latest

次に、接続先の MCP サーバーの URL として、インスペクターにワーカーのworkers.dev URL (例: worker-name.account-name.workers.dev/sse ) を入力し、「接続」をクリックします。

これで、リモート MCP クライアントから MCP サーバーに接続されました。

Claude DesktopをリモートMCPサーバーに接続します

Claude 構成ファイルを更新して、 workers.dev URL (例: worker-name.account-name.workers.dev/sse ) を指定し、Claude を再起動します。

{ "mcpServers": { "math": { "command": "npx", "args": [ "mcp-remote", "https://worker-name.account-name.workers.dev/sse" ] } } }

デバッグ

何か問題が発生した場合は、Claude を再起動するか、次のコマンドを使用してコマンド ラインで MCP サーバーに直接接続してみると役立つ場合があります。

npx mcp-remote http://localhost:8787/sse

まれに、 ~/.mcp-authに追加されたファイルを消去すると解決する場合があります。

rm -rf ~/.mcp-auth

Related MCP Servers

  • -
    security
    F
    license
    -
    quality
    A Cloudflare Workers-based implementation of the Model Context Protocol server with OAuth login, allowing Claude and other MCP clients to connect to remote tools.
    Last updated -
    TypeScript
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server that runs on Cloudflare Workers with OAuth login, allowing AI assistants like Claude to execute tools remotely through HTTP connections.
    Last updated -
    TypeScript
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server implementation that runs on Cloudflare Workers with OAuth login, allowing Claude and other AI models to access tools via the MCP standard.
    Last updated -
    TypeScript
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server that runs on Cloudflare Workers, supporting OAuth login and enabling Claude AI to access remote tools and services via MCP.
    Last updated -
    TypeScript

View all related MCP servers

ID: vep91feta1