Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 23 additions & 11 deletions agent-setup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Every command below is safe to re-run on a machine where setup already happened.

## Install Runpod Skills and MCP server

Every route installs the same skills: the `runpod` router, the lane skills (`runpod-mcp`, `runpodctl`, `flash`, `runpod-usage`, `runpod-templates`, `companion-clis`, `runpod-migrate`), and the journey skills that `runpod-mcp` routes to (`discovery`, `lifecycle-crud`, `serverless-deploy`, `pod-deploy`, `pod-doctor`, `endpoint-ops`, `cost-audit`). It also wires up the hosted Runpod MCP server (`https://mcp.getrunpod.io/`) for control-plane tools. The skills install the Runpod CLI and Flash SDK later, on demand, the first time a task needs them. Do not install those now.
Every route installs the same skills: the `runpod` router, the lane skills (`runpod-mcp`, `runpodctl`, `flash`, `runpod-usage`, `runpod-templates`, `companion-clis`, `runpod-migrate`), and the journey skills that `runpod-mcp` routes to (`discovery`, `lifecycle-crud`, `serverless-deploy`, `pod-deploy`, `pod-doctor`, `endpoint-ops`, `cost-audit`). It also wires up the hosted Runpod MCP server (`https://mcp.runpod.io/`) for control-plane tools. The skills install the Runpod CLI and Flash SDK later, on demand, the first time a task needs them. Do not install those now.

Use the correct section for your agent below.

Expand Down Expand Up @@ -82,7 +82,7 @@ Expect the `runpod` router and the lane and journey skills listed above. If the

### 2. Register the MCP server

Use the section for your agent. Every agent connects to the same hosted server, `https://mcp.getrunpod.io/`, and signs in with OAuth on first Runpod tool use.
Use the section for your agent. Every agent connects to the same hosted server, `https://mcp.runpod.io/`, and signs in with OAuth on first Runpod tool use.

#### Codex

Expand All @@ -94,32 +94,44 @@ codex plugin add runpod@runpod
If the `runpod` MCP tools don't appear after install, add the hosted server directly:

```
codex mcp add runpod --url https://mcp.getrunpod.io/
codex mcp add runpod --url https://mcp.runpod.io/
```

In Codex Desktop, the user must fully quit and reopen the app before the plugin and MCP tools appear.

#### Gemini CLI

```
gemini mcp add -s user -t http runpod https://mcp.getrunpod.io/
gemini mcp add -s user -t http runpod https://mcp.runpod.io/
```

Gemini can alternatively install natively through the plugin's bundled `gemini-extension.json`. See your client's extension documentation.

#### Pi

```
pi mcp add runpod --url https://mcp.getrunpod.io/
pi mcp add runpod --url https://mcp.runpod.io/
```

#### Cursor, GitHub Copilot, Windsurf, Cline, opencode, and all other agents

