Back to MCP Servers

Redis MCP Server

Official Redis MCP server providing natural language access to all Redis data structures, vector search, JSON, streams, and EntraID authentication.

Developer Tools by Redis Basic Auth, OAuth2 (EntraID) active
Overview

The Redis MCP Server is the official Model Context Protocol server maintained by Redis. It provides a natural language interface for agentic applications to manage and search data in Redis, exposing the full breadth of Redis data structures (strings, hashes, lists, sets, sorted sets, streams) along with the Redis Stack capabilities for JSON documents and vector search.

The server covers operational primitives like caching, session storage, pub/sub messaging, leaderboards, and queues, plus advanced workflows such as semantic vector search over Redis indexes and event sourcing via streams and consumer groups. Server management tools expose database statistics and configuration. The integrated documentation search lets agents look up Redis best practices in natural language.

Authentication is enterprise-ready: standard username/password and ACLs, SSL/TLS with custom CA paths, Redis Cluster mode, and full Microsoft EntraID integration (Service Principal, Managed Identity, and Default Azure Credential flows) with automatic token renewal, targeting Azure Managed Redis deployments. The server currently runs over the stdio transport, with streamable HTTP support planned.

Tools

Tool Description
String tools Set and get strings with optional expiration for configuration, sessions, and caching.
Hash tools Store and retrieve field-value pairs including vector embeddings and structured objects with attributes.
List tools Append and pop entries for queues, message brokers, and activity tracking.
Set tools Add, remove, and list members; perform set intersections and unions.
Sorted set tools Score-based ordered collections for leaderboards, priority queues, and time-series analytics.
Pub/Sub tools Publish and subscribe to channels for notifications and real-time updates.
Stream tools Add, read, and delete stream entries; create and manage consumer groups; acknowledge processed entries for event sourcing.
JSON tools Store, retrieve, and manipulate JSON documents in Redis with path-based access for nested data.
Query engine tools Manage vector indexes and perform semantic vector searches over Redis data.
Server management tools Retrieve database information, configuration, and runtime statistics.
Documentation search Search the Redis documentation and best practices using natural language.
Setup Guide

Prerequisites

  • Python 3.14+
  • A Redis instance (local, self-hosted, Redis Cloud, or Azure Managed Redis)
  • uvx (recommended) or pip for installation
  • Optional: Docker for containerized deployment

Installation

Install from PyPI:

pip install redis-mcp-server
uv run redis-mcp-server --url redis://localhost:6379/0

Or use the official Docker image mcp/redis from Docker Hub.

Claude Desktop config (basic)

{
  "mcpServers": {
    "redis-mcp-server": {
      "type": "stdio",
      "command": "/path/to/uvx",
      "args": [
        "--from", "redis-mcp-server@latest",
        "redis-mcp-server",
        "--url", "redis://localhost:6379/0"
      ]
    }
  }
}

Claude Desktop config (Azure EntraID)

{
  "mcpServers": {
    "redis-mcp-server": {
      "type": "stdio",
      "command": "/path/to/uvx",
      "args": [
        "--from", "redis-mcp-server@latest",
        "redis-mcp-server",
        "--url", "redis://your-azure-redis.redis.cache.windows.net:6379"
      ],
      "env": {
        "REDIS_ENTRAID_AUTH_FLOW": "default_credential",
        "REDIS_ENTRAID_SCOPES": "https://redis.azure.com/.default"
      }
    }
  }
}

Key environment variables

  • REDIS_HOST (default 127.0.0.1)
  • REDIS_PORT (default 6379)
  • REDIS_DB (default 0)
  • REDIS_USERNAME (default default)
  • REDIS_PWD (password)
  • REDIS_SSL (enable TLS)
  • REDIS_SSL_CA_PATH (custom CA cert)
  • REDIS_CLUSTER_MODE (enable cluster client)
  • REDIS_ENTRAID_AUTH_FLOW (default_credential, service_principal, managed_identity)
  • REDIS_ENTRAID_CLIENT_ID, REDIS_ENTRAID_CLIENT_SECRET, REDIS_ENTRAID_TENANT_ID (Service Principal)
  • MCP_REDIS_LOG_LEVEL (default WARNING)

Transport

The server currently supports the stdio transport. Streamable HTTP support is planned per the official README.

Use Cases
  • Inspect and modify cached values, sessions, or feature flags in a production Redis instance through natural language queries.
  • Build and query vector indexes for semantic search over embeddings stored as Redis hashes, then iterate on retrieval-augmented generation pipelines from the agent.
  • Manage Redis Streams: create consumer groups, replay entries, and acknowledge messages while debugging event-sourced systems.
  • Read and update JSON documents stored in Redis Stack using path-based access without writing custom Redis commands.
  • Operate Azure Managed Redis securely from an AI agent using EntraID Service Principal or Managed Identity authentication with auto token renewal.
Example Prompts
  • "Set the cached config value feature:beta to true with a 1 hour TTL."
  • "Show me the top 10 entries from the leaderboard:global sorted set."
  • "Create a vector index on the embeddings hash and run a KNN search for the closest 5 vectors to this query embedding."
  • "Read the last 20 entries from stream orders and list pending messages for consumer group processors."
  • "Update the JSON document at key user:42 setting $.preferences.theme to dark."
Pros
  • Officially maintained by Redis on the redis/mcp-redis repository, kept in sync with Redis features.
  • Broad coverage of every core Redis data structure plus JSON and vector search from Redis Stack.
  • Enterprise authentication options including SSL/TLS, ACLs, and full Azure EntraID flows with automatic token renewal.
  • Built-in documentation search lets agents reference Redis best practices without leaving the session.
Limitations
  • Only the stdio transport is currently supported; streamable HTTP is on the roadmap but not yet available.
  • Requires Python 3.14+, which is a very recent runtime that may not be present in all environments.
  • Tooling is grouped by Redis data type rather than exposing every individual Redis command, so niche commands may not have a dedicated tool.
Alternatives