Servidor MCP de Redis
Un servidor de Protocolo de contexto de modelo (MCP) que proporciona acceso a las operaciones de base de datos de Redis.
Estructura del proyecto
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 implementationRelated MCP server: Redash MCP Server
Herramientas disponibles
Herramienta | Tipo | Descripción | Esquema de entrada |
conjunto de hmset | Comando hash | Establecer varios campos hash con varios valores |
|
hget | Comando hash | Obtener el valor de un campo hash |
|
hgetall | Comando hash | Obtener todos los campos y valores en un hash |
|
escanear | Comando de teclado | Escanear claves de Redis que coincidan con un patrón |
|
colocar | Comando de cadena | Establezca el valor de la cadena con las opciones NX y PX opcionales |
|
conseguir | Comando de cadena | Obtener el valor de la cadena |
|
del | Comando de teclado | Eliminar una clave |
|
Zadd | Comando de conjunto ordenado | Agregar uno o más miembros a un conjunto ordenado |
|
rango z | Comando de conjunto ordenado | Devuelve un rango de miembros de un conjunto ordenado por índice |
|
Puntuación de zrangeby | Comando de conjunto ordenado | Devuelve miembros de un conjunto ordenado con puntuaciones entre mínima y máxima |
|
zrem | Comando de conjunto ordenado | Eliminar uno o más miembros de un conjunto ordenado |
|
triste | Comando de configuración | Agregar uno o más miembros a un conjunto |
|
miembros | Comando de configuración | Obtener todos los miembros en un conjunto |
|
Uso
Configure en su cliente MCP (por ejemplo, Claude Desktop, Cline):
{
"mcpServers": {
"redis": {
"command": "npx",
"args": ["redis-mcp", "--redis-host", "localhost", "--redis-port", "6379"],
"disabled": false
}
}
}Argumentos de la línea de comandos
--redis-host: host del servidor Redis (predeterminado: localhost)--redis-port: puerto del servidor Redis (predeterminado: 6379)
Instalación mediante herrería
Para instalar Redis Server para Claude Desktop automáticamente a través de Smithery :
npx -y @smithery/cli install redis-mcp --client claudeDesarrollo
Para agregar una nueva herramienta Redis:
Cree una nueva clase de herramienta en
src/tools/que extiendaRedisToolDefine la interfaz de la herramienta en
src/interfaces/types.tsRegistre la herramienta en
src/tools/tool_registry.ts
Ejemplo de implementación de la herramienta:
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
}
}