
Redis MCP
github.com/redis/mcp-redis- Category
- Developer Tools
- Rank
- No. 403Tools index
- Pricing
- Free
- Type
- TOOL
- Use case
- Data, Retrieval & Knowledge
- Interfaces
- MCP
- Builder
- redis
- GitHub
- 628 stars
- Latest release
- 0.5.1
- Date
About
Redis's official MCP server: lets an agent read, write and search Redis data structures — strings, hashes, streams, vector indexes — in natural language.
What it does
It gives agents a structured control surface over an existing Redis database. Operations cover expiring values, collections, documents, messaging, stream consumers, key inspection, and semantic retrieval. The server discovers its tool modules at startup and exposes them through MCP.
Why it's ranked here
The breadth is convincing: one server spans routine storage, queue-like workflows, pub/sub subscriptions, stream consumer groups, JSON documents, vectors, and database inspection. PyPI, Docker, TLS, cluster mode, and Entra ID support make deployment practical. The stdio-only transport and inconsistent result shapes temper that strength.
What's good
The tool set maps closely to recognizable Redis workflows. Incremental key scanning avoids a blocking whole-keyspace command, while an explicit collect-all option warns about memory use. Stream reads cap blocking time. Pub/sub uses reusable subscription handles with bounded waits and message counts. TLS and several Entra ID flows address serious connection setups.
Tradeoffs
Only stdio transport is currently supported; streamable HTTP is described as future work. Many operations catch database failures and return error text instead of protocol-level failures, and some declared return types disagree with those error paths. The collect-all key scan can consume substantial memory. Documentation search also depends on an external HTTP service.
How to use it well
Use it when an MCP-capable agent needs controlled operational access to an existing Redis deployment, especially for session state, caches, queues, event streams, subscriptions, JSON documents, or vector retrieval. Prefer cursor-based scans on large databases and verified TLS for remote connections. It does not provide Redis itself or an HTTP-hosted MCP endpoint.
Technical notes+
The Python package is defined in pyproject.toml with a redis-mcp-server console entry point targeting src.main:cli; it requires Python 3.10 or newer, despite the README.md badge stating 3.14+. src/common/server.py creates a FastMCP instance and dynamically imports every module under src.tools, where decorators register operations. src/main.py accepts URI-based or individual connection settings, TLS, cluster mode, and Entra ID options. src/common/config.py also loads environment configuration and defaults documentation search to a Redis HTTP endpoint. Tool modules such as src/tools/misc.py, src/tools/stream.py, and src/tools/pub_sub.py add bounded scans, consumer-group controls, and stateful subscriptions. Several modules return human-readable error strings from caught RedisError exceptions, producing heterogeneous success and failure shapes.
Observed
- License
- MIT
- Primary language
- Python
- Packaging
- PyPI package, uvx execution, Docker image, and direct GitHub installation
- Interfaces
- MCP server over stdio with a command-line entry point
- Python support
- Package metadata requires Python 3.10 or newer
- Authentication and connectivity
- Redis URI, TLS, cluster mode, and Entra ID authentication are supported
- Tool registration
- Tool modules are discovered dynamically and registered with FastMCP
Read from README.md, pyproject.toml, src/main.py, src/version.py, src/tools/set.py, src/tools/hash.py, src/tools/json.py, src/tools/list.py, src/tools/misc.py, src/tools/stream.py, src/tools/string.py, src/common/server.py, src/common/config.py, src/tools/pub_sub.py.
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.