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.:
- "Create a new Redis database in us-east-1"
- "List my databases"
- "List keys starting with "user:" in users-db"
- "Create a backup"
- "Give me the spikes in throughput during the last 7 days"
- Node.js >= v18.0.0
- Upstash API key - You can create one from here.
To install Upstash MCP Server for Claude Desktop automatically via Smithery run the following command:
npx -y @smithery/cli@latest install @upstash/mcp-server --client claude
Install without Smithery
npx @upstash/mcp-server init <UPSTASH_EMAIL> <UPSTASH_API_KEY>
This will edit your MCP config file and add an entry for Upstash.
To install Upstash MCP Server for Cursor automatically via Smithery run the following command:
npx -y @smithery/cli@latest install @upstash/mcp-server --client cursor
Install without Smithery
Add the following command to the MCP config in Cursor. For more info, check the Cursor MCP docs.
npx -y @upstash/mcp-server run <UPSTASH_EMAIL> <UPSTASH_API_KEY>
To install Upstash MCP Server for Windsurf automatically via Smithery run the following command:
npx -y @smithery/cli@latest install @upstash/mcp-server --client windsurf
Install without Smithery
Add the following command to the MCP config in Windsurf. For more info, check out the Windsurf MCP docs.
npx -y @upstash/mcp-server run <UPSTASH_EMAIL> <UPSTASH_API_KEY>
You can also use the provided Docker image to run the server.
docker build -t upstash-mcp .
# Run the stdio server, add this command to you MCP config
docker run --rm -i \
-e UPSTASH_EMAIL=<UPSTASH_EMAIL> \
-e UPSTASH_API_KEY=<UPSTASH_API_KEY> \
upstash-mcp
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_backup
redis_database_create_new
redis_database_delete
redis_database_delete_backup
redis_database_get_details
redis_database_list_backups
redis_database_list_databases
redis_database_reset_password
redis_database_restore_backup
redis_database_run_multiple_redis_commands
redis_database_run_single_redis_command
redis_database_set_daily_backup
redis_database_update_regions
redis_database_get_usage_last_5_days
redis_database_get_stats
Clone 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 and running mcp inspector.
To install the Claude Desktop config for local development, run the following command:
pnpm run setup
This will add an upstash
entry to your MCP config file that points to the local build of the package.
{
"upstash": {
"command": "node",
"args": ["<path-to-repo>/dist/index.js", "run", "<UPSTASH_EMAIL>", "<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
You can also use the MCP Inspector to test the tools.
pnpm run inspector