Redis MCPサーバーの使い方 — キー操作からPub/Subまで
Redis公式のMCPサーバーをClaude DesktopとClaude Codeに接続し、文字列やハッシュの操作からPub/Sub、ACLでのアクセス制限までを自然言語で行う手順です。
Redis公式のMCPサーバー(redis-mcp-server)を使うと、文字列・ハッシュ・リスト・セット・ソート済みセット・Pub/Sub・ストリーム・JSONドキュメントの操作を、ClaudeとのチャットからそのままRedisに反映できます。GitHubスター数617、MITライセンスで、Redis社が自社アカウントから開発と保守を続けています。直近のコミットは2026年9月上旬で、継続的に更新が入っているリポジトリです。この記事ではClaude DesktopとClaude Codeそれぞれへの接続手順、接続文字列とACLでのアクセス制限、インストール方法の使い分けまでをまとめます。
Redis MCPサーバーで何ができるか
このMCPサーバーは、Redisのデータ型ごとに操作ツールを持っています。stringは有効期限付きの値の設定・取得、hashはフィールド単位のオブジェクト管理(ベクトル埋め込みの格納も可能)、listはキューや最新アクションの記録、setは重複のない値の集合、sorted setはランキングや優先度付きキューに使えます。
これに加えてpub/subツールがメッセージの発行・購読を、streamsツールがコンシューマーグループの作成・確認応答までを扱います。JSON形式のドキュメントを直接読み書きするJSONツールもあり、ネストしたデータ構造をパスで指定して更新できます。設定管理や商品情報のようにフィールド数が多いデータを、階層構造のまま保存したいときに向いています。
query engineツールはベクトルインデックスの作成・管理と検索を担当します。hashツールで格納したベクトル埋め込みと組み合わせれば、類似検索やRAG(検索拡張生成)用途のインデックスを、Claudeとの対話だけで組み立てられます。server managementツールはデータベースの基本情報取得に使います。「Redisの公式ドキュメントを自然言語で検索する」docsツールも用意されていますが、これはMCP_DOCS_SEARCH_URLという環境変数で外部のHTTP APIを指定して初めて動きます。未設定のままだと検索が失敗するので、使う予定がなければ気にしなくてよい機能です。
対応する接続方式はstdioのみです。READMEにはstreamable-httpトランスポートを将来追加すると書かれていますが、まだ実装されていません。つまりこのサーバーはローカルプロセスとして起動する前提で、リモートのHTTPエンドポイントとして公開する用途にはまだ使えません。
用途としては、AIアシスタントがRedisのデータを取得・保存する実装、チャットボットのセッション管理とキュー処理、リアルタイムのデータ検索・分析、Redis Streamsを使ったイベント処理の4つが想定されています。共通しているのは、これまでコードで書いていたRedisコマンドの呼び出しを、Claudeとの対話の中で組み立てられる点です。
Entra ID認証を使う場合
Azure Managed Redisを使っているなら、パスワード認証ではなくEntra ID(旧Azure Active Directory)でMCPサーバーを認証できます。Azure Managed Redis以外の環境では意味を持たない設定なので、対象外なら次の節へ進んで構いません。認証フローは3種類あり、環境ごとに使い分けます。
| フロー | 用途 | 必須の環境変数 |
|---|---|---|
| Service Principal | 用途アプリケーション単位の認証 | 必須の環境変数REDIS_ENTRAID_CLIENT_ID / REDIS_ENTRAID_CLIENT_SECRET / REDIS_ENTRAID_TENANT_ID |
| Managed Identity | 用途Azure上で動くアプリからの認証 | 必須の環境変数REDIS_ENTRAID_IDENTITY_TYPE(システム割当 / ユーザー割当) |
| Default Azure Credential | 用途ローカル開発(Azure CLIログイン済み) | 必須の環境変数REDIS_ENTRAID_SCOPES |
いずれもREDIS_ENTRAID_AUTH_FLOWにフロー名を指定して有効化します。トークンの更新はバックグラウンドで自動的に行われ、Entra IDが未設定の環境では通常のパスワード認証にフォールバックします。ローカル開発なら、Azure CLIでaz login済みの状態でREDIS_ENTRAID_AUTH_FLOW=default_credentialを指定するのが最短です。
Claude Desktopへの接続手順
推奨インストール方法はPyPIパッケージをuvxで実行する形です。uvxはパッケージを一時環境にダウンロードして実行するツールで、事前のpipインストールが要りません。claude_desktop_config.jsonに以下を追加します。
{
"mcpServers": {
"redis-mcp-server": {
"type": "stdio",
"command": "/Users/you/.local/bin/uvx",
"args": [
"--from", "redis-mcp-server@latest",
"redis-mcp-server",
"--url", "redis://localhost:6379/0"
]
}
}
}ここで気をつけたいのがcommandの値です。README自体もuvxをフルパスで書いています。Claude Desktopはターミナルのシェル設定を継承しないため、uvxとだけ書くと「コマンドが見つからない」エラーになりがちです。which uvxでフルパスを確認してから設定に貼り付けます。
設定後にClaude Desktopを再起動すると、開発者向けのMCPサーバー一覧にredis-mcp-serverが表示されます。動かない場合はログを直接確認できます。
tail -f ~/Library/Logs/Claude/mcp-server-redis.logClaude Codeへの追加コマンド
Claude Codeでは設定ファイルを手で書かずに、claude mcp addコマンドで追加できます。ローカルプロセスとして起動するstdioサーバーは、Claude Code独自のオプションとサーバーへ渡す引数を--で区切ります。
claude mcp add --transport stdio redis \
-- uvx --from redis-mcp-server@latest redis-mcp-server \
--url redis://localhost:6379/0環境変数で接続情報を渡したい場合は、--envをサーバー名の前に置きます(--envの直後にサーバー名を書くと、CLIがそれを別のキー・バリューと誤認して弾かれるため、間に他のオプションを挟みます)。
claude mcp add --env REDIS_PWD=mypassword --transport stdio redis \
-- uvx --from redis-mcp-server@latest redis-mcp-server --host localhostClaude Code自体のMCP設定の構文やスコープ(ローカル・プロジェクト・ユーザー)はClaude Code MCP設定ガイドで扱っています。MCPプロトコル自体の仕組みから確認したい場合はMCPとはが背景を説明しています。
接続文字列とACLでアクセス範囲を絞る
接続先は--url引数か個別の--host --port --password引数で指定します。URLの形式はredis://user:secret@host:port/dbで、暗号化接続が必要な場合はrediss://スキームを使います。
# 平文接続(ローカル開発向け)
redis://localhost:6379/0
# 暗号化接続(Redis Cloud等)
rediss://user:secret@host:6379/0?ssl_cert_reqs=required&ssl_ca_certs=/path/to/certClaudeに本番のRedisを触らせる場合、書き込み権限をどこまで渡すかは事前に決めておく価値があります。RedisのACL機能で読み取り専用ユーザーを作り、そのユーザーの認証情報をMCPサーバーに渡せば、Claude側からの操作を読み取りに限定できます。
# Redis CLI上でACLを設定する例
127.0.0.1:6379> ACL SETUSER readonlyuser on >mypassword ~* +@read -@write作成したユーザーの認証情報を--username --password(またはURLのuser:secret部分)に渡せば、MCPサーバー経由の操作もこのACLの制約を受けます。設定の優先順位はコマンドライン引数が最も強く、次に環境変数、最後にデフォルト値という順序です。
Redis Cluster構成のデータベースに接続する場合は、--cluster-mode(または環境変数REDIS_CLUSTER_MODE)を有効にします。これを付けずにクラスター構成へ接続すると、キーのスロット分散を認識できずに一部の操作が失敗することがあります。単一ノードのRedisと、クラスター構成のRedis Cloudデータベースとで、接続の作法が異なる点は覚えておく価値があります。
インストール方法の使い分け
インストール方法は4通りあり、用途によって向き不向きが分かれます。
| 方法 | 向いている場面 | 注意点 |
|---|---|---|
PyPI(uvx) | 向いている場面個人利用・すぐ試したい場合 | 注意点redis-mcp-server@latestは起動のたびに最新版を確認する |
| GitHubからのタグ指定 | 向いている場面バージョンを固定したい場合 | 注意点mainブランチは開発中で破壊的変更が入りうる、タグ指定を推奨 |
| ソースクローン | 向いている場面サーバー自体を改造・デバッグする場合 | 注意点uv syncで依存関係を入れ、src/main.pyを直接実行 |
| Docker | 向いている場面コンテナ環境に統合する場合 | 注意点公式イメージmcp/redisをDocker Hubで配布 |
タグを指定したGitHubインストールは、mainブランチを直接使うより安定します。PyPI経由でもredis-mcp-server@latestの代わりにバージョン番号を直接指定すれば、uvxのまま特定バージョンに固定できます。0.5.1は2026年8月5日にリリースされたバージョンです。
uvx --from git+https://github.com/redis/mcp-redis.git@0.5.1 \
redis-mcp-server --url redis://localhost:6379/0Dockerで動かす場合はイメージをビルドするか、公式イメージをそのまま指定します。
{
"mcpServers": {
"redis": {
"command": "docker",
"args": ["run", "--rm", "--name", "redis-mcp-server", "-i",
"-e", "REDIS_HOST=<redis_hostname>",
"-e", "REDIS_PORT=<redis_port>",
"-e", "REDIS_PWD=<redis_password>",
"mcp/redis"]
}
}
}よくあるつまずき
接続先を指定し忘れる。--urlも--hostも渡さないと、デフォルト値の127.0.0.1:6379へ静かに接続を試みます。エラーにならず「反応がない」ように見えるので、まず接続先を明示したかを確認します。
ログが何も出ない。既定のログレベルはWARNING以上のみで、通常の起動メッセージは表示されません。動作確認中はMCP_REDIS_LOG_LEVEL=INFO(さらに詳しく見たいならDEBUG)を環境変数に足します。MCPクライアント側が既にログハンドラーを持っている場合、サーバーは独自のハンドラーを追加せず、設定したレベルが握りつぶされないようにしきい値だけを緩めます。ハンドラーが無い環境では標準エラー出力に書き出す仕組みです。
EntraID認証の変数を無関係な環境で設定してしまう。REDIS_ENTRAID_*系の変数はAzure Managed Redis専用です。設定してもEntraID認証が無効なら通常のRedis認証にフォールバックしますが、Azure以外のRedisでは意味を持たないので、Azure Managed Redisを使っていないなら触らなくてよい設定です。
動作確認にMCP Inspectorを使わない。設定ファイルを直接編集して動かないと原因の切り分けに時間がかかります。MCP Inspectorの使い方にあるように、npx @modelcontextprotocol/inspector uv run src/main.pyでツール単位の動作を先に確認すると早いです。
まとめ
Redis MCPサーバーは、8種類のデータ型操作とベクトル検索・サーバー管理までを1つのMCPサーバーでカバーします。個人利用ならPyPI経由のuvxが最短で、本番運用が絡むならACLでの権限制限とバージョン固定を先に決めておく構成です。Claude DesktopとClaude Codeのどちらでも設定はJSONまたはclaude mcp addコマンド1つで完結します。
最初の一歩としては、ローカルのRedisをredis://localhost:6379/0でつないでみて、stringツールで値を出し入れするところから試すのが分かりやすいです。動きが確認できたら、ACLで読み取り専用ユーザーを作り、本番相当のデータベースへ接続を切り替えます。Redis Cluster構成のデータベースへつなぐ場合は--cluster-modeを忘れずに付けます。Redisをアプリケーションの永続化先として使う場合の実装はAgent SDK SessionStoreでセッションをS3やRedisに永続化するも参考になります。