mcpField
U
Upstash MCP Server

Upstash MCP Server

ローカル
github.com/upstashデータベース615 日前に更新

Upstash MCP Server について

Upstash MCP Serverは、Redis、QStash、Workflow、Upstash BoxなどのUpstashリソースをエージェントから調査、管理、デバッグするためのサーバーです。READMEではローカルのstdio版は保守終了とされ、OAuth対応で対象製品の多いUpstashのリモートMCPサーバーが案内されています。

主な機能

  1. 01Redisリソースの確認とクエリ
  2. 02QStashのログとスケジュール確認
  3. 03Workflow実行の管理とデバッグ
  4. 04Upstash Boxでのファイル・コマンド操作
  5. 05読み取り専用キーで変更ツールを無効化

活用シーン

  1. 01Redisデータベースと使用状況の確認
  2. 02QStashのWebhook失敗の調査
  3. 03失敗したWorkflow実行の検索や再試行
  4. 04リモートBoxワークスペースでのテスト実行

MCP 対応

保守対象の選択肢はUpstashのリモートMCPサーバー`https://mcp.upstash.com/mcp`で、ローカルstdio版は保守終了です。MCPツールからUpstashリソースを操作でき、リモート接続はOAuth、ヘッドレス環境ではDeveloper APIキーに対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"upstash-2": {
"command": "npx",
"args": [
"-y",
"@upstash/mcp-server"
],
"env": {
"UPSTASH_EMAIL": "<UPSTASH_EMAIL>",
"UPSTASH_API_KEY": "<UPSTASH_API_KEY>",
"UPSTASH_BOX_API_KEY": "<UPSTASH_BOX_API_KEY>"
}
}
}
}
起動コマンドnpx -y @upstash/mcp-server
設定が必要な環境変数
UPSTASH_EMAILEmail address of your Upstash account.
UPSTASH_API_KEYシークレットUpstash Developer API key (create one at https://console.upstash.com/account/api).
UPSTASH_BOX_API_KEYシークレットUpstash Box API key for Box-related tools.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@upstash/mcp-server0.4.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Upstash MCP サーバー

重要

このローカル(stdio)サーバーはメンテナンスされていません。代わりに、https://mcp.upstash.com/mcp のリモート Upstash MCP サーバーを使用してください。

リモートサーバーでは OAuth でサインインするため、設定ファイルに貼り付ける API キーは不要です。また、Redis、QStash、Workflow、Vector、Search、Box、Blob など、より多くの Upstash サービスに対応しています。CI などのヘッドレス環境では、Developer API キーを Authorization: Basic base64(email:api_key) として指定することもできます。

claude mcp add --scope user --transport http upstash https://mcp.upstash.com/mcp

セットアップ:upstash.com/docs/agent-resources/overview。ツールと認証:upstash.com/docs/agent-resources/mcp。

MCP サーバーをインストール VS Code にインストール

MCP レジストリ Glama PulseMCP

Upstash MCP サーバーを使うと、エージェントが Redis、QStash、Workflow、Upstash Box にわたる Upstash リソースを直接管理し、デバッグできます。

ヒント

ほとんどのワークフローでは、MCP サーバーを実行するよりも、Upstash Skill をインストールして、エージェントに @upstash/cli を操作させる方法をおすすめします。

ヒント

AI エージェントで、利用または実験するための Redis DB が必要なだけなら、アカウントは不要です。redis_database_start_free ツールを呼び出すか、https://upstash.com/start-redis に直接 POST リクエストを送信してください。無料で登録も不要です。レスポンスは認証情報とクイックスタートを含む Markdown です。データベースは 72 時間後に有効期限が切れますが、Upstash アカウントで引き取れば、そのまま利用できます。

user_agent を渡して自身を識別してください(例:claude-code、cursor、codex、opencode)。ツールはこれを User-Agent ヘッダーとして転送します。エンドポイントに直接アクセスする場合は、同じヘッダーに加えて、新しい UUIDv4 を Idempotency-Key として送信してください。

curl -X POST -H "Idempotency-Key: <uuidv4>" -H "User-Agent: <your-agent-name>" https://upstash.com/start-redis

クイックスタート

Upstash アカウントのメールアドレスと API キーが必要です。Upstash Console → Account → API Keys で作成してください。

Upstash MCP サーバーは、MCP 互換クライアントであればどれでも動作します。お使いのクライアントが以下に記載されていない場合は、stdio MCP サーバーの追加方法をドキュメントで確認し、ベースコマンドを指定してください。

npx -y @upstash/mcp-server@latest --email YOUR_EMAIL --api-key YOUR_API_KEY

メモ

読み取り専用の API キーに対応しています。読み取り専用の API キーを使ってサーバーを起動すると、状態を変更するすべてのツール(データベースの作成、バックアップの削除、ワークフローの再試行など)が自動的に無効になります。エージェントは、Redis、QStash のログ、スケジュール、Workflow のログを含め、アカウントの読み取りやクエリは引き続き行えますが、変更を加えることはできません。Upstash Box のツールは読み取り専用のキーでは利用できません。

Claude Code

ターミナルで次のコマンドを実行してください。詳しくはClaude Code MCP のドキュメントをご覧ください。

claude mcp add --scope user upstash -- npx -y @upstash/mcp-server@latest --email YOUR_EMAIL --api-key YOUR_API_KEY
Cursor

Settings → Cursor Settings → MCP → Add new global MCP server の順に移動してください。

次の設定を Cursor の ~/.cursor/mcp.json ファイルに貼り付ける方法を推奨します。特定のプロジェクトにインストールする場合は、プロジェクトフォルダーに .cursor/mcp.json を作成する方法もあります。詳しくはCursor MCP のドキュメントをご覧ください。

Cursor 1.0 以降では、下のインストールボタンをクリックすると、ワンクリックですぐにインストールできます。確認する前に、YOUR_EMAIL と YOUR_API_KEY を実際の値に置き換えてください。

MCP サーバーをインストール

{
  "mcpServers": {
    "upstash": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/mcp-server@latest",
        "--email",
        "YOUR_EMAIL",
        "--api-key",
        "YOUR_API_KEY"
      ]
    }
  }
}
Windsurf

