Redis

Redis

🚀 Redis MCP 服务器

Redis MCP 服务器是一个提供 Redis 数据库操作访问的模型上下文协议(MCP)服务器,能有效助力对 Redis 数据库的操作。

smithery badge

🚀 快速开始

本项目旨在提供一个便于操作 Redis 数据库的 MCP 服务器,下面将为你详细介绍项目结构、可用工具、开发方式等内容。

✨ 主要特性

  • 支持多种 Redis 操作,如 HMSET、HGET、HGETALL 等。
  • 提供清晰的项目结构,便于扩展新的 Redis 工具。
  • 支持自定义工具的开发与注册。

📦 安装指南

文档未提供安装步骤,暂不展示。

💻 使用示例

文档未提供使用示例代码,暂不展示。

📚 详细文档

项目结构

src/
├── interfaces/
│   └── types.ts           # 共享的 TypeScript 接口和类型
├── tools/
│   ├── base_tool.ts       # Redis 工具的抽象基础类
│   ├── tool_registry.ts   # 管理所有可用Redis工具的注册表
│   ├── hmset_tool.ts      # HMSET Redis 操作
│   ├── hget_tool.ts       # HGET Redis 操作
│   ├── hgetall_tool.ts    # HGETALL Redis 操作
│   ├── scan_tool.ts       # SCAN Redis 操作
│   ├── set_tool.ts        # SET Redis 操作
│   ├── get_tool.ts        # GET Redis 操作
│   ├── del_tool.ts        # DEL Redis 操作
│   ├── zadd_tool.ts       # ZADD Redis 操作
│   ├── zrange_tool.ts     # ZRANGE Redis 操作
│   ├── zrangebyscore_tool.ts # ZRANGEBYSCORE Redis 操作
│   └── zrem_tool.ts       # ZREM Redis 操作
└── redis_server.ts        # 主服务器实现

可用工具

工具 类型 描述 输入方案
hmset 命令 用于设置哈希表中字段的值 { field: string, value: string }
hget 命令 通过键获取哈希表中的值 { key: string, field: string }
hgetall 命令 获取哈希表中所有字段及其值 { key: string }
scan 命令 迭代器用于逐步扫描集合的成员 { key: string, cursor: number }
set 命令 设置键的值 { key: string, value: string }
get 命令 获取键的值 { key: string }
del 命令 删除指定的键 { key: string }
zadd 命令 向有序集合中添加一个或多个成员及其分数值 { key: string, score: number, member: string }
zrange 命令 获取有序集合指定范围内的成员 { key: string, start: number, end: number }
zrangebyscore 命令 根据分数获取有序集合的成员 { key: string, min: number, max: number }
zrem 命令 删除指定的有序集合成员 { key: string, member: string }

开发

要添加新的 Redis 工具,可按以下步骤进行:

  1. src/tools/目录下创建一个新的工具类,继承自RedisTool
  2. 定义工具的接口在src/interfaces/types.ts
  3. 将工具注册到src/tools/tool_registry.ts

示例工具实现:

export class MyTool extends RedisTool {
name = 'mytool';
description = '描述工具的功能';
inputSchema = {
type: 'object',
properties: {
// 定义输入参数
},
required: ['requiredParam']
};

validateArgs(args: unknown): args is MyToolArgs {
// 实现参数验证
}

async execute(args: unknown, client: RedisClientType): Promise<ToolResponse> {
// 实现工具逻辑
}
}

🔧 技术细节

文档未提供详细技术实现细节,暂不展示。

📄 许可证

本项目采用 MIT 许可证,详情请见:https://opensource.org/license/mit

  • 0 关注
  • 0 收藏,20 浏览
  • system 提出于 2025-09-18 08:24

相似服务问题

相关AI产品