Xano 統合による Snappy MCP サーバー
Cloudflare Workers上に構築されたリモートMCPサーバー。ツール管理、セッショントラッキング、OAuthのためのXanoデータベース統合を備えています。最新のStreamable HTTPトランスポートプロトコル(2024年11月5日)をフルサポートしました。
ローカルで開発する
ブラウザでhttp://localhost:8787/を開くことができるはずです。
Related MCP server: Remote MCP Server on Cloudflare
MCPサーバーに接続する
MCP インスペクター (レガシー) の使用
古い SSE トランスポートを使用して新しい MCP API を調べるには、 MCP Inspector を使用できます。
npx @modelcontextprotocol/inspectorで起動します。インスペクタ内で、トランスポート タイプを
SSEに切り替え、接続する MCP サーバーの URL としてhttp://localhost:8787/sseを入力し、「接続」をクリックします。(模擬)ユーザー名/パスワードログイン画面が表示されます。任意のメールアドレスとパスワードを入力してログインしてください。
MCP インスペクターにリダイレクトされ、定義されたツールを一覧表示して呼び出すことができるようになります。
Workers AI Playground(ストリーミング可能なHTTP)の使用
最新のストリーミング可能な HTTP トランスポート プロトコルでテストするには:
MCP サーバーに接続するように求められたら、エンドポイント URL を入力します。
https://remote-mcp-server.robertjboulos.workers.dev/mcpまたはローカルテストの場合:
http://localhost:8787/mcpプロンプトが表示されたら認証資格情報を入力します。
auth_token : Xano認証トークン
user_id : XanoユーザーID
プレイグラウンドは新しいプロトコルを使用してセッション管理を自動的に処理します
Claude DesktopをローカルMCPサーバーに接続します
レガシーSSEトランスポート
古い SSE トランスポートを使用して接続するには、 Anthropic のクイックスタートに従い、Claude Desktop 内で [設定] > [開発] > [構成の編集] に移動して構成ファイルを見つけます。
テキスト エディターでファイルを開き、次の構成に置き換えます。
これにより、ローカル プロキシが実行され、Claude が HTTP 経由で MCP サーバーと通信できるようになります。
ストリーミング可能な HTTP トランスポート (推奨)
Claude Desktop でより新しく、より効率的なストリーミング可能な HTTP トランスポートを使用するには、代わりに/mcpエンドポイントを使用するように構成を更新します。
YOUR_XANO_AUTH_TOKENとYOUR_USER_ID実際の資格情報に置き換えます。
Claude を開くとブラウザウィンドウが開き、ログインできるようになります。右下に利用可能なツールが表示されます。適切なプロンプトが表示されたら、Claude はツールの呼び出しを要求します。
Xano統合
この MCP サーバーは、次の目的で Xano をバックエンドとして使用します。
ツール管理: Xano の
____mcp_toolsテーブルでツールを定義すると、MCP サーバーに自動的に登録されます。セッション追跡: すべてのMCPセッションは、一意のセッションIDを持つ
___mcp_sessionsテーブルで追跡されます。OAuth認証: OAuthトークンと状態はXanoの
___oauth_tokensと___oauth_statesテーブルに保存されますログ記録: すべてのMCPリクエストは
___mcp_logsテーブルに記録されます
ストリーミング可能なHTTP実装
このサーバーは、次の機能を備えた最新のモデルコンテキストプロトコルストリーミング可能な HTTP トランスポート (2024-11-05) を実装しています。
認証方法
サーバーは最大限の互換性を確保するために複数の認証メカニズムをサポートしています。
URL パラメータ:
?auth_token=xxx&user_id=yyy(従来の方法)認証ヘッダー:
Authorization: Bearer xxxとx-user-idヘッダー (最新の方法)リクエストボディ: 認証パラメータは初期化ペイロードに含めることができます
セッション管理
サーバーは最新の仕様に従ってセッション ID を処理します。
セッション作成: サーバーは新しい接続に対して一意のセッションIDを生成します
セッション トラッキング: クライアントはこの ID を保存し、将来のリクエストに
?sessionId=xxxとして含めます。状態の永続性: 各セッションはXano内で独自の状態を維持し、リクエスト間で維持されます。
プロトコルコンプライアンス
実装には次の適切なサポートが含まれます。
統合メッセージエンドポイント:
/mcp/messageエンドポイントパターンのサポートプロトコルヘッダー: すべての応答には
MCP-Available-Transportsなどの適切なヘッダーが含まれます。SSEストリーミング:ストリーミング応答の強化されたSSEサポート
レスポンスフォーマット: プロトコル固有の拡張を含む標準JSON-RPC 2.0フォーマット
Xanoの設定
必要なテーブルを含む Xano プロジェクトを作成します (データベース スキーマを参照)
次の 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にデプロイする
npx wrangler kv namespace create OAUTH_KVガイダンスに従って、kv名前空間IDを
wrangler.jsoncに追加します。wrangler.jsoncのXANO_API_KEY変数に Xano API キーを追加します。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 を再起動します。
デバッグ
何か問題が発生した場合は、Claude を再起動するか、次のコマンドを使用してコマンド ラインで MCP サーバーに直接接続してみると役立つ場合があります。
まれに、 ~/.mcp-authに追加されたファイルを消去すると解決する場合があります。