@runpod/mcp-server 4.4.0 → 4.6.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,47 @@
1
1
  # @runpod/mcp-server
2
2
 
3
+ ## 4.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 34bb467: Add a directory profile at `/directory` (hosted: `https://mcp.runpod.io/directory`) for app directories such as Anthropic's connector directory. It lists tool descriptions that only say what each tool does, full argument schemas, and a factual briefing, and leaves out the guide tools, `describe-tool`, the tools that take a secret or password as input (`create-secret`, `update-secret`, `create-registry`) and the S3 credentials argument of `run-endpoint` and `runsync-endpoint`, the agent-learning tools, the referral ask and the guide resources; its analytics record which tool ran but no argument values. A tool appears there only once it is classified in `DIRECTORY_TOOLS` per `specgen/DIRECTORY_POLICY.md`; tests fail on an unclassified tool or a directory tool that takes a credential. The default surface at `/` is unchanged. Separately, every profile now redacts secret-looking environment values (passwords, tokens, API keys) in tool results, keeping `{{ RUNPOD_SECRET_<name> }}` references.
8
+
9
+ ### Patch Changes
10
+
11
+ - 02a8f0c: Correct the MCP annotations on tools whose HTTP method understated what they do, so hosts gate them on a human. `update-endpoint`, `update-pod`, `update-secret`, `set-endpoint-gpus` and `retry-job` are now marked destructive: each can clear settings it was not sent, restart a container, overwrite a value that cannot be read back, or remove prior job output. `stream-job` is no longer marked read-only, because the stream hands out each chunk once. `create-secret` and the field-setting updates (`update-cluster`, `update-network-volume`, `update-global-volume`, `update-template`) are now marked idempotent.
12
+ - 8cfdf83: Accept ChatGPT's OAuth callbacks on the hosted server: the stable `https://chatgpt.com/connector_platform_oauth_redirect` and the per-connection `https://chatgpt.com/connector/oauth/{callback_id}`, so ChatGPT and Codex can sign in with Runpod.
13
+ - e39441f: Declare `type: object` on the `body` argument of the create and update tools whose request body is an `allOf` composition (`create-cluster`, `create-endpoint`, `create-pod`, `create-template`, `update-endpoint`, `update-pod`, `update-template`), so directory reviews that read top-level argument types see one on the full schema served at `/directory`.
14
+
15
+ On `/directory`, every tool that takes a request body (`body`) now ends its description with a link to the Runpod REST API v2 reference, which the Claude directory portal suggests for these tools.
16
+
17
+ - 31b1c7d: Every top-level tool argument now declares its `type` (arguments that referenced a shared definition, like `bucketSize`, `cloud` and several request bodies, carried only the reference), and each tool's title is also sent as `annotations.title`. Both were flagged by Anthropic's connector directory review.
18
+ - 77c2af7: Serve OpenAI's domain-verification token at `/.well-known/openai-apps-challenge` on the hosted server, so the OpenAI plugin portal can verify `mcp.runpod.io`.
19
+
20
+ ## 4.5.0
21
+
22
+ ### Minor Changes
23
+
24
+ - 83bffb7: Hosted server: a new optional ALP tool, `report_how_user_found_runpod`, asks
25
+ the agent once per account how its user ended up on Runpod: the kind of
26
+ work (`useCase`) and why Runpod came up (`source`: `searched`,
27
+ `user_named`, `recommended`, `other`), or that it has no such context
28
+ (`noContext`). It collects categories and at most a short generic note,
29
+ never the user's own words. The ask rides in the `initialize` instructions; on each
30
+ `initialize` with a resolved account the server checks the storage sink and
31
+ omits the ask once the account has answered (a failed lookup keeps the ask),
32
+ and the sink keeps the first answer per account, with the server answering
33
+ `already_submitted` to any later one. Answers are stored with the
34
+ other ALP submissions under their own `referral` route, with the note capped at 200
35
+ characters, and scrubbed like every other submission. Absent on local stdio
36
+ and whenever the sink is not configured, like the other ALP tools.
37
+ - ff02fdb: Every tool now carries a human-readable `title` in tools/list (for example `List GPU types` for `list-gpu-types`), so hosts can show readable names and the server meets directory review requirements. Generated tools derive the title from their name, with overrides in `specgen/generator-config.yaml`; curated tools declare their own.
38
+
39
+ ### Patch Changes
40
+
41
+ - da524df: GraphQL errors that Runpod returns on an HTTP 200 now fail the tool call with a status taken from the error code (401, 403, 400 including Runpod's own `RUNPOD` input errors, otherwise 502) instead of 200, so agents get the matching recovery hint. A non-array `errors` field no longer crashes the call.
42
+ - d075b00: Network failures reaching the Runpod API (DNS, connection refused, unreachable host, TLS errors, or a connection dropped mid-request) now come back as tool errors with the underlying `cause` code and a recovery hint, instead of escaping as an opaque JSON-RPC `-32603 fetch failed`. Failures where the request never reached Runpod say a retry is safe; a dropped connection says a write may have been applied and to check with a get- or list- tool before calling again.
43
+ - 6a577ea: Update `@runpod/plugin-knowledge` from 1.7.4 to 1.8.0, so `list-guides` and `read-guide` serve the plugin's 1.8.0 skills and guides, including the new `runpod-build-template` skill.
44
+
3
45
  ## 4.4.0
4
46
 
5
47
  ### Minor Changes
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  The official Runpod Model Context Protocol (MCP) server. It lets MCP clients such as Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, opencode, and Pi manage your Runpod Pods, Serverless endpoints, templates, network volumes, and more.
4
4
 
5
- **We host it for you at [`https://mcp.getrunpod.io/`](https://mcp.getrunpod.io/)** — point your client at that URL and sign in with Runpod. Nothing to install, no API key on disk. Or run it locally from npm as [`@runpod/mcp-server`](https://www.npmjs.com/package/@runpod/mcp-server).
5
+ **We host it for you at [`https://mcp.runpod.io/`](https://mcp.runpod.io/)** — point your client at that URL and sign in with Runpod. Nothing to install, no API key on disk. Or run it locally from npm as [`@runpod/mcp-server`](https://www.npmjs.com/package/@runpod/mcp-server).
6
6
 
7
7
  ## Quick start
8
8
 
@@ -63,7 +63,7 @@ To configure a client by hand, point it at the hosted server over HTTP (no local
63
63
  **Claude Code:**
64
64
 
65
65
  ```bash
66
- claude mcp add --transport http runpod -s user https://mcp.getrunpod.io/
66
+ claude mcp add --transport http runpod -s user https://mcp.runpod.io/
67
67
  ```
68
68
 
69
69
  **Other clients** (Cursor, VS Code, Claude Desktop connectors, …) — use a URL-based MCP entry:
@@ -72,7 +72,7 @@ claude mcp add --transport http runpod -s user https://mcp.getrunpod.io/
72
72
  {
73
73
  "mcpServers": {
74
74
  "runpod": {
75
- "url": "https://mcp.getrunpod.io/"
75
+ "url": "https://mcp.runpod.io/"
76
76
  }
77
77
  }
78
78
  }
@@ -92,7 +92,7 @@ You can send your API key as a header instead of signing in with OAuth, as descr
92
92
 
93
93
  ```toml
94
94
  [mcp_servers.runpod]
95
- url = "https://mcp.getrunpod.io/"
95
+ url = "https://mcp.runpod.io/"
96
96
  bearer_token_env_var = "RUNPOD_API_KEY"
97
97
  ```
98
98