upstash について
Upstash Skills は、Upstash SDK、コマンドライン、リモートの Box ワークスペースを使うためのガイド集です。ストレージ、メッセージ処理、検索、レート制限、クラウドサンドボックスの用途に応じた手順を示します。
主な機能
- 01Upstash SDK の利用ガイド
- 02Redis とオブジェクトストレージのワークフロー
- 03キューと永続ワークフロー
- 04検索、ベクトル、レート制限のパターン
- 05Box CLI とリモートワークスペース作業
活用シーン
- 01アプリへのキャッシュやセッション保存の追加
- 02ジョブのスケジュールや Webhook メッセージの配信
- 03セマンティック検索や全文検索の実装
- 04Box でのビルドやブラウザー作業
MCP 対応
Upstash MCP ツールが利用可能な場合、データベースやインデックスの管理、Redis コマンド、Box 作業などのアカウント・データ操作で優先利用するよう案内します。Upstash MCP サーバー経由のリモート Box 作業も説明します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ upstash/ skills --skill upstashインストール後、Claude Code で/upstashを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
upstash-blob-js/overview.mdupstash-box-cli/overview.mdupstash-box-js/overview.mdupstash-box-py/overview.mdupstash-box-remote-work/overview.mdupstash-cli/overview.mdupstash-qstash-js/overview.mdupstash-qstash-js/advanced/callbacks.mddeduplication.mddlq.mdupstash-qstash-js/advanced/multi-region/summary.mdverify-multi-region-setup.tsupstash-qstash-js/fundamentals/local-development.mdpublishing-messages.mdqueues-and-flow-control.mdschedules.mdurl-groups.mdupstash-qstash-js/verification/receiver.mdupstash-qstash-js/verification/platform-specific/nextjs.mdupstash-ratelimit-js/algorithms.mdfeatures.mdmethods-getting-started.mdoverview.mdpricing-cost.mdtraffic-protection.mdupstash-redis-js/advanced-features/auto-pipeline.mdpipeline-and-transactions.mdscripting.mdupstash-redis-js/data-structures/arrays.mdhashes.md詳細
Upstash Skills
このスキルは、すべての Upstash SDK のドキュメントをまとめたものです。以下から該当するサブスキルを選んでください。
このセッションで Upstash MCP ツールが利用できる場合は、アカウントとデータの操作にはそれらを優先してください —
データベース、インデックス、Blob バケットの作成と検査、Redis コマンドの実行、stats、logs、DLQ の読み取り、
および Box でのリモート作業(シェル、ブラウザ、git、プレビュー URL、PR、Blob にアップロードされるスクリーンショット。
upstash-box-remote-work を参照)。以下のサブスキルはアプリケーションコードを書くためのものです。MCP がない場合、
または作業が本質的にシェル作業である場合にのみ upstash-cli に頼ってください。
upstash-blob-js
S3 互換のオブジェクトストレージ向けの @upstash/blob TypeScript/JavaScript SDK を扱います。ブラウザからの直接アップロード、署名付き URL、マルチパート、署名付き読み取りをサポートします。ファイルや Blob の保存、アバター、画像、動画、添付ファイル、ユーザードキュメントのアップロード、サーバーを経由せずにブラウザからストレージへ直接アップロードする場合、公開 URL または有効期限付きの署名付き URL の生成、プライベートファイルの配信、一時停止と再開を伴う大容量ファイルのストリーミング、保存されたオブジェクトへのキャッシュヘッダーの設定、AWS SDK から S3 互換バケットへのアクセスに使用します。
upstash-box-cli
box CLI を使ってターミナルから Upstash Box(リモートのサンドボックス化されたワークスペース)を操作します。コマンドの実行、ファイルの編集、リポジトリのクローン、ビルドやテストの実行、公開 URL の発行、ページの閲覧やスクリーンショット、スクリーンショットを添付したプルリクエストや Issue の作成、定期的な作業のスケジュール設定、AI エージェントの実行、その他このマシン上ではなく Box 内で行う作業を依頼された場合に使用します。
upstash-box-js
AI エージェント、シェル、ファイルシステム、git、cron スケジュール、スナップショット、ヘッドレスブラウザーを備えたサンドボックス化されたクラウドコンテナ向けの @upstash/box TypeScript/JavaScript SDK を扱います。Upstash Box での構築、信頼できないコードやエージェントが生成したコードを実行するためのサンドボックスまたは分離環境の作成、コンテナ内での AI コーディングエージェントの実行、エージェントへのシェルとリポジトリを備えたクラウド開発環境の提供、Box からのブラウザー自動化、Box 内での定期ジョブのスケジュール設定、スナップショットの保存と復元、複数の Box の並列オーケストレーションに使用します。
upstash-box-py
AI エージェント、シェル、ファイルシステム、git、cron スケジュール、スナップショット、ヘッドレスブラウザーを備えたサンドボックス化されたクラウドコンテナ向けの upstash-box Python SDK を扱います。Python で Upstash Box を構築する場合、信頼できないコードやエージェントが生成したコードを実行するためのサンドボックスまたは分離環境の作成、コンテナ内での AI コーディングエージェントの実行、エージェントへのシェルとリポジトリを備えたクラウド開発環境の提供、Box からのブラウザー自動化、Box 内での定期ジョブのスケジュール設定、スナップショットの保存と復元、複数の Box の並列オーケストレーションに使用します。
upstash-box-remote-work
ローカルマシン上ではなく、リモートの Upstash MCP サーバー(mcp.upstash.com)を通じて操作するサンドボックス化されたクラウドコンテナである Upstash Box で作業を行います。ユーザーが何かをリモートで、サンドボックス内で、クラウドで、または Box 内で実行、ビルド、テスト、クローン、編集するよう依頼した場合、成果物がプルリクエスト、公開プレビュー URL、または実行中のアプリのスクリーンショットである場合、ローカルマシンでは実現できない場合(gh 用の GitHub ログインがない、ポートを公開する方法がない、ローカルのチェックアウトが汚れているまたは遅い)、複数の独立したタスクを別々のマシンで並列に実行すべき場合、タスクのリストをプルリクエストのリストに変えるコードファクトリー、または成果物がブラウザー、Web アプリ、ターミナルプログラム、エージェント実行の動画、画面録画、デモ、タイムラプスである場合に使用します。Upstash が明示されていなくても、セッションに box_* および blob_* MCP ツールがある場合は常に適用されます。
upstash-cli
セッションに Upstash MCP ツールがない場合は、ターミナル、シェルスクリプト、または CI ジョブから Upstash CLI(upstash)を実行してください。Upstash MCP ツールが利用できる場合(Upstash プラグインが mcp.upstash.com を登録します)は、このスキルを読み込まないでください。これらのツールはすでに Redis データベースの作成、一覧表示、名前変更、削除、Redis コマンドの実行、使用状況の統計、バックアップ、Vector および Search インデックス、QStash のスケジュールとメッセージ、Blob バケット、Box をカバーしているため、直接呼び出してください。このスキルは、MCP では実行しないシェル作業に使用します。たとえば、JSON 出力を伴う upstash コマンドを必要とする CI ステップやプロビジョニングスクリプト、結果を他のコマンドにパイプする処理、upstash auth login と API キーの設定、チームとメンバーの管理、プラン、リージョン、TLS、エビクション、自動アップグレード、予算の変更、Blob バケット用の一時的な S3 認証情報の発行、upstash setup によるコーディングエージェントの Upstash への接続(Upstash プラグイン、またはリモート MCP サーバーとスキルの併用)、あるいはユーザーが CLI を、またはコンソールを使わずに Upstash を管理することを明示的に求めた場合です。
upstash-qstash-js
@upstash/qstash TypeScript/JavaScript SDK を扱います。これは、サーバーレスおよびエッジランタイム(Next.js、Vercel、Cloudflare Workers、Deno、Node.js)向けの、HTTP ベースのメッセージキュー、タスクスケジューラー、バックグラウンドジョブシステムです。HTTP エンドポイントまたは URL グループへのメッセージのパブリッシュ、長時間実行されるワーカープロセスなしでのバックグラウンドジョブの実行、cron 式によるスケジューリング、メッセージの遅延、並列性とフロー制御を備えた FIFO キューの構築、リトライとコールバックの設定、デッドレターキュー(DLQ)の処理、メッセージの重複排除、複数のエンドポイントへのファンアウト、QStash webhook 署名の検証(Next.js App Router、Pages Router、Edge Runtime)、ローカル QStash 開発サーバーの実行、またはリージョンの移行に使用します。また、ユーザーがサーバーレスの cron ジョブ、非同期タスクキュー、ジョブスケジューラー、遅延配信、リトライ付きの webhook 配信、またはサービス間のイベント駆動型メッセージングを求めた場合にも使用します。
upstash-ratelimit-js
Upstash Redis をバックエンドとする @upstash/ratelimit TypeScript/JavaScript SDK による、サーバーレスおよびエッジアプリ向けのレート制限です。API ルート、Next.js ミドルウェア、Vercel Edge、Cloudflare Workers、または任意の HTTP エンドポイントへのレートリミッターやスロットリングの追加、429 Too Many Requests の返却、固定ウィンドウ、スライディングウィンドウ、トークンバケットの各アルゴリズムの選択、プレフィックスとカスタムキーによるユーザー単位、IP 単位、API キー単位、テナント単位の制限、ログイン、サインアップ、フォーム、AI エンドポイントを悪用、ボット、ブルートフォースから保護、拒否リスト、エフェメラルキャッシュ、アナリティクス、タイムアウト、マルチリージョンのレート制限の使用、またはレート制限の Redis コマンドコストの見積もりに使用します。また、ユーザーが rate limit、rate-limiting、throttle、quota、request limits、traffic protection と言及した場合にも使用します。
upstash-redis-js
@upstash/redis TypeScript/JavaScript SDK を扱います。これは、Next.js、Vercel、Cloudflare Workers、エッジランタイム、Node.js 向けのサーバーレス HTTP ベースの Redis クライアントです。キャッシュの追加(キャッシュアサイド、ライトスルー、TTL と有効期限戦略)、セッションストレージとユーザーセッション、キーバリューストア、ソート済みセットを使ったリーダーボードとランキング、カウンター、分散ロック、リストを使ったキュー、ストリームとコンシューマーグループ、スパースインデックスでアドレス指定する配列とリングバッファ(ARSET、ARINSERT、ARRING、ARGREP、AROP)、Redis 内に保存される埋め込みと最近傍ベクトル検索(redis.vector 経由の VECTOR コマンド。@upstash/vector とは別)、JSON ドキュメント、パイプラインと MULTI/EXEC トランザクション、Lua スクリプティング、リードレプリカ、あるいは全文検索、タイポ許容検索、ファセット、集計、Upstash Redis Search を使った Redis ストリームエントリの検索(通常の FT.SEARCH とは異なります。@upstash/search-redis と @upstash/search-ioredis を介して TCP クライアントでも利用可能)を行うときに使用します。また、ioredis や node-redis からの移行時、接続プーリングなしでサーバーレス関数から Redis 接続が必要なとき、@upstash/ratelimit を統合するとき、あるいはユーザーが Redis キャッシュ、KV ストア、セッションストア、サーバーレス Redis、Upstash Redis と言及したときにも使用します。さらに、Vercel AI SDK、TanStack AI、Vercel Eve 向けに Upstash AgentKit(エージェントメモリ、チャット履歴、RAG ツール、ツールキャッシュ、チャットの永続化、再開可能なストリーム、分散ロック)で Redis 上に AI エージェントを構築するときにも使用します。JavaScript の型の自動シリアライズ/デシリアライズをサポートします。
upstash-redis-start
https://upstash.com/start-redis への 1 回の POST で、AI エージェント向けにゼロコンフィグ、サインアップ不要、一時的な Upstash Redis データベースをプロビジョニングします。アカウント、API キー、SDK のセットアップは不要です。エージェントが今すぐスクラッチの Redis を必要とし、ユーザーが認証情報を提供していない場合、ツール呼び出しをまたぐ短期メモリ、会話履歴、サブエージェントのワークキュー、ランク付きリコール、あるいは簡単なプロトタイプやデモに使用します。冪等な作成と認証情報の再取得、ボディ形式の REST API または公式 SDK を通じたデータベースの呼び出し、およびユーザーにそれを引き継ぐ(claim する)方法を伝えることを扱います。データベースはユーザーが引き継がない限り 3 日間存在します。本番データ、PII、シークレットには使用しないでください。
upstash-search-js
@upstash/search TypeScript/JavaScript SDK を扱います。これは、組み込みのリランキングを備えたサーバーレスの全文検索およびセマンティック検索データベースです。アプリやサイトに検索を追加するとき、検索インデックスを作成するとき、検索可能なコンテンツとフィルタ可能なメタデータを持つドキュメントをアップサートするとき、キーワード検索、セマンティック検索、またはハイブリッド検索クエリを実行するとき、結果をリランキングするとき、SQL ライクまたは構造化フィルター構文でフィルタリングするとき、range でページネーションするとき、ドキュメントを取得または削除するとき、インデックスをリセットするとき、あるいはインデックス情報を確認するときに使用します。また、ユーザーがサイト検索、製品、ドキュメント、ナレッジベースの検索、あるいは実行にクラスターを必要としないマネージド検索サービスを求めたときにも使用します。
upstash-vector-js
@upstash/vector TypeScript/JavaScript SDK を扱います。これは、埋め込み、類似検索、セマンティック検索、RAG(検索拡張生成)向けのサーバーレスベクトルデータベースです。ベクトルのアップサート、クエリ、取得、範囲指定、削除を行うとき、組み込みの埋め込みモデルを持つインデックスに対して生テキストをアップサートするとき、密(dense)、疎(sparse)、またはハイブリッドインデックスを選択するとき、メタデータでフィルタリングするとき、名前空間でデータを整理するとき、再開可能なクエリを実行するとき、あるいは Upstash Vector を AI または LLM アプリケーションに接続するときに使用します。また、ユーザーがベクトルストア、ベクトル検索、最近傍または kNN 検索、埋め込みストレージ、セマンティックキャッシュ、レコメンデーションや類似性機能、あるいはインフラを必要としないホスト型ベクトルインデックスを求めたときにも使用します。
upstash-workflow-js
サーバーレス関数における耐久性のある長時間実行ワークフロー向けの @upstash/workflow TypeScript/JavaScript SDK を扱います。タイムアウト、リトライ、再起動に耐えるマルチステップ処理です(QStash 上に構築されています)。serve() でワークフローエンドポイントを定義する場合、context.run でステップを実行する場合、関数を開いたままにせず数分から数日間スリープする場合、context.call で外部 API を呼び出す場合、外部イベントや Webhook を待機する場合、他のワークフローを呼び出す場合、リトライ、失敗コールバック、DLQ を構成する場合、同時実行数、レート、並列度を制御する場合、Workflow クライアントで実行をトリガー、キャンセル、検査する場合、AI エージェントやオーケストレーターを構築する場合、human-in-the-loop の承認、リアルタイム更新、QStash 開発サーバーによるローカル開発、ミドルウェアの追加、ワークフローの安全な移行を行う場合に使用します。また、ユーザーが耐久性のある実行、ステップ関数、サーガやオーケストレーションパターン、チェックポイント付きのバックグラウンドジョブ、あるいは Vercel、Next.js、Cloudflare Workers、その他のサーバーレスプラットフォーム上での長時間実行タスクを求める場合にも使用します。