mcpField
S
spacetimedb-http

spacetimedb-http

github.com/danmossa開発2164 回インストール19 週間前に更新
リポジトリ

spacetimedb-http について

SpacetimeDB の HTTP ルートへのリクエスト構築と動作を扱うスキルです。ID、データベース、SQL、ログ、認証、WebSocket サブスクリプションの各エンドポイントを網羅します。

主な機能

  1. 01認証と Bearer トークン
  2. 02ID とデータベースのエンドポイント
  3. 03Reducer と SQL のリクエスト
  4. 04スキーマとログの取得
  5. 05WebSocket サブスクリプションルート

活用シーン

  1. 01HTTP による SpacetimeDB Reducer の呼び出し
  2. 02SQL の実行とデータベーススキーマの取得
  3. 03カスタムサブスクリプションツールの構築

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/danmossa/spacetimedb-skills --skill spacetimedb-http

インストール後、Claude Code で/spacetimedb-httpを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
http-authorization.md
http-database.md
http-identity.md

詳細

このスキルは、SpacetimeDB の HTTP ルートの動作とリクエストの構築に使用します。

HTTP の基本パターン

  • ほとんどの HTTP エンドポイントでは、Authorization: Bearer <token> を指定します。指定しない場合、データベースのエンドポイントは通常、匿名 ID を割り当てるか使用し、パブリックテーブルへのアクセスのみを許可します。
  • POST /v1/identity は { "identity": string, "token": string } を返します。
  • POST /v1/database/:name_or_identity/call/:reducer は、リデューサーまたはプロシージャを呼び出します。リクエスト本文は引数の JSON 配列です。
  • POST /v1/database/:name_or_identity/sql は、; で区切られた 1 つ以上の SQL ステートメントを実行し、schema と rows を含むステートメント結果の JSON を返します。
  • GET /v1/database/:name_or_identity/schema?version=... は RawModuleDef の JSON を返し、spacetime describe に対応します。
  • GET /v1/database/:name_or_identity/logs にはデータベースの所有権が必要で、spacetime logs に対応します。
  • WebSocket サブスクリプションでは、v1.bsatn.spacetimedb または v1.json.spacetimedb サブプロトコルを使用して /v1/database/:name_or_identity/subscribe に接続します。カスタムツールを構築する場合を除き、SDK の使用を推奨します。

リクエスト時の注意事項

  • 管理エンドポイントは主にツール、デバッグ、管理用です。通常のアプリケーショントラフィックには SDK の WebSocket クライアントを使用してください。
  • 匿名の HTTP リデューサー呼び出しでは、匿名 ID が ReducerContext に渡されます。モジュールの認証ロジックによって拒否される場合があります。
  • 匿名ユーザーからの HTTP SQL ではパブリック行のみが表示され、RLS が適用されます。
  • 複雑なクエリー文字列を記述する前に、SQL 構文の質問を spacetimedb-sql に回してください。

リファレンスマップ

必要な情報参照先
認証ヘッダーと pingreferences/http-authorization.md
データベースのエンドポイントreferences/http-database.md
ID のエンドポイントreferences/http-identity.md

ガイダンス

  • エンドポイントの例を示す際は、必要なベアラートークンの動作を含めてください。
  • SQL 構文に関する質問は spacetimedb-sql に回してください。
  • SDK 接続に関する質問は spacetimedb-clients に回してください。

コメント