Give Claude, Cursor, Codex, and any MCP client safe read-only access to Redis through wmcp.sh. Encrypted per-user credential vault, destructive-command blocklist, Cluster + Sentinel aware, audit log per call. wmcp.sh is not affiliated with Redis Ltd.
Connect at https://wmcp.sh/mcp/redis · setup in ~2 minutes · free tier covers 100 reads/day
The reference Redis MCP server originally lived in the modelcontextprotocol/servers repo and has been moved to the archived-servers repository. It still works as reference code, but it's stdio-only, single-tenant, and not maintained by the steering group.
Stdio is fine for local Cursor. It breaks the moment a Claude.ai connector or a remote agent needs to call your Redis — those clients only speak Streamable HTTP. Spinning up your own HTTPS wrapper means managing a process, TLS certs, and a way to keep secrets out of config.
wmcp.sh handles all of that: edge-deployed HTTPS endpoint at https://wmcp.sh/mcp/redis, encrypted vault for connection strings, command-level blocklist for FLUSHALL / CONFIG SET / DEBUG, and a per-call audit log you can export.
Eight read-focused tools, all parameter-validated before they hit your Redis.
redis.getGET a key; returns null if missing.redis.mgetMGET up to 100 keys in one call.redis.setSET key value with optional EX / PX / NX / XX (write opt-in).redis.scanSCAN cursor-based key iteration with MATCH + COUNT.redis.typeTYPE — string / list / hash / set / zset / stream / json.redis.ttlTTL in seconds, or -1 / -2 sentinels.redis.infoINFO sections: server / memory / replication / stats / keyspace.redis.cluster_slotsSlot ownership map for Cluster deployments.// npm i @modelcontextprotocol/sdk @anthropic-ai/sdk
import Anthropic from "@anthropic-ai/sdk";
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
const WMCP = "https://wmcp.sh/mcp/redis";
const token = process.env.WMCP_TOKEN!; // from /dashboard
const mcp = new Client({ name: "redis-agent", version: "1.0" });
await mcp.connect(new StreamableHTTPClientTransport(new URL(WMCP), {
requestInit: { headers: { Authorization: `Bearer ${token}` } }
}));
const { tools } = await mcp.listTools();
const anthropic = new Anthropic();
const msg = await anthropic.messages.create({
model: "claude-opus-4-5",
max_tokens: 1024,
tools: tools.map(t => ({ name: t.name, description: t.description, input_schema: t.inputSchema })),
messages: [{ role: "user", content: "What's in the session:user:* keyspace right now?" }],
});
// dispatch tool_use blocks back via mcp.callTool({name, arguments}) — standard MCP loop
| Capability | Self-hosted reference / community server | wmcp.sh-routed |
|---|---|---|
| Transport | stdio | Streamable HTTP + OAuth, remote-MCP friendly |
| Credential storage | Plaintext env var or config | Encrypted per-user vault, rotatable |
| Destructive-command blocklist | You build it | FLUSHALL / CONFIG SET / DEBUG blocked by default |
| Cluster + Sentinel | Library dependent | Auto-detect + route + failover |
| Audit log | None | Per-call: who, when, command, args, latency |
| Works with Claude.ai connectors | No | Yes (OAuth 2.1 DCR) |
| Setup time | 30+ min | ~2 min — paste URI |
redis.cluster_slots exposes the current map for agent planning.For production Redis MCP — read-only ACL on your DB, audit retention, SSO, and dashboards across multiple connections — we'll set it up end-to-end. Starter $499 one-time, Managed Retainer $999/mo, Enterprise $4,999+/mo for VPC peering and dedicated support.