SERVERLESS REDIS / Upstash
Upstash Redis MCP
Minimal two-tool Upstash server that runs Redis commands over REST or TCP and searches Redis docs, holding multiple named databases.
“MCP server for Upstash Redis — run Redis commands and look up Upstash Redis Search docs over HTTP or TCP”
01 / THE REASONING
Why this made the selection.
- The README documents exactly two tools, redis_run_commands and redis_search_docs, a smaller surface than the account-management tools of the separate Upstash MCP server record.
- Configuration is environment variables and CLI flags only: one server can hold several named databases over REST or TCP, and an optional --readonly flag rejects write commands on both paths.
02 / THE REVIEW RECORD
What we actually inspected.
Source review has boundaries.
A clear record is more useful than a “safe” badge.
Material inspected
- README.md at 9bbfcfa03533cd97a2e9723a9f3b753ad3932b14: two tools, REST/TCP transports, multi-database configuration, flags, telemetry and per-client setup.
- package.json at the same commit: @upstash/redis-mcp 0.1.0, MIT licence and redis-mcp binary.
- src/index.ts and src/redis/readonly.ts at the same commit: transports, HTTP headers and the read-only allowlist.
- LICENSE at the same commit: MIT License, Copyright (c) 2026 Upstash, Inc.
Our findings
- The documented client configuration is stdio via npx with credentials in environment variables; src/index.ts also offers --transport http on port 3000 with a Streamable HTTP endpoint at /mcp.
- One server instance can front multiple named databases, so database naming is part of the access boundary.
- HTTP/REST requests carry Upstash-Telemetry headers unless --disable-telemetry or UPSTASH_DISABLE_TELEMETRY=true is set.
- configExample is the README's Cursor block at this commit, placeholders included. The earlier copy had rewritten them as YOUR_* values.
- Correction: the earlier upstreamDescription ("MCP server for Upstash Redis over REST or TCP with docs search.") is not in the README or package.json; it is now package.json's description. The earlier finding that the configuration is stdio-only missed the HTTP transport.
- Upstream health on 2026-10-13: upstash/redis-mcp is not archived, its default-branch HEAD is this commit, the LICENSE is MIT and package.json names @upstash/redis-mcp.
Not established by this review
- Server startup, authentication and command execution were not tested.
The review applies to the material and revision named here. A newer upstream release can change its behavior.
03 / PUT IT TO WORK
Connect a server deliberately.
DOCUMENTED COMMAND
npx -y @upstash/redis-mcp Copying does not execute this command. It may retrieve a newer version than the reviewed source.
- The README says any client can add a stdio server that runs the command above with UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN set. It was not run.
- Prefer a read-only REST token, and add --readonly as a second guard, before letting an assistant near production data.
Before you start
- Node.js with npx available.
- An Upstash Redis database with REST credentials.
Documented configuration example
Use the client and authentication context described in the setup guidance. Configuration formats vary between hosts.
{
"mcpServers": {
"upstash-redis": {
"command": "npx",
"args": [
"-y",
"@upstash/redis-mcp"
],
"env": {
"UPSTASH_REDIS_REST_URL": "https://<your-db>.upstash.io",
"UPSTASH_REDIS_REST_TOKEN": "<your-rest-token>"
}
}
}
} 04 / FOLLOW THE EVIDENCE
The source trail.
Our notes are separate from the original resource.
Check upstream before adopting a new version.
- Upstash Redis MCP readme ↗Checked
https://github.com/upstash/redis-mcp/blob/9bbfcfa03533cd97a2e9723a9f3b753ad3932b14/README.md
Supports: summary, install, compatibility, access, transports, configExample, whySelected, bestFor, limitations
- Repository licence ↗Checked
https://github.com/upstash/redis-mcp/blob/9bbfcfa03533cd97a2e9723a9f3b753ad3932b14/LICENSE
Supports: license
- Package manifest ↗Checked
https://github.com/upstash/redis-mcp/blob/9bbfcfa03533cd97a2e9723a9f3b753ad3932b14/package.json
Supports: upstreamDescription, language, license, review
https://github.com/upstash/redis-mcp/blob/9bbfcfa03533cd97a2e9723a9f3b753ad3932b14/src/index.ts
Supports: transports, limitations, review
https://github.com/upstash/redis-mcp/blob/9bbfcfa03533cd97a2e9723a9f3b753ad3932b14/src/redis/readonly.ts
Supports: limitations, access