mcpField
U
upstash-redis-start

upstash-redis-start

github.com/upstashエージェントワークフロー341.3k 回インストール1 日前に更新
リポジトリ

upstash-redis-start について

Upstash Redis for Agents は、認証情報がない AI エージェント向けに一時的な Redis データベースを用意します。HTTP リクエスト 1 回でエンドポイントとトークンを取得でき、データベースは引き取りがなければ 3 日で期限切れになります。

主な機能

  1. 01HTTP リクエストでデータベースを作成
  2. 02安全な再試行と認証情報の再取得
  3. 03Redis REST API エンドポイントを利用
  4. 04メトリクスとコンソール URL を返却
  5. 05エージェント向けのデータ利用例を提示

活用シーン

  1. 01ツール呼び出し間の短期メモリを保持
  2. 02会話ターンを記録
  3. 03サブエージェントの作業キューを作成
  4. 04時間順またはスコア順に記憶を取得

インストール

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

$npx skills add https://github.com/upstash/skills --skill upstash-redis-start

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

詳細

エージェント向け Upstash Redis (start-redis)

AI エージェント向けのゼロコンフィグ Redis データベース — サインアップ不要、UI 不要、SDK のセットアップ不要。HTTP リクエストを 1 回送るだけで、使用可能なエンドポイントとトークンが返ります。データベースはユーザーが引き継がない限り 3 日間 存在します。

次のような場合に使用します:

  • エージェントが今すぐ Redis を必要としていて、ユーザーから認証情報を受け取っていない。
  • ツール呼び出しをまたぐ短期メモリ、会話履歴、サブエージェントのワークキュー、または新しい順にランク付けされた想起が必要。

これは本番ワークロードや実際のユーザーアカウントに紐づくものではなく、素早い実験、プロトタイプ、デモ向けに作られています。データベースは一時的で、引き継ぐまでは認証されないため、PII、シークレット、本番の認証情報は入れないでください。

データベースの作成または再取得

# Generate a fresh UUIDv4 yourself, then POST it as the Idempotency-Key.
# The UUIDv4 you send becomes the database id.
curl -X POST -H "Idempotency-Key: <uuidv4>" https://upstash.com/start-redis
  • 自分の UUIDv4 を送信すると、最初の呼び出しが リトライセーフ になります。レスポンスが失われた場合でも、同じ UUID でリトライすれば重複を作成せず同じデータベースが返ります。
  • 同じ Idempotency-Key で再 POST すると、既存のデータベースの 認証情報を再取得 できます。
  • このヘッダーは任意です。省略すると、サーバー生成の id で新しいデータベースが作成されます(レスポンスで返されるので、後でその id を Idempotency-Key として渡せば再取得できます)。受け付けられるのは UUIDv4 のみです。

レスポンスは以下を含む markdown です:

  • Database ID、Endpoint、Token
  • Metrics URL(JSON: 稼働時間、コマンド数、キー数、スループット、メモリ、帯域幅)
  • Expires の日付
  • ユーザーと共有する Console URL(ユーザーはそこで使用状況を確認し、Claim をクリックしてデータベースを保持できます)
  • body スタイルの REST API 用のインラインクイックスタート

これらを markdown レスポンスから解析してそのまま使用してください — 別途の JSON エンベロープはありません。

データベースの呼び出し(body スタイル REST)

返されたエンドポイントは Upstash Redis REST API を話します。body スタイル の形式を推奨します。コマンドを URL エンコードする必要がないよう、JSON 配列を body として POST します。

# SET with TTL
curl https://<endpoint> \
  -H "Authorization: Bearer <token>" \
  -d '["SET","session:abc","{\"step\":2}","EX","3600"]'

# GET
curl https://<endpoint> \
  -H "Authorization: Bearer <token>" \
  -d '["GET","session:abc"]'

同じエンドポイントとトークンに対して公式 SDK を使用することもできます(TS/JS 用は @upstash/redis、Python 用は upstash-redis)。

一般的なエージェントパターン

用途コマンド
1 回の実行内でツール呼び出しをまたぐ短期メモリSET key value EX <ttl> / GET key
会話 / ターンごとのログLPUSH chat:<user> <json> / LRANGE chat:<user> 0 20
サブエージェントのワークキュー(プロデューサー/コンシューマー)LPUSH jobs <json> / RPOP jobs
ランク付けされたメモリ(新しい順またはスコア順)ZADD memories <score> <member> / ZREVRANGE memories 0 9

ユーザーへの伝達

プロビジョニング後、レスポンスの コンソール URL をユーザーに提示してください。次の点を明確に伝えます:

  • データベースは 3 日で失効します。
  • コンソール URL で使用状況を確認でき、Claim をクリックすると保持できます。
  • これは認証されないスクラッチストレージです — シークレットや PII を入れないでください。

リファレンス

コメント