この設定を Windsurf の MCP 設定ファイル ~/.codeium/windsurf/mcp_config.json に追加してください。詳しくはWindsurf MCP のドキュメントをご覧ください。

{
  "mcpServers": {
    "upstash": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/mcp-server@latest",
        "--email",
        "YOUR_EMAIL",
        "--api-key",
        "YOUR_API_KEY"
      ]
    }
  }
}
OpenCode

この設定を OpenCode の設定ファイル(~/.config/opencode/opencode.json またはプロジェクトレベルの opencode.json)に追加してください。詳しくはOpenCode MCP のドキュメントをご覧ください。

{
  "mcp": {
    "upstash": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@upstash/mcp-server@latest",
        "--email",
        "YOUR_EMAIL",
        "--api-key",
        "YOUR_API_KEY"
      ],
      "enabled": true
    }
  }
}
OpenAI Codex

詳しくはOpenAI Codex MCP のドキュメントをご覧ください。

CLI を使用する

codex mcp add upstash -- npx -y @upstash/mcp-server@latest --email YOUR_EMAIL --api-key YOUR_API_KEY

手動で設定する

この設定を Codex の設定ファイル(~/.codex/config.toml または .codex/config.toml)に追加してください。

[mcp_servers.upstash]
command = "npx"
args = ["-y", "@upstash/mcp-server@latest", "--email", "YOUR_EMAIL", "--api-key", "YOUR_API_KEY"]
startup_timeout_sec = 20

メモ

起動タイムアウトエラーが表示される場合は、startup_timeout_sec を 40 に増やしてください。

VS Code

クリックしてインストールすると、VS Code でメールアドレスと API キーの入力を求められます(入力内容は VS Code のシークレットストレージに保存されます)。

VS Code にインストール VS Code Insiders にインストール

または、これを `.vscode/mcp.json`(またはユーザーの `mcp.servers` 設定)に追加してください。`promptString` を使った `inputs` を設定すると、API キーの入力を求められるのは一度だけになり、設定ファイルにそのまま保存されるのではなく、VS Code のシークレットストレージに保存されます。詳しくは [VS Code MCP docs](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) をご覧ください。
{
  "inputs": [
    { "type": "promptString", "id": "email", "description": "Upstash email" },
    { "type": "promptString", "id": "apiKey", "description": "Upstash API key", "password": true }
  ],
  "servers": {
    "upstash": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@upstash/mcp-server@latest",
        "--email",
        "${input:email}",
        "--api-key",
        "${input:apiKey}"
      ]
    }
  }
}
Google Antigravity