Add a server entry named `runpod` with the HTTP (streamable HTTP) transport and URL `https://mcp.getrunpod.io/` to your agent's MCP configuration. Merge it into the existing file; do not overwrite other servers. See your agent's MCP documentation in [Resources](#resources) for the file location and format.
For Cursor, Windsurf, VS Code (GitHub Copilot), opencode, and Claude Desktop, run the installer with your agent's id. It writes the config without prompts:

Do not run `npx @runpod/mcp-server@latest add` yourself. It's an interactive wizard for people at a terminal: in an agent shell it exits without writing any config, and it only supports Claude Code, Cursor, Windsurf, Claude Desktop, and VS Code. If you can't edit your agent's MCP config, hand it to the user:
```
npx @runpod/mcp-server@latest add --client <agent-id>
```

| Agent | `--client` id |
|---|---|
| Cursor | `cursor` |
| Windsurf | `windsurf` |
| VS Code (GitHub Copilot) | `vscode` |
| opencode | `opencode` |
| Claude Desktop | `claude-desktop` |

The installer needs Node 20 or later. It exits `0` when every named client was configured, `1` when one failed, and `2` on bad usage. Run `npx @runpod/mcp-server@latest add --list` to see which clients it detects and where each config lives. Always pass `--client`: without it and without a terminal, the installer exits `2` and configures nothing. After it writes the config, it prints the sign-in step for each client (for example, restart Cursor, or run `opencode mcp auth runpod`); do that step or relay it to the user.

> **User step.** Ask the user to run `npx @runpod/mcp-server@latest add` in their own terminal and pick your agent.
For any other agent, such as Cline, add a server entry named `runpod` with the HTTP (streamable HTTP) transport and URL `https://mcp.runpod.io/` to your agent's MCP configuration. Merge it into the existing file; do not overwrite other servers. See your agent's MCP documentation in [Resources](#resources) for the file location and format.

After registering, the user approves the OAuth sign-in in the browser the first time you call a Runpod tool.

Expand All @@ -136,10 +148,10 @@ When no user is present (CI, a scheduled job, an agent SDK run), nobody can do t
3. Connect the hosted MCP server with the key instead of OAuth:

```
claude mcp add --transport http runpod -s user https://mcp.getrunpod.io/ --header "Authorization: Bearer $RUNPOD_API_KEY"
claude mcp add --transport http runpod -s user https://mcp.runpod.io/ --header "Authorization: Bearer $RUNPOD_API_KEY"
```

For other clients, add the same `Authorization` header to the server entry (for Gemini CLI: `gemini mcp add -s user -t http -H "Authorization: Bearer $RUNPOD_API_KEY" runpod https://mcp.getrunpod.io/`), or run the server locally over stdio with `RUNPOD_API_KEY` set: `npx -y @runpod/mcp-server@latest`.
For other clients, add the same `Authorization` header to the server entry (for Gemini CLI: `gemini mcp add -s user -t http -H "Authorization: Bearer $RUNPOD_API_KEY" runpod https://mcp.runpod.io/`), or run the server locally over stdio with `RUNPOD_API_KEY` set: `npx -y @runpod/mcp-server@latest`.
4. In headless Claude Code (`claude -p`), allow the Runpod skill and the MCP tools your task needs up front, for example `--allowedTools "Skill(runpod:runpod-mcp)"`. Without `Skill(runpod:runpod-mcp)`, the `runpod-mcp` skill is refused.
5. Write the result banner below to your log. Mark anything that still needs a person with `✗`.

Expand Down Expand Up @@ -171,7 +183,7 @@ Anything beyond this (the `runpodctl` CLI, the Flash SDK for Python Serverless d
Two different tools take feedback, on two different servers:

- **About these docs:** `submit_feedback` on the Runpod docs MCP server (`https://docs.runpod.io/mcp`).
- **About the Runpod product or the Runpod MCP tools:** `report_feedback` on the Runpod MCP server (`https://mcp.getrunpod.io/`).
- **About the Runpod product or the Runpod MCP tools:** `report_feedback` on the Runpod MCP server (`https://mcp.runpod.io/`).

Only call either one when you have something real to report. Never call them with placeholder content or in sessions that have nothing to do with Runpod.

Expand Down
2 changes: 1 addition & 1 deletion docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
"Always pass the path of the page you read, such as `/serverless/overview`, and submit one entry per page. Do not submit feedback for pages you only saw in search results.",
"Start the feedback text with `ISSUE:` when a page is incorrect, outdated, incomplete, or confusing, or when a code example fails. State what was wrong or missing, what you expected to find, and the question you were trying to answer.",
"Start the feedback text with `POSITIVE:` when a page fully answered the question. Name the section that resolved it and the task you were working on.",
"Keep feedback about the documentation itself. Do not use `submit_feedback` for Runpod product support requests. Problems with the Runpod product or with the Runpod MCP tools go to the `report_feedback` tool on the Runpod MCP server (`https://mcp.getrunpod.io/`), not here.",
"Keep feedback about the documentation itself. Do not use `submit_feedback` for Runpod product support requests. Problems with the Runpod product or with the Runpod MCP tools go to the `report_feedback` tool on the Runpod MCP server (`https://mcp.runpod.io/`), not here.",
"If you are not connected to the Runpod docs MCP server, `submit_feedback` is unavailable: web search and web fetch do not expose it. Send the same feedback over HTTP instead: POST to `https://docs.runpod.io/feedback` with `Content-Type: application/json` and a body of `{\"path\": \"{PAGE_PATH}\", \"feedback\": \"{FEEDBACK_TYPE}: ...\"}`, where `PAGE_PATH` is the path of the page you read, for example `/serverless/overview`, and `FEEDBACK_TYPE` is `ISSUE` or `POSITIVE`, following the same rules as `submit_feedback` above. Both fields are required, and the path must be the published page path without the `.md` extension."
]
},
Expand Down
4 changes: 2 additions & 2 deletions get-started/agent-skills.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ codex plugin marketplace add https://github.com/runpod/runpod-plugins-official.g
Run `codex /plugins`, open the **Runpod** tab, and install (reload if prompted). If the Runpod MCP tools don't appear, add the hosted server manually:

```bash
codex mcp add runpod --url https://mcp.getrunpod.io/
codex mcp add runpod --url https://mcp.runpod.io/
```

### Gemini
Expand All @@ -139,7 +139,7 @@ npx @runpod/mcp-server@latest add
The installer authenticates the MCP server for you. To reuse the API key you already set instead, pass it as a bearer header when you add the server. For example, in Claude Code:

```bash
claude mcp add --transport http runpod -s user https://mcp.getrunpod.io/ \
claude mcp add --transport http runpod -s user https://mcp.runpod.io/ \
--header "Authorization: Bearer $RUNPOD_API_KEY"
```

Expand Down
18 changes: 10 additions & 8 deletions get-started/mcp-servers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@ Runpod provides two [Model Context Protocol (MCP)](https://modelcontextprotocol.

The Runpod API MCP server gives AI tools access to the [Runpod REST API](/api-reference/overview), letting you create and manage Pods, Serverless endpoints, templates, network volumes, and container registries through natural language.

**Hosted endpoint:** `https://mcp.getrunpod.io/` (Streamable HTTP transport)
**Hosted endpoint:** `https://mcp.runpod.io/` (Streamable HTTP transport)

If you connected earlier using `https://mcp.getrunpod.io/`, that address still works. New connections should use `https://mcp.runpod.io/`.

**Local package:** `@runpod/mcp-server` (via npx)

Expand All @@ -26,7 +28,7 @@ You can connect in two ways: the recommended hosted server, or a local server th

### Hosted server (recommended)

The hosted server runs at `https://mcp.getrunpod.io/` and provides the same capabilities as the local server. OAuth-capable clients run a "Sign in with Runpod" flow on first connect: a browser opens, you log in to the Runpod console and approve the request, and the server obtains a session-scoped API key. Nothing is stored on disk.
The hosted server runs at `https://mcp.runpod.io/` and provides the same capabilities as the local server. OAuth-capable clients run a "Sign in with Runpod" flow on first connect: a browser opens, you log in to the Runpod console and approve the request, and the server obtains a session-scoped API key. Nothing is stored on disk.

The guided installer is the recommended path for supported clients. It detects your installed clients — Claude Code, Claude Desktop, Cursor, Windsurf, and VS Code — and configures each one, handling client-specific config-key differences automatically:

Expand All @@ -39,31 +41,31 @@ To undo these changes, run `npx @runpod/mcp-server@latest remove`.
#### Claude Code (hosted)

```bash
claude mcp add --transport http runpod -s user https://mcp.getrunpod.io/
claude mcp add --transport http runpod -s user https://mcp.runpod.io/
```

#### Claude Desktop (hosted)

1. Open **Settings** in Claude Desktop.
2. Navigate to **Connectors** and select **Add custom connector**.
3. Enter `https://mcp.getrunpod.io/` as the URL and click **Add**.
3. Enter `https://mcp.runpod.io/` as the URL and click **Add**.

#### VS Code with Copilot (hosted)

1. Open the Command Palette (Ctrl+Shift+P on Windows/Linux or Cmd+Shift+P on macOS).
2. Run **MCP: Add Server** and select **HTTP**.
3. Enter `https://mcp.getrunpod.io/` as the URL and `Runpod` as the name.
3. Enter `https://mcp.runpod.io/` as the URL and `Runpod` as the name.
4. Select **Global** or **Workspace** and click **Add**.

#### Other clients (hosted)

For any other MCP-compatible client, use the remote URL `https://mcp.getrunpod.io/`:
For any other MCP-compatible client, use the remote URL `https://mcp.runpod.io/`:

```json
{
"mcpServers": {
"runpod": {
"url": "https://mcp.getrunpod.io/"
"url": "https://mcp.runpod.io/"
}
}
}
Expand All @@ -75,7 +77,7 @@ Clients differ in the exact key name they use for a remote server URL. For the c
To skip the OAuth flow, pass your API key as a bearer header. For example, in Claude Code:

```bash
claude mcp add --transport http runpod -s user https://mcp.getrunpod.io/ \
claude mcp add --transport http runpod -s user https://mcp.runpod.io/ \
--header "Authorization: Bearer $RUNPOD_API_KEY"
```

Expand Down
Loading