redis_set
Set a key-value pair in Redis. Automatically reads project .env for connection configuration. Perform basic write operations on Redis strings.
Instructions
设置键值。自动读取项目 .env 配置连接 Redis。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | ||
| value | Yes |
Implementation Reference
- src/index.ts:165-177 (registration)Tools are registered via ListToolsRequestSchema handler. 'redis_set' is listed as a tool with its name, description, and inputSchema (key: string, value: string, both required).
server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [ { name: "redis_set", description: "设置键值。自动读取项目 .env 配置连接 Redis。", inputSchema: { type: "object", properties: { key: { type: "string" }, value: { type: "string" } }, required: ["key", "value"] } }, { name: "redis_get", description: "获取键值。", inputSchema: { type: "object", properties: { key: { type: "string" } }, required: ["key"] } }, { name: "redis_del", description: "删除键。", inputSchema: { type: "object", properties: { key: { type: "string" } }, required: ["key"] } }, { name: "redis_exists", description: "检查键是否存在。", inputSchema: { type: "object", properties: { key: { type: "string" } }, required: ["key"] } }, { name: "redis_info", description: "获取连接信息。", inputSchema: { type: "object", properties: {} } }, { name: "redis_hset", description: "设置哈希字段。", inputSchema: { type: "object", properties: { key: { type: "string" }, field: { type: "string" }, value: { type: "string" } }, required: ["key", "field", "value"] } }, { name: "redis_hget", description: "获取哈希字段。", inputSchema: { type: "object", properties: { key: { type: "string" }, field: { type: "string" } }, required: ["key", "field"] } }, { name: "redis_hgetall", description: "获取哈希所有字段。", inputSchema: { type: "object", properties: { key: { type: "string" } }, required: ["key"] } }, { name: "redis_hdel", description: "删除哈希字段。", inputSchema: { type: "object", properties: { key: { type: "string" }, fields: { type: "array", items: { type: "string" } } }, required: ["key", "fields"] } } ] })); - src/index.ts:179-195 (handler)The CallToolRequestSchema handler dispatches to the redis_set handler (line 187) which calls client.set(args.key, args.value) and returns a success message.
server.setRequestHandler(CallToolRequestSchema, async (request) => { try { const projectDir = getProjectDir(); const client = await getClient(projectDir); const args = request.params.arguments as any; const ops: Record<string, () => Promise<string>> = { redis_info: async () => `Redis MCP 信息\n项目目录: ${projectDir}\n连接数: ${clientCache.size}`, redis_set: async () => { const r = await client.set(args.key, args.value); return `SET 成功。键: ${args.key}`; }, redis_get: async () => { const r = await client.get(args.key); return `GET 成功。键: ${args.key}, 值: ${r ?? 'null'}`; }, redis_del: async () => { const r = await client.del(args.key); return `DEL 成功。删除 ${r} 个键`; }, redis_exists: async () => { const r = await client.exists(args.key); return `EXISTS 成功。键 ${args.key} ${r > 0 ? '存在' : '不存在'}`; }, redis_hset: async () => { await client.hSet(args.key, args.field, args.value); return `HSET 成功。${args.key}.${args.field} = ${args.value}`; }, redis_hget: async () => { const r = await client.hGet(args.key, args.field); return `HGET 成功。${args.key}.${args.field} = ${r ?? 'null'}`; }, redis_hgetall: async () => { const r = await client.hGetAll(args.key); return `HGETALL 成功。${args.key}: ${JSON.stringify(r)}`; }, redis_hdel: async () => { const r = await client.hDel(args.key, args.fields); return `HDEL 成功。删除 ${r} 个字段`; } }; - src/index.ts:167-167 (schema)Input schema for redis_set: object with 'key' (string) and 'value' (string), both required.
{ name: "redis_set", description: "设置键值。自动读取项目 .env 配置连接 Redis。", inputSchema: { type: "object", properties: { key: { type: "string" }, value: { type: "string" } }, required: ["key", "value"] } },