> ## Documentation Index
> Fetch the complete documentation index at: https://upstash.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Install by agent

> Set up the Upstash MCP server and Skills for your coding agent.

Pick your agent below. The first block in each section is the recommended setup: it connects the remote [MCP server](/docs/agent-resources/mcp) at `https://mcp.upstash.com/mcp` and installs the [Upstash Skills](/docs/agent-resources/skills). Neither needs credentials up front. The MCP server asks you to sign in over OAuth on the first tool call.

Everything else, such as editing the config file by hand or running the local (stdio) server with your email and a [Developer API key](/docs/devops/developer-api/introduction#create-an-api-key), is under **Other options** in each section. See the [MCP server page](/docs/agent-resources/mcp) for how the remote and local servers compare.

## Claude Code

From inside Claude Code:

```
/plugin marketplace add upstash/skills
/plugin install upstash@upstash
```

The plugin bundles the skills and the remote MCP server. Approve the consent screen on the first tool call.

<Accordion title="Other options">
  **MCP server only, without the plugin**

  ```sh theme={"system"}
  claude mcp add --scope user --transport http upstash https://mcp.upstash.com/mcp
  ```

  Then run `/mcp` → **Authenticate**.

  **Local (stdio) server**

  ```sh theme={"system"}
  claude mcp add --transport stdio upstash -- npx -y @upstash/mcp-server@latest --email YOUR_EMAIL --api-key YOUR_API_KEY
  ```

  See the [Claude Code plugin docs](https://code.claude.com/docs/en/plugins) and [MCP docs](https://docs.anthropic.com/en/docs/claude-code/mcp) for more info.
</Accordion>

## Claude Desktop

Go to **Customize → Plugins**, click **Add → Add marketplace**, choose **Add from a repository**, and enter `upstash/skills`. Install the **upstash** plugin from that marketplace.

The plugin bundles the skills and the remote MCP server. Approve the consent screen on the first tool call.

## Cursor

Add the MCP server with one click:

[![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=upstash\&config=eyJ1cmwiOiJodHRwczovL21jcC51cHN0YXNoLmNvbS9tY3AifQ%3D%3D)

Then install the skills:

```bash theme={"system"}
npx skills add upstash/skills --agent cursor
```

<Accordion title="Other options">
  **Add the MCP server by hand**

  Put this in `~/.cursor/mcp.json`, or in `.cursor/mcp.json` to scope it to one project:

  ```json theme={"system"}
  {
    "mcpServers": {
      "upstash": { "url": "https://mcp.upstash.com/mcp" }
    }
  }
  ```

  **Local (stdio) server**

  ```json theme={"system"}
  {
    "mcpServers": {
      "upstash": {
        "command": "npx",
        "args": ["-y", "@upstash/mcp-server@latest", "--email", "YOUR_EMAIL", "--api-key", "YOUR_API_KEY"]
      }
    }
  }
  ```
</Accordion>

## OpenAI Codex

```bash theme={"system"}
codex plugin marketplace add upstash/skills
codex plugin add upstash@upstash
```

The plugin bundles the skills and the remote MCP server. Approve the consent screen on the first tool call.

<Accordion title="Other options">
  **MCP server only, without the plugin**

  Put this in `~/.codex/config.toml`, or in `.codex/config.toml` for one project:

  ```toml theme={"system"}
  [mcp_servers.upstash]
  url = "https://mcp.upstash.com/mcp"
  ```

  **Local (stdio) server**

  ```sh theme={"system"}
  codex mcp add upstash -- npx -y @upstash/mcp-server@latest --email YOUR_EMAIL --api-key YOUR_API_KEY
  ```

  See the [Codex plugin docs](https://developers.openai.com/codex/plugins/build) and [MCP docs](https://developers.openai.com/codex/mcp) for more info.
</Accordion>

## OpenCode

Add the MCP server to `opencode.json`, or `~/.config/opencode/opencode.json` for every project:

```json theme={"system"}
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "upstash": {
      "type": "remote",
      "url": "https://mcp.upstash.com/mcp",
      "enabled": true
    }
  }
}
```

Then install the skills (add `--global` to make them available in every project):

```bash theme={"system"}
npx skills add upstash/skills --agent opencode
```

<Accordion title="Other options">
  **Local (stdio) server**

  ```json theme={"system"}
  {
    "$schema": "https://opencode.ai/config.json",
    "mcp": {
      "upstash": {
        "type": "local",
        "command": ["npx", "-y", "@upstash/mcp-server@latest", "--email", "YOUR_EMAIL", "--api-key", "YOUR_API_KEY"],
        "enabled": true
      }
    }
  }
  ```

  See the [OpenCode skills](https://opencode.ai/docs/skills) and [MCP docs](https://opencode.ai/docs/mcp-servers) for more info.
</Accordion>

## Zed

Add the MCP server to `settings.json`, or through **Settings → AI → MCP Servers → Add Server → Add Remote Server**:

```json theme={"system"}
{
  "context_servers": {
    "upstash": {
      "url": "https://mcp.upstash.com/mcp"
    }
  }
}
```

<Note>
  Context servers are project-scoped in Zed. Open a folder before testing, otherwise the server never starts.
</Note>

Then install the skills (add `--global` to make them available in every project):

```bash theme={"system"}
npx skills add upstash/skills --agent zed
```

<Accordion title="Other options">
  **Local (stdio) server**

  The repo ships a Zed extension in [`zed-extension/`](https://github.com/upstash/skills/tree/main/zed-extension). Clone the repo, run `zed: install dev extension` from the command palette, and pick the `zed-extension/` directory. Zed then prompts for `upstash_email` and `upstash_api_key`, plus an optional `upstash_box_api_key` to enable Upstash Box tools.

  See the [Zed skills](https://zed.dev/docs/ai/skills) and [MCP docs](https://zed.dev/docs/ai/mcp) for more info.
</Accordion>

## GitHub Copilot

Add the MCP server to VS Code with one click:

[<img alt="Install in VS Code" src="https://img.shields.io/badge/Install%20in%20VS%20Code-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white" />](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%7B%22name%22%3A%22upstash%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.upstash.com%2Fmcp%22%7D)

Then install the skills:

```bash theme={"system"}
npx skills add upstash/skills --agent github-copilot
```

<Accordion title="Other options">
  **Add the MCP server by hand**

  Put this in `.vscode/mcp.json`:

  ```json theme={"system"}
  {
    "servers": {
      "upstash": {
        "type": "http",
        "url": "https://mcp.upstash.com/mcp"
      }
    }
  }
  ```

  **Local (stdio) server**

  ```json theme={"system"}
  {
    "servers": {
      "upstash": {
        "type": "stdio",
        "command": "npx",
        "args": ["-y", "@upstash/mcp-server@latest", "--email", "YOUR_EMAIL", "--api-key", "YOUR_API_KEY"]
      }
    }
  }
  ```

  See the [VS Code MCP docs](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) for more info.
</Accordion>

## Devin Desktop

Devin Desktop is the new name for Windsurf and keeps its settings. Add the MCP server to `~/.codeium/windsurf/mcp_config.json`:

```json theme={"system"}
{
  "mcpServers": {
    "upstash": {
      "serverUrl": "https://mcp.upstash.com/mcp"
    }
  }
}
```

Then install the skills:

```bash theme={"system"}
npx skills add upstash/skills --agent windsurf
```

<Accordion title="Other options">
  **Local (stdio) server**

  ```json theme={"system"}
  {
    "mcpServers": {
      "upstash": {
        "command": "npx",
        "args": ["-y", "@upstash/mcp-server@latest", "--email", "YOUR_EMAIL", "--api-key", "YOUR_API_KEY"]
      }
    }
  }
  ```

  See the [Devin Desktop migration notes](https://devin.ai/desktop) for more info.
</Accordion>

## Gemini CLI

```bash theme={"system"}
gemini extensions install https://github.com/upstash/skills
```

The extension bundles the skills and the remote MCP server. Approve the consent screen on the first tool call.

<Accordion title="Other options">
  **MCP server and skills separately**

  ```bash theme={"system"}
  gemini mcp add --transport http upstash https://mcp.upstash.com/mcp
  npx skills add upstash/skills --agent gemini-cli
  ```

  Or add the server to `~/.gemini/settings.json` by hand:

  ```json theme={"system"}
  {
    "mcpServers": {
      "upstash": {
        "httpUrl": "https://mcp.upstash.com/mcp"
      }
    }
  }
  ```

  **Local (stdio) server**

  ```json theme={"system"}
  {
    "mcpServers": {
      "upstash": {
        "command": "npx",
        "args": ["-y", "@upstash/mcp-server@latest", "--email", "YOUR_EMAIL", "--api-key", "YOUR_API_KEY"]
      }
    }
  }
  ```

  See the [Gemini CLI extension](https://geminicli.com/docs/extensions/) and [MCP docs](https://google-gemini.github.io/gemini-cli/docs/tools/mcp-server.html) for more info.
</Accordion>

## Google Antigravity

Add the MCP server to your Antigravity MCP config. Antigravity registers itself as an OAuth client, so no credentials go in the file:

```json theme={"system"}
{
  "mcpServers": {
    "upstash": {
      "serverUrl": "https://mcp.upstash.com/mcp"
    }
  }
}
```

Then install the skills:

```bash theme={"system"}
npx skills add upstash/skills --agent antigravity
```

<Accordion title="Other options">
  **Local (stdio) server**

  ```json theme={"system"}
  {
    "mcpServers": {
      "upstash": {
        "command": "npx",
        "args": ["-y", "@upstash/mcp-server@latest", "--email", "YOUR_EMAIL", "--api-key", "YOUR_API_KEY"]
      }
    }
  }
  ```

  See the [Antigravity MCP docs](https://antigravity.google/docs/mcp) for more info.
</Accordion>

## DeepSeek Harness

Requires `pnpm` on your `PATH`. Install the bundle into a profile (`web` is the one `dsh web` boots) and start the harness:

```bash theme={"system"}
dsh plugin --profile web add github:upstash/skills
dsh web
```

The bundle loads the skills right away. It also mounts the local (stdio) MCP server, which starts once you store your credentials from inside a session:

```
/upstash-login YOUR_EMAIL YOUR_API_KEY
```

Credentials are saved to `~/.dsh/.credentials.yaml`. The server restarts whenever they change.

## Grok

```bash theme={"system"}
grok mcp add --transport http upstash https://mcp.upstash.com/mcp
npx skills add upstash/skills --agent grok
```

Pass `--scope project` to `grok mcp add` to write the server to `.grok/config.toml` in the current directory. Run `grok mcp doctor upstash` to check the connection.

<Note>
  Grok Build also reads Claude Code plugins, so if you already installed the [Claude Code plugin](#claude-code), the skills are available without the second command.
</Note>

<Accordion title="Other options">
  **Add the MCP server by hand**

  Put this in `~/.grok/config.toml`:

  ```toml theme={"system"}
  [mcp_servers.upstash]
  url = "https://mcp.upstash.com/mcp"
  ```

  **Local (stdio) server**

  ```toml theme={"system"}
  [mcp_servers.upstash]
  command = "npx"
  args = ["-y", "@upstash/mcp-server@latest", "--email", "YOUR_EMAIL", "--api-key", "YOUR_API_KEY"]
  ```

  See the [Grok Build MCP docs](https://docs.x.ai/build/features/mcp-servers) for more info.
</Accordion>

## Kilo Code

Add the MCP server to `kilo.jsonc` in the project root, or `~/.config/kilo/kilo.jsonc` for every project:

```json theme={"system"}
{
  "mcp": {
    "upstash": {
      "type": "remote",
      "url": "https://mcp.upstash.com/mcp",
      "enabled": true
    }
  }
}
```

Then install the skills:

```bash theme={"system"}
npx skills add upstash/skills --agent kilo
```

<Accordion title="Other options">
  **Local (stdio) server**

  ```json theme={"system"}
  {
    "mcp": {
      "upstash": {
        "type": "local",
        "command": ["npx", "-y", "@upstash/mcp-server@latest", "--email", "YOUR_EMAIL", "--api-key", "YOUR_API_KEY"],
        "enabled": true
      }
    }
  }
  ```
</Accordion>

## Copilot CLI

```bash theme={"system"}
copilot mcp add --transport http upstash https://mcp.upstash.com/mcp
npx skills add upstash/skills --agent github-copilot
```

<Accordion title="Other options">
  **Add the MCP server by hand**

  Put this in `~/.copilot/mcp-config.json`:

  ```json theme={"system"}
  {
    "mcpServers": {
      "upstash": {
        "type": "http",
        "url": "https://mcp.upstash.com/mcp"
      }
    }
  }
  ```

  **Local (stdio) server**

  ```json theme={"system"}
  {
    "mcpServers": {
      "upstash": {
        "type": "local",
        "command": "npx",
        "args": ["-y", "@upstash/mcp-server@latest", "--email", "YOUR_EMAIL", "--api-key", "YOUR_API_KEY"]
      }
    }
  }
  ```
</Accordion>

## Warp

Go to **Settings → Agents → MCP servers → + Add** and paste:

```json theme={"system"}
{
  "upstash": {
    "url": "https://mcp.upstash.com/mcp",
    "start_on_launch": true
  }
}
```

Then install the skills:

```bash theme={"system"}
npx skills add upstash/skills --agent warp
```

<Accordion title="Other options">
  **Local (stdio) server**

  ```json theme={"system"}
  {
    "upstash": {
      "command": "npx",
      "args": ["-y", "@upstash/mcp-server@latest", "--email", "YOUR_EMAIL", "--api-key", "YOUR_API_KEY"],
      "env": {},
      "working_directory": null,
      "start_on_launch": true
    }
  }
  ```
</Accordion>

## Qwen Code

```bash theme={"system"}
qwen mcp add --transport http upstash https://mcp.upstash.com/mcp
npx skills add upstash/skills --agent qwen-code
```

<Accordion title="Other options">
  **Add the MCP server by hand**

  Put this in `~/.qwen/settings.json`, or `.qwen/settings.json` for one project:

  ```json theme={"system"}
  {
    "mcpServers": {
      "upstash": {
        "httpUrl": "https://mcp.upstash.com/mcp"
      }
    }
  }
  ```

  **Local (stdio) server**

  ```bash theme={"system"}
  qwen mcp add upstash -- npx -y @upstash/mcp-server@latest --email YOUR_EMAIL --api-key YOUR_API_KEY
  ```
</Accordion>

## Hermes

Add the MCP server to `~/.hermes/config.yaml`:

```yaml theme={"system"}
mcp_servers:
  upstash:
    url: "https://mcp.upstash.com/mcp"
```

Then install the skills:

```bash theme={"system"}
npx skills add upstash/skills --agent hermes-agent
```

<Accordion title="Other options">
  **Local (stdio) server**

  ```yaml theme={"system"}
  mcp_servers:
    upstash:
      command: "npx"
      args: ["-y", "@upstash/mcp-server@latest", "--email", "YOUR_EMAIL", "--api-key", "YOUR_API_KEY"]
  ```
</Accordion>

## Factory

```bash theme={"system"}
droid mcp add upstash https://mcp.upstash.com/mcp --type http
npx skills add upstash/skills --agent droid
```

<Accordion title="Other options">
  **Local (stdio) server**

  ```bash theme={"system"}
  droid mcp add upstash "npx -y @upstash/mcp-server@latest --email YOUR_EMAIL --api-key YOUR_API_KEY"
  ```
</Accordion>

## fx

From inside an fx session:

```
/mcp add --transport http upstash https://mcp.upstash.com/mcp
/skills install upstash/skills --skill upstash
```

<Accordion title="Other options">
  **Add the MCP server by hand**

  Put this in `~/.fx/mcp.json`:

  ```json theme={"system"}
  {
    "mcp": {
      "upstash": {
        "type": "http",
        "url": "https://mcp.upstash.com/mcp"
      }
    }
  }
  ```

  **Local (stdio) server**

  ```json theme={"system"}
  {
    "mcp": {
      "upstash": {
        "type": "stdio",
        "command": ["npx", "-y", "@upstash/mcp-server@latest", "--email", "YOUR_EMAIL", "--api-key", "YOUR_API_KEY"]
      }
    }
  }
  ```

  See the [fx MCP docs](https://fx.sh/docs/capabilities/mcp) for more info.
</Accordion>

## Crush

Add the MCP server to your Crush config file:

```json theme={"system"}
{
  "$schema": "https://charm.land/crush.json",
  "mcp": {
    "upstash": {
      "type": "http",
      "url": "https://mcp.upstash.com/mcp"
    }
  }
}
```

Then install the skills:

```bash theme={"system"}
npx skills add upstash/skills --agent crush
```

<Accordion title="Other options">
  **Local (stdio) server**

  ```json theme={"system"}
  {
    "$schema": "https://charm.land/crush.json",
    "mcp": {
      "upstash": {
        "type": "stdio",
        "command": "npx",
        "args": ["-y", "@upstash/mcp-server@latest", "--email", "YOUR_EMAIL", "--api-key", "YOUR_API_KEY"]
      }
    }
  }
  ```
</Accordion>

## Any other agent

Add the MCP server to your client's config. Most clients take this shape:

```json theme={"system"}
{
  "mcpServers": {
    "upstash": {
      "url": "https://mcp.upstash.com/mcp"
    }
  }
}
```

Then install the skills. The [Agent Skills CLI](https://github.com/vercel-labs/skills) supports 70+ agents and detects the ones on your machine:

```bash theme={"system"}
npx skills add upstash/skills
```

<Accordion title="Other options">
  **Skills CLI flags**

  Add `--global` (`-g`) to install for every project, `--agent` (`-a`) to target one agent, and `--skill` (`-s`) to install a single SDK skill, for example `--skill upstash-qstash-js`.

  **Transport type**

  Some clients want the transport named next to the URL: `"type": "http"` for most, `"type": "streamable-http"` for Roo Code, `"type": "remote"` for OpenCode and Kilo Code. Unrecognized keys are usually ignored, so start with the plain `url`.

  **Local (stdio) server**

  ```json theme={"system"}
  {
    "mcpServers": {
      "upstash": {
        "command": "npx",
        "args": ["-y", "@upstash/mcp-server@latest", "--email", "YOUR_EMAIL", "--api-key", "YOUR_API_KEY"]
      }
    }
  }
  ```
</Accordion>

Where some other clients take it, with their Agent Skills CLI `id`:

| Client       | Skills `id` | MCP server                                                                 |
| ------------ | ----------- | -------------------------------------------------------------------------- |
| Amp          | `amp`       | `amp mcp add upstash https://mcp.upstash.com/mcp`                          |
| Kiro         | `kiro-cli`  | `.kiro/settings/mcp.json`, or **Kiro → MCP Servers → + Add**; takes `url`  |
| Cline        | `cline`     | **MCP Servers → Remote Servers → Edit Configuration**; takes `url`         |
| Roo Code     | `roo`       | MCP settings file (`mcp_settings.json`); needs `"type": "streamable-http"` |
| Trae         | `trae`      | **MCP → Add manually**; takes `url`                                        |
| Augment Code | `augment`   | **Settings → MCP → + Add remote MCP**, connection type **HTTP**            |
| Zencoder     | `zencoder`  | **Agent tools → Add custom MCP**, paste the `upstash` entry                |
| Rovo Dev CLI | `rovodev`   | `acli rovodev mcp` opens the config file; takes `url`                      |


## Related topics

- [MCP Server](/docs/agent-resources/mcp.md)
- [LangChain Deep Agents](/docs/box/guides/langchain-deep-agents.md)
- [Agent Memory with Redis Search](/docs/redis/tutorials/agent_memory.md)
- [Build a Code Review Agent](/docs/box/guides/code-review-agent.md)
- [TanStack AI Coding Agents](/docs/box/guides/tanstack-setup.md)
