by upstash
Provides an MCP server enabling natural‑language management of Upstash Redis databases via Node.js or Docker.
Upstash MCP Server implements the Model Context Protocol to let users control Upstash Redis services with plain language commands such as creating databases, listing keys, generating backups, or retrieving usage statistics.
npx -y @smithery/cli@latest install @upstash/mcp-server --client claudenpx -y @smithery/cli@latest install @upstash/mcp-server --client cursornpx -y @smithery/cli@latest install @upstash/mcp-server --client windsurfnpx @upstash/mcp-server init <UPSTASH_EMAIL> <UPSTASH_API_KEY> (adds an entry to your MCP config).npx -y @upstash/mcp-server run <UPSTASH_EMAIL> <UPSTASH_API_KEY>.docker build -t upstash-mcp .) and start it:
docker run --rm -i \
-e UPSTASH_EMAIL=<UPSTASH_EMAIL> \
-e UPSTASH_API_KEY=<UPSTASH_API_KEY> \
upstash-mcp
pnpm, and use pnpm run inspector or pnpm run setup for Claude Desktop.Q: Which Node version is required? A: Node.js ≥ 18.0.0.
Q: Do I need to set environment variables manually?
A: When using the Docker image you provide UPSTASH_EMAIL and UPSTASH_API_KEY as -e flags. For the npx command you can pass them as CLI arguments or set them in a .env file for local development.
Q: How do I fix “command not found” errors?
A: Ensure the full path to npx (or docker) is used in your MCP config, especially if you use a custom shell or a node version manager.
Q: Can I run multiple commands in a single request?
A: Yes, the redis_database_run_multiple_redis_commands tool lets you batch several Redis commands.
Q: Where do I get help if I hit an issue? A: Consult the troubleshooting guide linked in the README or join the Discord community at https://discord.com/invite/w9SenAtbme.
Model Context Protocol (MCP) is a new, standardized protocol for managing context between large language models (LLMs) and external systems. In this repository, we provide an installer as well as an MCP Server for Upstash Developer API's.
This allows you to use any MCP Client to interact with your Upstash account using natural language, e.g.:
First, get your Upstash credentials:
Add this to your MCP client configuration:
{
"mcpServers": {
"upstash": {
"command": "npx",
"args": [
"-y",
"@upstash/mcp-server@latest",
"--email",
"YOUR_EMAIL",
"--api-key",
"YOUR_API_KEY"
]
}
}
}
Streamable HTTP Transport (for web applications):
Start your MCP server with the http transport:
npx @upstash/mcp-server@latest --transport http --port 3000 --email YOUR_EMAIL --api-key YOUR_API_KEY
And configure your MCP client to use the HTTP transport:
{
"mcpServers": {
"upstash": {
"url": "http://localhost:3000/mcp"
}
}
}
Create a Dockerfile:
FROM node:18-alpine
WORKDIR /app
# Install the latest version globally
RUN npm install -g @upstash/mcp-server
# Expose default port if needed (optional, depends on MCP client interaction)
# EXPOSE 3000
# Default command to run the server
CMD ["upstash-mcp-server"]
Then, build the image using a tag (e.g., upstash-mcp). Make sure Docker Desktop (or the Docker daemon) is running. Run the following command in the same directory where you saved the Dockerfile:
docker build -t upstash-mcp .
Configure Your MCP Client:
Update your MCP client's configuration to use the Docker command.
Example for a claude_desktop_config.json:
{
"mcpServers": {
"upstash": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"UPSTASH_EMAIL=YOUR_EMAIL",
"-e",
"UPSTASH_API_KEY=YOUR_API_KEY",
"upstash-mcp"
]
}
}
}
Note: This is an example configuration. Please refer to the specific examples for your MCP client (like Cursor, VS Code, etc.) earlier in this README to adapt the structure (e.g., mcpServers vs servers). Also, ensure the image name in args matches the tag used during the docker build command.
Your mcp client might have trouble finding the right binaries because of the differences between your shell and system PATH.
To fix this, you can get the full path of the binaries by running which npx or which docker in your shell, and replace the npx or docker command in the MCP config with the full binary path.
If you are using a node version manager like nvm or fnm, please check this issue. You should change the node command in the MCP config to the absolute path of the node binary.
See the troubleshooting guide in the MCP documentation. You can also reach out to us at Discord.
redis_database_create_backupredis_database_create_newredis_database_deleteredis_database_delete_backupredis_database_get_detailsredis_database_list_backupsredis_database_list_databasesredis_database_reset_passwordredis_database_restore_backupredis_database_run_multiple_redis_commandsredis_database_run_single_redis_commandredis_database_set_daily_backupredis_database_update_regionsredis_database_get_usage_last_5_daysredis_database_get_statsClone the project and run:
pnpm install
pnpm run watch
This will continuously build the project and watch for changes.
For testing, you can create a .env file in the same directory as the project with the following content:
UPSTASH_EMAIL=<UPSTASH_EMAIL>
UPSTASH_API_KEY=<UPSTASH_API_KEY>
This will be used for setting the Claude config.
To install the Claude Desktop config for local development, add the following to your Claude Desktop MCP config:
{
"mcpServers": {
"upstash": {
"command": "node",
"args": [
"<path-to-repo>/dist/index.js",
"run",
"--email",
"<UPSTASH_EMAIL>",
"--api-key",
"<UPSTASH_API_KEY>"
]
}
}
}
NOTE: The same issue with node version manager applies here. Please look at the note in the usage section if you are using a node version manager.
You can now use Claude Desktop to run Upstash commands.
To view the logs from the MCP Server in real time, run the following command:
pnpm run logs
Please log in to share your review and rating for this MCP.
Explore related MCPs that share similar capabilities and solve comparable challenges
by modelcontextprotocol
A Model Context Protocol server for Git repository interaction and automation.
by zed-industries
A high‑performance, multiplayer code editor designed for speed and collaboration.
by modelcontextprotocol
Model Context Protocol Servers
by modelcontextprotocol
A Model Context Protocol server that provides time and timezone conversion capabilities.
by cline
An autonomous coding assistant that can create and edit files, execute terminal commands, and interact with a browser directly from your IDE, operating step‑by‑step with explicit user permission.
by upstash
Provides up-to-date, version‑specific library documentation and code examples directly inside LLM prompts, eliminating outdated information and hallucinated APIs.
by daytonaio
Provides a secure, elastic infrastructure that creates isolated sandboxes for running AI‑generated code with sub‑90 ms startup, unlimited persistence, and OCI/Docker compatibility.
by continuedev
Enables faster shipping of code by integrating continuous AI agents across IDEs, terminals, and CI pipelines, offering chat, edit, autocomplete, and customizable agent workflows.
by github
Connects AI tools directly to GitHub, enabling natural‑language interactions for repository browsing, issue and pull‑request management, CI/CD monitoring, code‑security analysis, and team collaboration.
{
"mcpServers": {
"upstash-mcp": {
"command": "npx",
"args": [
"-y",
"@upstash/mcp-server",
"run"
],
"env": {
"UPSTASH_EMAIL": "<YOUR_EMAIL>",
"UPSTASH_API_KEY": "<YOUR_API_KEY>"
}
}
}
}claude mcp add upstash-mcp npx -y @upstash/mcp-server run