Redis MCP サーバー

Redis データベース操作へのアクセスを提供するモデル コンテキスト プロトコル (MCP) サーバー。
プロジェクト構造
src/
├── interfaces/
│ └── types.ts # Shared TypeScript interfaces and types
├── tools/
│ ├── base_tool.ts # Abstract base class for Redis tools
│ ├── tool_registry.ts # Registry managing all available Redis tools
│ ├── hmset_tool.ts # HMSET Redis operation
│ ├── hget_tool.ts # HGET Redis operation
│ ├── hgetall_tool.ts # HGETALL Redis operation
│ ├── scan_tool.ts # SCAN Redis operation
│ ├── set_tool.ts # SET Redis operation
│ ├── get_tool.ts # GET Redis operation
│ ├── del_tool.ts # DEL Redis operation
│ ├── zadd_tool.ts # ZADD Redis operation
│ ├── zrange_tool.ts # ZRANGE Redis operation
│ ├── zrangebyscore_tool.ts # ZRANGEBYSCORE Redis operation
│ └── zrem_tool.ts # ZREM Redis operation
└── redis_server.ts # Main server implementation
Related MCP server: Redash MCP Server
利用可能なツール
道具 | タイプ | 説明 | 入力スキーマ |
hmset | ハッシュコマンド | 複数のハッシュフィールドに複数の値を設定する | key : 文字列(ハッシュキー) fields : オブジェクト(設定するフィールドと値のペア)
|
ゲット | ハッシュコマンド | ハッシュフィールドの値を取得する | key : 文字列(ハッシュキー) field : 文字列(取得するフィールド)
|
hgetall | ハッシュコマンド | ハッシュ内のすべてのフィールドと値を取得する | key : 文字列(ハッシュキー)
|
スキャン | キーコマンド | パターンに一致するRedisキーをスキャンする | pattern : 文字列(一致するパターン、例: "user:*") count : 数値、オプション(返されるキーの数)
|
セット | 文字列コマンド | オプションのNXおよびPXオプションを使用して文字列値を設定する | key : 文字列(設定するキー) value : 文字列(設定する値) nx : ブール値、オプション(存在しない場合にのみ設定) px : 数値、オプション(有効期限(ミリ秒))
|
得る | 文字列コマンド | 文字列値を取得する | key : 文字列(取得するキー)
|
デル | キーコマンド | キーを削除する | key : 文字列(削除するキー)
|
ザッド | ソートセットコマンド | ソートされたセットに1つ以上のメンバーを追加する | key : 文字列 (ソートされたセットキー) members : score : 数値、 value : 文字列を持つオブジェクトの配列
|
zrange | ソートセットコマンド | インデックスでソートされたセットからメンバーの範囲を返す | key : 文字列(ソートされたセットキー) start : 数値(開始インデックス) stop : 数値(終了インデックス) withScores : ブール値、オプション(出力にスコアを含める)
|
zrangebyscore | ソートセットコマンド | ソートされたセットから、最小値と最大値の間のスコアを持つメンバーを返します。 | key : 文字列(ソートされたセットキー) min : 数値(最小スコア) max : 数値(最大スコア) withScores : ブール値、オプション(出力にスコアを含める)
|
ズレム | ソートセットコマンド | ソートされたセットから1つ以上のメンバーを削除します | key : 文字列(ソートされたセットのキー) members : 文字列の配列(削除するメンバー)
|
悲しい | コマンドの設定 | セットに1人以上のメンバーを追加する | key : 文字列(キーを設定) members : 文字列の配列(セットに追加するメンバー)
|
スメンバー | コマンドの設定 | セット内のすべてのメンバーを取得する | key : 文字列(キーの設定)
|
使用法
MCP クライアント (例: Claude Desktop、Cline) で構成します。
{
"mcpServers": {
"redis": {
"command": "npx",
"args": ["redis-mcp", "--redis-host", "localhost", "--redis-port", "6379"],
"disabled": false
}
}
}
コマンドライン引数
Smithery経由でインストール
Smithery経由で Claude Desktop 用の Redis サーバーを自動的にインストールするには:
npx -y @smithery/cli install redis-mcp --client claude
発達
新しい Redis ツールを追加するには:
src/tools/にRedisToolを拡張した新しいツールクラスを作成します。
src/interfaces/types.tsでツールのインターフェースを定義します。
src/tools/tool_registry.tsにツールを登録します。
ツールの実装例:
export class MyTool extends RedisTool {
name = 'mytool';
description = 'Description of what the tool does';
inputSchema = {
type: 'object',
properties: {
// Define input parameters
},
required: ['requiredParam']
};
validateArgs(args: unknown): args is MyToolArgs {
// Implement argument validation
}
async execute(args: unknown, client: RedisClientType): Promise<ToolResponse> {
// Implement tool logic
}
}
ライセンス
MIT: https://opensource.org/license/mit