Skip to content

v0.9.0 — add create_deploy + 4 deploy management tools#4

Merged
mastermanas805 merged 1 commit into
masterfrom
mcp-create-deploy-tool
May 12, 2026
Merged

v0.9.0 — add create_deploy + 4 deploy management tools#4
mastermanas805 merged 1 commit into
masterfrom
mcp-create-deploy-tool

Conversation

@mastermanas805
Copy link
Copy Markdown
Member

Summary

  • Adds create_deploy plus list_deployments, get_deployment, redeploy, delete_deployment so the full container-deploy lifecycle is reachable from any MCP client (Claude Code, Cursor, Windsurf). Tools: 11 → 16.
  • Adds requestMultipart<T>() to src/client.ts. Decodes the agent's base64 gzip tarball to a Buffer, wraps it as a Blob and attaches as the tarball form file alongside name, port, env, and JSON-stringified env_vars. Bearer auth header is set; Content-Type is left to fetch() so it can fill in the multipart boundary.
  • resource_bindings is documented as "agent passes resource tokens; api resolves server-side." The client merges resource_bindings into env_vars as raw token strings and never round-trips GET /credentials itself — pre-resolving would leak connection URLs into the tool params, which the agent host may log.
  • Bumps package.json and server.json to 0.9.0. README updated with a deploy section (tarball construction snippets, resource-binding semantics, polling guidance).
  • test.sh gains two new assertions: the full 16-tool list, an explicit check that the 5 new deploy tools are registered, and an auth-required smoke test for create_deploy without INSTANODE_TOKEN.

Test plan

  • npm run build exits 0 (TypeScript compiles cleanly)
  • npm test exits 0 — 8 PASS, 0 FAIL
  • tools/list returns all 16 tools, no stragglers from the dead-tools blocklist
  • create_deploy without INSTANODE_TOKEN surfaces the auth-required text instead of network-calling
  • Live cluster smoke test (out of scope for this PR — requires INSTANODE_TOKEN against a deploy-enabled environment)

🤖 Generated with Claude Code

Agents previously had to read docs to learn the POST /deploy/new
multipart endpoint. This adds a first-class tool that takes a
base64-encoded gzip tarball and returns a public URL, plus list/get/
redeploy/delete tools so the full deploy lifecycle is reachable from
an MCP client.

resource_bindings is documented as "agent passes resource tokens; api
resolves server-side" — the client never pre-resolves tokens to
connection URLs, which would leak secrets into tool params.

Tools: 11 → 16. Adds requestMultipart() helper to client.ts.
@mastermanas805 mastermanas805 merged commit be5da4a into master May 12, 2026
1 check passed
@mastermanas805 mastermanas805 deleted the mcp-create-deploy-tool branch May 12, 2026 05:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant