JUHE API Marketplace
farhankaz avatar
MCP Server

Redis MCP Server

Enables users to perform Redis database operations using the Model Context Protocol (MCP) tools, allowing for efficient data management through commands like setting, getting, and scanning hash fields.

6
GitHub Stars
11/22/2025
Last Updated
MCP Server Configuration
1{
2 "name": "redis",
3 "command": "npx",
4 "args": [
5 "redis-mcp",
6 "--redis-host",
7 "localhost",
8 "--redis-port",
9 "6379"
10 ],
11 "disabled": false
12}
JSON12 lines
  1. Home
  2. MCP Servers
  3. redis-mcp

README Documentation

Redis MCP Server

smithery badge

A Model Context Protocol (MCP) server that provides access to Redis database operations.

Redis Server MCP server

Project Structure

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

Available Tools

ToolTypeDescriptionInput Schema
hmsetHash CommandSet multiple hash fields to multiple valueskey: string (Hash key)
fields: object (Field-value pairs to set)
hgetHash CommandGet the value of a hash fieldkey: string (Hash key)
field: string (Field to get)
hgetallHash CommandGet all fields and values in a hashkey: string (Hash key)
scanKey CommandScan Redis keys matching a patternpattern: string (Pattern to match, e.g., "user:*")
count: number, optional (Number of keys to return)
setString CommandSet string value with optional NX and PX optionskey: string (Key to set)
value: string (Value to set)
nx: boolean, optional (Only set if not exists)
px: number, optional (Expiry in milliseconds)
getString CommandGet string valuekey: string (Key to get)
delKey CommandDelete a keykey: string (Key to delete)
zaddSorted Set CommandAdd one or more members to a sorted setkey: string (Sorted set key)
members: array of objects with score: number and value: string
zrangeSorted Set CommandReturn a range of members from a sorted set by indexkey: string (Sorted set key)
start: number (Start index)
stop: number (Stop index)
withScores: boolean, optional (Include scores in output)
zrangebyscoreSorted Set CommandReturn members from a sorted set with scores between min and maxkey: string (Sorted set key)
min: number (Minimum score)
max: number (Maximum score)
withScores: boolean, optional (Include scores in output)
zremSorted Set CommandRemove one or more members from a sorted setkey: string (Sorted set key)
members: array of strings (Members to remove)
saddSet CommandAdd one or more members to a setkey: string (Set key)
members: array of strings (Members to add to the set)
smembersSet CommandGet all members in a setkey: string (Set key)

Usage

Configure in your MCP client (e.g., Claude Desktop, Cline):

{
  "mcpServers": {
    "redis": {
      "command": "npx",
      "args": ["redis-mcp", "--redis-host", "localhost", "--redis-port", "6379"],
      "disabled": false
    }
  }
}

Command Line Arguments

  • --redis-host: Redis server host (default: localhost)
  • --redis-port: Redis server port (default: 6379)

Installing via Smithery

To install Redis Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install redis-mcp --client claude

Development

To add a new Redis tool:

  1. Create a new tool class in src/tools/ extending RedisTool
  2. Define the tool's interface in src/interfaces/types.ts
  3. Register the tool in src/tools/tool_registry.ts

Example tool implementation:

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
  }
}

Running evals

The evals package loads an mcp client that then runs the index.ts file, so there is no need to rebuild between tests. You can load environment variables by prefixing the npx command. Full documentation can be found here.

OPENAI_API_KEY=your-key  npx mcp-eval src/evals/evals.ts src/tools/zrangebyscore_tool.ts

License

MIT: https://opensource.org/license/mit

Quick Install

Quick Actions

View on GitHubView All Servers

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source

Boost your projects with Wisdom Gate LLM API

Supporting GPT-5, Claude-4, DeepSeek v3, Gemini and more.

Enjoy a free trial and save 20%+ compared to official pricing.

Learn More
JUHE API Marketplace

Accelerate development, innovate faster, and transform your business with our comprehensive API ecosystem.

JUHE API VS

  • vs. RapidAPI
  • vs. API Layer
  • API Platforms 2025
  • API Marketplaces 2025
  • Best Alternatives to RapidAPI

For Developers

  • Console
  • Collections
  • Documentation
  • MCP Servers
  • Free APIs
  • Temp Mail Demo

Product

  • Browse APIs
  • Suggest an API
  • Wisdom Gate LLM
  • Global SMS Messaging
  • Temp Mail API

Company

  • What's New
  • Welcome
  • About Us
  • Contact Support
  • Terms of Service
  • Privacy Policy
Featured on Startup FameFeatured on Twelve ToolsFazier badgeJuheAPI Marketplace - Connect smarter, beyond APIs | Product Huntai tools code.marketDang.ai
Copyright © 2025 - All rights reserved