Skip to content

refactor(forge): plan calls with forge's plain-data requests - #350

Merged
mattzcarey merged 4 commits into
mainfrom
forge-plain-request
Oct 28, 2026
Merged

mattzcarey merged 4 commits into
mainfrom
forge-plain-request

Conversation

@mattzcarey

@mattzcarey mattzcarey commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

planCall now spreads forge's request straight into the plan. Forge's buildRequest returns plain data, { method, url, headers, body? }, so the service no longer reads a Request back apart to send it over RPC, and buildRequest and InvalidArguments are imported rather than passed in. The plan's fields are unchanged, so the main Worker doesn't change.

This picks up cloudflare/forge#71, where the MCP target generates tools rather than a server:

  • src/generated/forge-mcp/_/ is just tool.ts: listTools, toolsByName and buildRequest
  • _/server.ts and _/index.ts are gone; nothing here imported them
  • regenerated from openapi@d35bb44, the latest release: 8 tools added, none removed, tools with permissions 2,366 → 2,368. This replaces the bot's chore(forge): regenerate the forge MCP tools #334

forge.json pins 580804fc on #71's branch. Re-pin to the merge commit on forge's main once #71 lands, before that branch is deleted.

Tests ran.

Forge's MCP target now generates tools, not a server (cloudflare/forge#71):
the runtime is _/tool.ts alone, and buildRequest returns the request as
plain data. planCall spreads it into the plan instead of reading a Request
back apart, and imports buildRequest and InvalidArguments directly rather
than taking them as arguments.
@mattzcarey
mattzcarey marked this pull request as ready for review October 27, 2026 19:43
8 tools added, none removed; tools with permissions 2,366 -> 2,368.
@mattzcarey
mattzcarey merged commit 676b581 into main Oct 28, 2026
5 checks passed
@mattzcarey
mattzcarey deleted the forge-plain-request branch October 28, 2026 10:05
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