@upstash/mcp-server 0.2.2-rc.1 → 0.2.3-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,32 +1,47 @@
1
1
  # Upstash MCP Server
2
2
 
3
- [![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=upstash&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkB1cHN0YXNoL21jcC1zZXJ2ZXJAbGF0ZXN0IiwiLS1lbWFpbCIsIllPVVJfRU1BSUwiLCItLWFwaS1rZXkiLCJZT1VSX0FQSV9LRVkiXX0=%3D)
3
+ [![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=upstash&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkB1cHN0YXNoL21jcC1zZXJ2ZXJAbGF0ZXN0IiwiLS1lbWFpbCIsIllPVVJfRU1BSUwiLCItLWFwaS1rZXkiLCJZT1VSX0FQSV9LRVkiXX0%3D)
4
+ [<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/mcp/install?name=upstash&inputs=%5B%7B%22id%22%3A%22email%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22Upstash%20email%22%7D%2C%7B%22id%22%3A%22apiKey%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22Upstash%20API%20key%22%2C%22password%22%3Atrue%7D%5D&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40upstash%2Fmcp-server%40latest%22%2C%22--email%22%2C%22%24%7Binput%3Aemail%7D%22%2C%22--api-key%22%2C%22%24%7Binput%3AapiKey%7D%22%5D%7D)
4
5
 
5
- [![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=upstash&config=eyJjb21tYW5kIjoibnB4IC15IEB1cHN0YXNoL21jcC1zZXJ2ZXJAbGF0ZXN0IC0tZW1haWwgWU9VUl9FTUFJTCAtLWFwaS1rZXkgWU9VUl9BUElfS0VZIn0%3D)
6
- [<img alt="Install in VS Code (npx)" 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-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40upstash%2Fmcp-server%40latest%22%2C%22--email%22%2C%22YOUR_EMAIL%22%2C%22--api-key%22%2C%22YOUR_API_KEY%22%5D%7D)
6
+ The Upstash MCP server lets your agent manage and debug your Upstash resources directly, across **Redis**, **QStash**, **Workflow**, and **[Upstash Box](https://upstash.com/docs/box/overall/quickstart)**.
7
7
 
8
- [![smithery badge](https://smithery.ai/badge/@upstash/mcp-server)](https://smithery.ai/server/@upstash/mcp-server)
8
+ > [!TIP]
9
+ > For most workflows, prefer installing the [Upstash Skill](https://upstash.com/docs/agent-resources/skills) and letting your agent drive [`@upstash/cli`](https://upstash.com/docs/agent-resources/cli) over running the MCP server.
9
10
 
10
- Model Context Protocol (MCP) is a [new, standardized protocol](https://modelcontextprotocol.io/introduction) 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](https://upstash.com/docs/devops/developer-api).
11
+ ## Quickstart
11
12
 
12
- This allows you to use any MCP Client to interact with your Upstash account using natural language, e.g.:
13
+ You'll need your Upstash account email and an API key create one at [Upstash Console Account API Keys](https://console.upstash.com/account/api).
13
14
 
14
- - "Create a new Redis database in us-east-1"
15
- - "List my databases"
16
- - "List keys starting with "user:" in users-db"
17
- - "Create a backup"
18
- - "Give me the spikes in throughput during the last 7 days"
15
+ The Upstash MCP server works with any MCP-compatible client. If your client isn't listed below, check its documentation for how to add a stdio MCP server, then point it at the base command:
19
16
 
20
- # Usage
17
+ ```bash
18
+ npx -y @upstash/mcp-server@latest --email YOUR_EMAIL --api-key YOUR_API_KEY
19
+ ```
20
+
21
+ > [!NOTE]
22
+ > Readonly API keys are supported. When the server starts with one, it automatically disables every tool that would modify state (creating databases, deleting backups, retrying workflows, etc.). Your agent can still read and query your account, but it cannot make changes.
23
+
24
+ <details>
25
+ <summary><b>Claude Code</b></summary>
26
+
27
+ Run this command in your terminal. See the [Claude Code MCP docs](https://docs.anthropic.com/en/docs/claude-code/mcp) for more info.
28
+
29
+ ```sh
30
+ claude mcp add --scope user upstash -- npx -y @upstash/mcp-server@latest --email YOUR_EMAIL --api-key YOUR_API_KEY
31
+ ```
32
+
33
+ </details>
34
+
35
+ <details>
36
+ <summary><b>Cursor</b></summary>
21
37
 
22
- ## Quick Setup
38
+ Go to `Settings` → `Cursor Settings` → `MCP` → `Add new global MCP server`.
23
39
 
24
- First, get your Upstash credentials:
40
+ Pasting the following configuration into your Cursor `~/.cursor/mcp.json` file is the recommended approach. You may also install in a specific project by creating `.cursor/mcp.json` in your project folder. See the [Cursor MCP docs](https://docs.cursor.com/context/model-context-protocol) for more info.
25
41
 
26
- - **Email**: Your Upstash account email
27
- - **API Key**: Get it from [Upstash Console → Account → API Keys](https://console.upstash.com/account/api)
42
+ Since Cursor 1.0, you can click the install button below for instant one-click installation. Replace `YOUR_EMAIL` and `YOUR_API_KEY` with your real values before confirming.
28
43
 
29
- Add this to your MCP client configuration:
44
+ [![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=upstash&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkB1cHN0YXNoL21jcC1zZXJ2ZXJAbGF0ZXN0IiwiLS1lbWFpbCIsIllPVVJfRU1BSUwiLCItLWFwaS1rZXkiLCJZT1VSX0FQSV9LRVkiXX0%3D)
30
45
 
31
46
  ```json
32
47
  {
@@ -46,175 +61,329 @@ Add this to your MCP client configuration:
46
61
  }
47
62
  ```
48
63
 
49
- **Streamable HTTP Transport (for web applications):**
50
-
51
- Start your MCP server with the `http` transport:
64
+ </details>
52
65
 
53
- ```bash
54
- npx @upstash/mcp-server@latest --transport http --port 3000 --email YOUR_EMAIL --api-key YOUR_API_KEY
55
- ```
66
+ <details>
67
+ <summary><b>Windsurf</b></summary>
56
68
 
57
- And configure your MCP client to use the HTTP transport:
69
+ Add this to your Windsurf MCP config file at `~/.codeium/windsurf/mcp_config.json`. See the [Windsurf MCP docs](https://docs.windsurf.com/windsurf/cascade/mcp) for more info.
58
70
 
59
71
  ```json
60
72
  {
61
73
  "mcpServers": {
62
74
  "upstash": {
63
- "url": "http://localhost:3000/mcp"
75
+ "command": "npx",
76
+ "args": [
77
+ "-y",
78
+ "@upstash/mcp-server@latest",
79
+ "--email",
80
+ "YOUR_EMAIL",
81
+ "--api-key",
82
+ "YOUR_API_KEY"
83
+ ]
64
84
  }
65
85
  }
66
86
  }
67
87
  ```
68
88
 
89
+ </details>
90
+
69
91
  <details>
70
- <summary><strong>Docker Setup</strong></summary>
92
+ <summary><b>OpenCode</b></summary>
71
93
 
72
- 1. **Create a Dockerfile:**
94
+ Add this to your OpenCode configuration file (`~/.config/opencode/opencode.json` or a project-level `opencode.json`). See the [OpenCode MCP docs](https://opencode.ai/docs/mcp-servers) for more info.
73
95
 
74
- <summary>Click to see Dockerfile content</summary>
96
+ ```json
97
+ {
98
+ "mcp": {
99
+ "upstash": {
100
+ "type": "local",
101
+ "command": [
102
+ "npx",
103
+ "-y",
104
+ "@upstash/mcp-server@latest",
105
+ "--email",
106
+ "YOUR_EMAIL",
107
+ "--api-key",
108
+ "YOUR_API_KEY"
109
+ ],
110
+ "enabled": true
111
+ }
112
+ }
113
+ }
114
+ ```
75
115
 
76
- ```Dockerfile
77
- FROM node:18-alpine
116
+ </details>
78
117
 
79
- WORKDIR /app
118
+ <details>
119
+ <summary><b>OpenAI Codex</b></summary>
120
+
121
+ See the [OpenAI Codex MCP docs](https://developers.openai.com/codex/mcp) for more info.
80
122
 
81
- # Install the latest version globally
82
- RUN npm install -g @upstash/mcp-server
123
+ **Using the CLI**
83
124
 
84
- # Expose default port if needed (optional, depends on MCP client interaction)
85
- # EXPOSE 3000
125
+ ```sh
126
+ codex mcp add upstash -- npx -y @upstash/mcp-server@latest --email YOUR_EMAIL --api-key YOUR_API_KEY
127
+ ```
86
128
 
87
- # Default command to run the server
88
- CMD ["upstash-mcp-server"]
89
- ```
129
+ **Manual configuration**
90
130
 
91
- </details>
131
+ Add this to your Codex config file (`~/.codex/config.toml` or `.codex/config.toml`):
132
+
133
+ ```toml
134
+ [mcp_servers.upstash]
135
+ command = "npx"
136
+ args = ["-y", "@upstash/mcp-server@latest", "--email", "YOUR_EMAIL", "--api-key", "YOUR_API_KEY"]
137
+ startup_timeout_sec = 20
138
+ ```
92
139
 
93
- 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`:
140
+ > [!NOTE]
141
+ > If you see startup timeout errors, increase `startup_timeout_sec` to `40`.
94
142
 
95
- ```bash
96
- docker build -t upstash-mcp .
97
- ```
143
+ </details>
98
144
 
99
- 2. **Configure Your MCP Client:**
145
+ <details>
146
+ <summary><b>VS Code</b></summary>
100
147
 
101
- Update your MCP client's configuration to use the Docker command.
148
+ Click to install — VS Code will prompt for your email and API key (stored in its secret storage):
102
149
 
103
- _Example for a claude_desktop_config.json:_
150
+ [<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/mcp/install?name=upstash&inputs=%5B%7B%22id%22%3A%22email%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22Upstash%20email%22%7D%2C%7B%22id%22%3A%22apiKey%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22Upstash%20API%20key%22%2C%22password%22%3Atrue%7D%5D&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40upstash%2Fmcp-server%40latest%22%2C%22--email%22%2C%22%24%7Binput%3Aemail%7D%22%2C%22--api-key%22%2C%22%24%7Binput%3AapiKey%7D%22%5D%7D)
151
+ [<img alt="Install in VS Code Insiders" src="https://img.shields.io/badge/Install%20in%20VS%20Code%20Insiders-24bfa5?style=for-the-badge&logo=visualstudiocode&logoColor=white" />](https://insiders.vscode.dev/redirect/mcp/install?name=upstash&inputs=%5B%7B%22id%22%3A%22email%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22Upstash%20email%22%7D%2C%7B%22id%22%3A%22apiKey%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22Upstash%20API%20key%22%2C%22password%22%3Atrue%7D%5D&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40upstash%2Fmcp-server%40latest%22%2C%22--email%22%2C%22%24%7Binput%3Aemail%7D%22%2C%22--api-key%22%2C%22%24%7Binput%3AapiKey%7D%22%5D%7D&quality=insiders)
104
152
 
105
- ```json
106
- {
107
- "mcpServers": {
108
- "upstash": {
109
- "command": "docker",
110
- "args": [
111
- "run",
112
- "-i",
113
- "--rm",
114
- "-e",
115
- "UPSTASH_EMAIL=YOUR_EMAIL",
116
- "-e",
117
- "UPSTASH_API_KEY=YOUR_API_KEY",
118
- "upstash-mcp"
119
- ]
120
- }
121
- }
122
- }
123
- ```
153
+ Or add this to `.vscode/mcp.json` (or your user `mcp.servers` setting). Using `inputs` with `promptString` means your API key is prompted once and kept in VS Code's secret storage instead of sitting in the config file. See the [VS Code MCP docs](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) for more info.
124
154
 
125
- _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._
155
+ ```json
156
+ {
157
+ "inputs": [
158
+ { "type": "promptString", "id": "email", "description": "Upstash email" },
159
+ { "type": "promptString", "id": "apiKey", "description": "Upstash API key", "password": true }
160
+ ],
161
+ "servers": {
162
+ "upstash": {
163
+ "type": "stdio",
164
+ "command": "npx",
165
+ "args": [
166
+ "-y",
167
+ "@upstash/mcp-server@latest",
168
+ "--email",
169
+ "${input:email}",
170
+ "--api-key",
171
+ "${input:apiKey}"
172
+ ]
173
+ }
174
+ }
175
+ }
176
+ ```
126
177
 
127
178
  </details>
128
179
 
129
- ## Requirements
180
+ <details>
181
+ <summary><b>Google Antigravity</b></summary>
130
182
 
131
- - Node.js >= v18.0.0
132
- - [Upstash API key](https://upstash.com/docs/devops/developer-api) - You can create one from [here](https://console.upstash.com/account/api).
183
+ Add this to your Antigravity MCP config. See the [Antigravity MCP docs](https://antigravity.google/docs/mcp) for more info.
133
184
 
134
- ### Troubleshooting
185
+ ```json
186
+ {
187
+ "mcpServers": {
188
+ "upstash": {
189
+ "command": "npx",
190
+ "args": [
191
+ "-y",
192
+ "@upstash/mcp-server@latest",
193
+ "--email",
194
+ "YOUR_EMAIL",
195
+ "--api-key",
196
+ "YOUR_API_KEY"
197
+ ]
198
+ }
199
+ }
200
+ }
201
+ ```
135
202
 
136
- #### Common Issues
203
+ </details>
137
204
 
138
- Your mcp client might have trouble finding the right binaries because of the differences between your shell and system `PATH`.
205
+ <details>
206
+ <summary><b>Claude Desktop</b></summary>
139
207
 
140
- 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.
208
+ Open Claude Desktop's developer settings and edit `claude_desktop_config.json`. See the [Claude Desktop MCP docs](https://modelcontextprotocol.io/quickstart/user) for more info.
141
209
 
142
- #### Node Version Manager
210
+ ```json
211
+ {
212
+ "mcpServers": {
213
+ "upstash": {
214
+ "command": "npx",
215
+ "args": [
216
+ "-y",
217
+ "@upstash/mcp-server@latest",
218
+ "--email",
219
+ "YOUR_EMAIL",
220
+ "--api-key",
221
+ "YOUR_API_KEY"
222
+ ]
223
+ }
224
+ }
225
+ }
226
+ ```
143
227
 
144
- If you are using a node version manager like nvm or fnm, please check [this issue](https://github.com/modelcontextprotocol/servers/issues/64#issuecomment-2530337743). You should change the `node` command in the MCP config to the absolute path of the node binary.
228
+ </details>
145
229
 
146
- #### Additional Troubleshooting
230
+ <details>
231
+ <summary><b>Gemini CLI</b></summary>
147
232
 
148
- See the [troubleshooting guide](https://modelcontextprotocol.io/quickstart#troubleshooting) in the MCP documentation. You can also reach out to us at [Discord](https://discord.com/invite/w9SenAtbme).
233
+ Open the Gemini CLI settings file at `~/.gemini/settings.json` and add Upstash to `mcpServers`. See [Gemini CLI Configuration](https://google-gemini.github.io/gemini-cli/docs/tools/mcp-server.html) for details.
149
234
 
150
- ## Tools
235
+ ```json
236
+ {
237
+ "mcpServers": {
238
+ "upstash": {
239
+ "command": "npx",
240
+ "args": [
241
+ "-y",
242
+ "@upstash/mcp-server@latest",
243
+ "--email",
244
+ "YOUR_EMAIL",
245
+ "--api-key",
246
+ "YOUR_API_KEY"
247
+ ]
248
+ }
249
+ }
250
+ }
251
+ ```
252
+
253
+ </details>
254
+
255
+ ## Example prompts
151
256
 
152
257
  ### Redis
153
258
 
154
- - `redis_database_create_backup`
155
- - `redis_database_create_new`
156
- - `redis_database_delete`
157
- - `redis_database_delete_backup`
158
- - `redis_database_get_details`
159
- - `redis_database_list_backups`
160
- - `redis_database_list_databases`
161
- - `redis_database_reset_password`
162
- - `redis_database_restore_backup`
163
- - `redis_database_run_multiple_redis_commands`
164
- - `redis_database_run_single_redis_command`
165
- - `redis_database_set_daily_backup`
166
- - `redis_database_update_regions`
167
- - `redis_database_get_usage_last_5_days`
168
- - `redis_database_get_stats`
259
+ - _"Create a new Redis database in us-east-1"_
260
+ - _"List my databases sorted by memory usage"_
261
+ - _"Update the user schema by pulling from Redis"_
262
+ - _"Create a backup of this db, then clear it"_
263
+ - _"Show me throughput spikes during the last 7 days"_
169
264
 
170
- ## Development
265
+ ### QStash & Workflow
171
266
 
172
- Clone the project and run:
267
+ - _"Check the QStash logs and figure out why my webhook keeps failing"_
268
+ - _"Find failed workflow runs for user `@admin` today"_
269
+ - _"Retry the failed workflow run that started 2 hours ago"_
270
+ - _"Summarize what's in the DLQ right now, grouped by error type"_
271
+ - _"Pause the schedules that are throwing errors"_
173
272
 
174
- ```bash
175
- pnpm install
176
- pnpm run watch
177
- ```
273
+ ### Upstash Box
178
274
 
179
- This will continuously build the project and watch for changes.
275
+ - _"Spin up a Box, clone this repo, and run the tests"_
276
+ - _"Snapshot this Box and create 5 copies from it, assign each one a GitHub issue"_
277
+ - _"My Box keeps failing to start, check the logs and tell me what's wrong"_
180
278
 
181
- For testing, you can create a `.env` file in the same directory as the project with the following content:
279
+ ## Upstash Box API key (optional)
182
280
 
183
- ```bash
184
- UPSTASH_EMAIL=<UPSTASH_EMAIL>
185
- UPSTASH_API_KEY=<UPSTASH_API_KEY>
281
+ For the MCP to interact with [Upstash Box](https://upstash.com/docs/box/overall/quickstart), the agent needs your Box API key. By default you have to paste it into the chat (or keep it in a `.env`) every time the agent runs a Box tool. To avoid this, you can wire the key into the MCP setup itself so the server picks it up automatically on startup.
282
+
283
+ You can pass it in two ways.
284
+
285
+ **CLI flag**
286
+
287
+ ```json
288
+ {
289
+ "mcpServers": {
290
+ "upstash": {
291
+ "command": "npx",
292
+ "args": [
293
+ "-y",
294
+ "@upstash/mcp-server@latest",
295
+ "--email",
296
+ "YOUR_EMAIL",
297
+ "--api-key",
298
+ "YOUR_API_KEY",
299
+ "--box-api-key",
300
+ "YOUR_BOX_API_KEY"
301
+ ]
302
+ }
303
+ }
304
+ }
186
305
  ```
187
306
 
188
- This will be used for setting the Claude config.
307
+ **Environment variable**
308
+
309
+ ```json
310
+ {
311
+ "mcpServers": {
312
+ "upstash": {
313
+ "command": "npx",
314
+ "args": [
315
+ "-y",
316
+ "@upstash/mcp-server@latest",
317
+ "--email",
318
+ "YOUR_EMAIL",
319
+ "--api-key",
320
+ "YOUR_API_KEY"
321
+ ],
322
+ "env": {
323
+ "UPSTASH_BOX_API_KEY": "YOUR_BOX_API_KEY"
324
+ }
325
+ }
326
+ }
327
+ }
328
+ ```
189
329
 
190
- ### Testing with Claude Desktop
330
+ ## Debugging
191
331
 
192
- To install the Claude Desktop config for local development, add the following to your Claude Desktop MCP config:
332
+ If the server is misbehaving or a tool keeps failing, enable verbose logging with the `--debug` flag:
193
333
 
194
334
  ```json
195
335
  {
196
336
  "mcpServers": {
197
337
  "upstash": {
198
- "command": "node",
338
+ "command": "npx",
199
339
  "args": [
200
- "<path-to-repo>/dist/index.js",
201
- "run",
340
+ "-y",
341
+ "@upstash/mcp-server@latest",
202
342
  "--email",
203
- "<UPSTASH_EMAIL>",
343
+ "YOUR_EMAIL",
204
344
  "--api-key",
205
- "<UPSTASH_API_KEY>"
345
+ "YOUR_API_KEY",
346
+ "--debug"
206
347
  ]
207
348
  }
208
349
  }
209
350
  }
210
351
  ```
211
352
 
212
- > 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.
353
+ Every internal event is then written to **stderr**, which your MCP client surfaces in its own log viewer. Share the relevant snippet when reporting an issue on [GitHub](https://github.com/upstash/mcp/issues).
354
+
355
+ ## Telemetry
356
+
357
+ The server sends anonymous diagnostic info to Upstash with each request: the MCP server SDK version, your runtime version (Node, Bun, etc.), and basic platform info (OS and architecture). **No account data, tool arguments, or results are collected.** To opt out, add `--disable-telemetry` to the args.
213
358
 
214
- You can now use Claude Desktop to run Upstash commands.
359
+ ## Development
360
+
361
+ Clone the project and run:
362
+
363
+ ```bash
364
+ bun i
365
+ bun run watch
366
+ ```
367
+
368
+ This continuously builds the project and watches for changes.
369
+
370
+ For testing, create a `.env` file in the project root:
371
+
372
+ ```bash
373
+ UPSTASH_EMAIL=<UPSTASH_EMAIL>
374
+ UPSTASH_API_KEY=<UPSTASH_API_KEY>
375
+ # Optional, for Box tools:
376
+ UPSTASH_BOX_API_KEY=<UPSTASH_BOX_API_KEY>
377
+ ```
378
+
379
+ To install the local MCP server into Claude Code:
380
+
381
+ ```bash
382
+ claude mcp add --transport stdio upstash -- bun --watch dist/index.js --debug
383
+ ```
215
384
 
216
- To view the logs from the MCP Server in real time, run the following command:
385
+ To tail logs from the MCP server in real time:
217
386
 
218
387
  ```bash
219
- pnpm run logs
388
+ bun run logs
220
389
  ```