Repository navigation
v4.3.0
Minor Changes
-
39d296f: Add
describe-tool, which returns any tool's full definition, and list the tools with large request bodies (create/update endpoint, template and cluster, update-pod, create/update secret) with their call shape only: the top-level arguments with their types, nested objects collapsed. What each tool accepts is unchanged: the full schema still gates every call and is onedescribe-toolcall away. Every client handshake carries about a quarter fewer bytes. -
40d9745: Resync the vendored v2 OpenAPI spec with production and update
@runpod/typescript-api-sdkfrom 0.2.0 to 0.3.0 and@runpod/plugin-knowledgeto 1.7.4. Adds thelist-global-volumes,get-global-volume,create-global-volume,update-global-volume,delete-global-volumeandget-organizationtools,globalmounts oncreate-pod,mountson endpoints, andpaginationonlist-clustersandlist-network-volumes. Those two list tools now return one page (defaultlimit1000); followpagination.nextCursoruntilhasNextPageis false.tools/listshrinks from 97 KB to 87 KB.create-podis listed by its call shape, likecreate-endpoint;describe-toolserves its full schema. Tool annotations leave outidempotentHintwhen it isfalse, the MCP spec default. A description override on a composed schema is no longer repeated on eachallOfmember. -
d2d12ef: The installer runs without prompts and supports opencode and Pi.
npx @runpod/mcp-server@latest add --client <ids>configures the named clients
with no prompts (--hostedby default,--localto read the key from
RUNPOD_API_KEY),remove --client <ids>undoes it, andadd --listshows
which clients are detected and where each config lives. Run with no
--clientand no terminal, the installer now exits 2 and says nothing was
configured, instead of exiting 0 having written nothing. Exit codes: 0
configured, 1 a client failed, 2 bad usage.--helpand--versionwork at
the top level and onadd/remove.New clients: opencode (
~/.config/opencode/opencode.json, or an existing
opencode.jsonc, undermcpwith opencode'sremote/localentry schema)
and Pi (~/.pi/agent/mcp.json, honouringPI_CODING_AGENT_DIR). Both config
formats were checked by running opencode 1.19.0 and Pi 1.2.0 against the files
the installer writes.
Patch Changes
-
37dfc9b: Generated tool argument descriptions are compacted to what an agent needs: leading sentences up to a cap, constraints kept, REST paths replaced by tool names, response prose and status codes dropped.
tools/listshrinks by roughly a fifth; a byte-budget test keeps it from regrowing. -
a388ccb: Hosted usage analytics now record which guide or concept was requested: the
id,concept,query,kindandlimitarguments oflist-guides,read-guide,lookup-conceptandsearch-concepts.read-guideevents also carryguide_kind(skill, reference or golden-path). Guide resource reads (resources/read) are recorded as a newrunpod_mcp_resource_callevent with the guide URI, orunknownwhen nothing matched. Other tools still send no arguments, stdio still sends nothing, andX-Runpod-Analytics: offstill opts out. -
a388ccb: The hosted server now breaks 404 loops: once a signed-in caller gets 50 404s from one tool within 10 minutes, that tool answers that caller with a retryable 429 for 1 hour. Counts live in the existing Convex sink, successful calls never touch it, and any sink failure lets calls through. Local (stdio) installs are unaffected. Each block emits one
runpod_mcp_loop_blockedanalytics event, and the 429s it serves carryblocked_by: not_found_loop. -
19cae9f: Hosted server: every request except
tools/callnow answers asapplication/jsoninstead of an SSE stream, so the CDN compresses it (tools/listdrops from ~65 KB to ~13 KB on the wire per handshake).tools/callkeeps SSE because clients read it under their long stream timeout and some tools hold a response longer than the JSON request timeout.The per-request
mcp_requestlog line is sampled (MCP_REQUEST_LOG_SAMPLE_RATE, default0.1;MCP_VERBOSE_LOGS=truelogs all) and now records the response status, duration, JSON-RPC method (with tool name), the client'sinitializename/version, user agent, and hashed caller key and address, so traffic can be attributed by client. -
c55d61a: Hosted server: the request body is validated once with the SDK's JSON-RPC schemas;
prefersJsonResponseandsummarizeRpctake the parsed messages, and the log line reports a client name/version only for a spec-validinitialize. -
6efc1b3: Accept the argument shapes strict-schema clients send. Clients such as Codex
and opencode must send every property, so an optional query filter they mean
to leave out arrives asnull,""or[]. Those are now treated as omitted:
cudaVersions: []next tominCudaVersiononget-gpu-typeand
list-gpu-types,lastN: nullnext to an explicit range on the billing tools,
andcursor: ""on a first page no longer fail upstream. Numbers and booleans
a client stringified inside a request body (disk: "20",workers.max: "1")
are converted back where the body schema asks for one; string fields stay
strings.A 400 hint now names the upstream cause instead of always saying "Input shape
mismatch": no capacity for the requested hardware, no account balance, or two
conflicting arguments. Real validation failures (a 422, or field errors) keep
the shape hint.