これを Antigravity の MCP 設定に追加してください。詳しくは Antigravity MCP docs をご覧ください。

{
  "mcpServers": {
    "upstash": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/mcp-server@latest",
        "--email",
        "YOUR_EMAIL",
        "--api-key",
        "YOUR_API_KEY"
      ]
    }
  }
}
Claude Desktop

Claude Desktop の開発者設定を開き、claude_desktop_config.json を編集してください。詳しくは Claude Desktop MCP docs をご覧ください。

{
  "mcpServers": {
    "upstash": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/mcp-server@latest",
        "--email",
        "YOUR_EMAIL",
        "--api-key",
        "YOUR_API_KEY"
      ]
    }
  }
}
Gemini CLI

Gemini CLI の設定ファイル ~/.gemini/settings.json を開き、Upstash を mcpServers に追加してください。詳しくは Gemini CLI Configuration をご覧ください。

{
  "mcpServers": {
    "upstash": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/mcp-server@latest",
        "--email",
        "YOUR_EMAIL",
        "--api-key",
        "YOUR_API_KEY"
      ]
    }
  }
}

プロンプトの例

Redis
  • 「実験用に、無料の一時的な Redis を起動して」
  • 「us-east-1 に新しい Redis データベースを作成して」
  • 「メモリ使用量の順にデータベースを一覧表示して」
  • 「Redis から取得してユーザースキーマを更新して」
  • 「この DB のバックアップを作成してから、内容を消去して」
  • 「過去 7 日間のスループットの急増を表示して」
QStash と Workflow
  • 「QStash のログを確認して、Webhook が繰り返し失敗する理由を調べて」
  • 「今日失敗した、ユーザー @admin のワークフロー実行を探して」
  • 「2 時間前に開始した、失敗したワークフロー実行を再試行して」
  • 「現在 DLQ にある項目を、エラーの種類ごとにまとめて」
  • 「エラーが発生しているスケジュールを一時停止して」
Upstash Box
  • 「Box を起動して、このリポジトリをクローンし、テストを実行して」
  • 「この Box のスナップショットを作成し、そこから 5 つのコピーを作って、それぞれに GitHub の issue を割り当てて」
  • 「Box の起動が繰り返し失敗するので、ログを確認して問題を教えて」

Box をワークスペースとして使用する

Box は、独自のファイルシステムを持つリモート Linux コンテナです。Box ツールを使うと、エージェント自体はお使いのマシンで実行したまま、その中で作業できます。ファイル操作には box_read / box_write / box_edit、コマンドの実行には box_exec、git と検索には box_git、実行中のサーバーには box_preview を使用します。box_upload は、MCP サーバーを実行しているマシンから Box にファイルをコピーします。これにより、コミットしていないローカルの作業も取り込めます。クローンで取得できるのは、プッシュ済みの内容だけです。通常の stdio 構成では、サーバーはお使いのマシン上で実行されるため、参照先はお使いのマシン上のパスになります。--transport http を指定してリモートで実行する場合は、お使いのマシンではなく、サーバーホストのファイルシステムが参照されます。

Box ツールには Box API キーが必要です。これは Upstash アカウントの API キーとは別の認証情報であり、互いに代用できません。この README の先頭にあるインストールコマンドには含まれていないため、--box-api-key も渡してください。渡さない場合、最初の Box 呼び出しは失敗します。

claude mcp add --scope user upstash -- npx -y @upstash/mcp-server@latest \
  --email YOUR_EMAIL --api-key YOUR_API_KEY --box-api-key YOUR_BOX_API_KEY

環境変数を使う方法とキーの取得先については、Upstash Box API キーを参照してください。

Upstash Box だけを使う場合は、アカウントの認証情報なしで --box-api-key だけを指定してサーバーを起動できます。このモードでは、Redis、QStash、Workflow の各ツールは利用できません。

ワークスペースは一度作成し、その ID を再利用します。

  • 「clone_repo https://github.com/me/my-app を使って、エージェントなしで Box を作成し、リポジトリが配置されるまで待ってください」
  • 「その Box でテストを実行し、失敗した箇所を修正してください」
  • 「Box で新しいブランチにコミットして、PR を作成してください」

