Mcp Server Redis について
Mcp Server Redis は、Redis サーバーおよび AWS Memory DB とやり取りする MCP サーバーです。キャッシュなど、インメモリかつキーバリュー型のストレージが適した用途を想定しています。MCP クライアントから Redis の値を操作できます。
主な機能
- 01接続状態とサーバー情報のリソース
- 02パターンによるキー一覧(redis://keys/{pattern})
- 03文字列、リスト、ハッシュ、セット操作のツール
- 04Pub/Sub によるメッセージ発行ツール
- 05接続断時の自動再接続
活用シーン
- 01MCP クライアントからのキャッシュデータの読み書き
- 02AI エージェントによるリスト、ハッシュ、セットの管理
- 03Pub/Sub を使った Redis チャンネルへのメッセージ発行
MCP 対応
本プロジェクトは MCP サーバーであり、リソース(接続状態、サーバー情報、キー一覧)とツール(get_value、set_value、list_push、hash_set、publish_message など)を MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
使用方法
構成は次のとおりです。
mcp-server-redis/
├── src/
│ ├── __init__.py
│ ├── main.py # Main entry point
│ ├── config.py # Configuration
│ ├── connection.py # Redis connection management
│ ├── resources/ # Resource implementations
│ │ ├── __init__.py
│ │ ├── status.py # Connection status resources
│ │ └── keys.py # Key-related resources
│ └── tools/ # Tool implementations
│ ├── __init__.py
│ ├── basic.py # Basic Redis operations
│ ├── lists.py # List operations
│ ├── hashes.py # Hash operations
│ ├── sets.py # Set operations
│ └── pubsub.py # Pub/Sub operations
├── tests/ # Test directory
│ └── __init__.py
├── README.md
└── pyproject.toml
このサーバーを使用するには、次の手順が必要です。
必要な依存関係をインストールします。
[未インストールの場合] https://docs.astral.sh/uv/
uv venv
source .venv/bin/activate
uv sync
.env.example ファイルを参照し、適切な変数を追加して Redis 接続を設定します。
サーバーを起動します。
python src/server.py
このサーバーの機能
リソース:
- redis://status - 現在の接続状態
- redis://info - Redis サーバーの情報
- redis://keys/{pattern} - パターンに一致するキーの一覧
ツール:
- 基本操作:
- get_value - 値を取得します
- set_value - 有効期限を任意で設定して値を保存します
- delete_key - キーを削除します
- increment - 数値を増加させます
- リスト操作:
- list_push - リストに値を追加します
- list_range - リストの値の範囲を取得します
- ハッシュ操作:
- hash_set - ハッシュフィールドを設定します
- hash_get - ハッシュフィールドを取得します
- セット操作:
- set_add - セットに追加します
- set_members - セットのメンバーを取得します
- Pub/Sub:
- publish_message - メッセージを公開します
各ツールにはエラー処理が含まれており、意味のあるレスポンスを返します。接続が失われた場合、サーバーは Redis に自動的に再接続します。
MCP Inspector でテストできます。
mcp dev src/server.py
または、Claude Desktop にインストールできます。
mcp install src/server.py
例
User: What's the current Redis connection status?
LLM: Let me check the Redis connection status for you.
[Reading resource redis://status]
The Redis server is currently connected and running on localhost:6379, database 0.
User: Can you store my name "Alice" in Redis?
LLM: I'll help you store your name in Redis using the set_value tool.
[Calling set_value with key="name" value="Alice"]
Successfully set key 'name'
I've stored your name "Alice" in Redis under the key "name". Would you like me to verify the value was stored correctly by retrieving it?
User: Yes please verify it
LLM: I'll retrieve the value using the get_value tool.
[Calling get_value with key="name"]
Alice
Yes, I can confirm that your name "Alice" was successfully stored in Redis and can be retrieved correctly. The value matches exactly what we stored.
この実装は、MCP を介した Redis 統合の確かな基盤となります。特定のユースケースに合わせて、必要に応じて Redis コマンドを追加し、さらに拡張できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