コンテナの起動中でも作成処理は結果を返します。また、clone_repo によるクローンは Box の状態が idle になってから始まるため、最初の読み取りを行う前に少し待ってください。

**知っておくべき重要な点:**エージェント自身の Read、Write、Edit、Bash、Glob、Grep ツールは、引き続きお使いのマシン上で動作します。ローカルファイルを読み込んで、その変更を Box に書き込むこともできますが、どちらの側もその不一致を通知しません。サーバーは起動時にガイダンスを送信し、各 Box ツールはどのマシンにアクセスするかを表示します。ただし、境界を単に推奨するのではなく強制したい場合は、操作対象のプロジェクトに CLAUDE.md を追加してください。

# Workspace

The workspace for this project is an Upstash Box, not this directory.

- Use `box_read`, `box_write` and `box_edit` for files; `box_exec` for commands;
  `box_git` for git and for search (`git grep`, `git ls-files`).
- Do not use Read, Write, Edit, Bash, Glob or Grep for project files — they act
  on this machine. Searching locally finds the wrong tree, or nothing at all.
- The one exception is `box_upload`: it reads paths on this machine on purpose,
  to copy local files into the Box.
- The box id for this project is: <paste it here>

Upstash Box API キー(任意)

MCP から Upstash Box を操作するには、エージェントに Box API キーが必要です。デフォルトでは、エージェントが Box ツールを実行するたびに、チャットにキーを貼り付ける(または .env に保存しておく)必要があります。これを避けるには、MCP の設定にキーを組み込み、サーバー起動時に自動で取得できるようにします。

キーの渡し方は 2 通りあります。

CLI フラグ

{
  "mcpServers": {
    "upstash": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/mcp-server@latest",
        "--email",
        "YOUR_EMAIL",
        "--api-key",
        "YOUR_API_KEY",
        "--box-api-key",
        "YOUR_BOX_API_KEY"
      ]
    }
  }
}

環境変数

{
  "mcpServers": {
    "upstash": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/mcp-server@latest",
        "--email",
        "YOUR_EMAIL",
        "--api-key",
        "YOUR_API_KEY"
      ],
      "env": {
        "UPSTASH_BOX_API_KEY": "YOUR_BOX_API_KEY"
      }
    }
  }
}

デバッグ

サーバーの動作に問題がある場合や、ツールが繰り返し失敗する場合は、--debug フラグを使って詳細ログを有効にしてください。

{
  "mcpServers": {
    "upstash": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/mcp-server@latest",
        "--email",
        "YOUR_EMAIL",
        "--api-key",
        "YOUR_API_KEY",
        "--debug"
      ]
    }
  }
}

すると、すべての内部イベントが stderr に書き込まれ、MCP クライアントのログビューアーに表示されます。GitHub で問題を報告する際は、関連するログの抜粋を共有してください。

テレメトリ

サーバーはリクエストごとに、匿名化された診断情報を Upstash に送信します。内容は MCP サーバー SDK のバージョン、ランタイム(Node、Bun など)のバージョン、基本的なプラットフォーム情報(OS とアーキテクチャ)です。**アカウントデータ、ツールの引数、結果は収集されません。**オプトアウトするには、引数に --disable-telemetry を追加してください。

開発

プロジェクトをクローンして、次を実行します。

bun i
bun run watch

これにより、プロジェクトが継続的にビルドされ、変更が監視されます。

ビルド済みサーバーを単独で実行し(認証情報には .env を使用)、公開前にスモークテストするには、次を実行します。

bun i          # ensure deps are current
bun run build
# stdio (default) — waits for an MCP client to speak JSON-RPC on stdin:
bun dist/index.js
# or HTTP transport, to poke it manually on a port:
bun dist/index.js --transport http --port 3000

テスト用に、プロジェクトのルートに .env ファイルを作成します。

UPSTASH_EMAIL=<UPSTASH_EMAIL>
UPSTASH_API_KEY=<UPSTASH_API_KEY>
# Optional, for Box tools:
UPSTASH_BOX_API_KEY=<UPSTASH_BOX_API_KEY>

ローカル MCP サーバーを Claude Code にインストールするには、次を実行します。

claude mcp add --transport stdio upstash -- bun --watch dist/index.js --debug

MCP サーバーのログをリアルタイムで表示するには、次を実行します。

bun run logs

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。