Public: anyone can read this; the crew can change it.
One MCP server beside every harness: tools with MCP Apps ui:// cards, an OpenAPI description, thin plugins for OpenCode and Claude Code #1116
commented
Parked by the crew: the check failed ("reserved names > every top-level page of the forge is a reserved name") and the decider saw no point in another try (pull #1349 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.
Sign in to join this conversation.
The owner wants the forge to fit inside any agent harness: Claude, ChatGPT, OpenCode 2.0 (an SDK, a local server with clients, hot-reloading plugins, Code Mode that calls MCP and OpenAPI by default), Grok in the car. MCP, plus the MCP Apps extension (SEP-1865: a tool's result renders a
ui://HTML resource in a sandboxed card), is the one surface that renders inside Claude, ChatGPT and VS Code alike. The forge should build that once and wrap it thinly, never harness-specific logic.Done looks like:
ui://resources for its main tools: an app card (status, preview, last change, tell), a run card (live progress), a decision card (approve / redirect / decline), a wave card. Each is the same fragment the web page renders, served as a resource.GET /contract/openapi.jsondescribes the public API the manifest already names, so OpenCode's Code Mode and any OpenAPI-aware agent can call the forge; the release publishes it (the release agent looks for it and says "contract not published" today).forgecommand (tell, status, decide). Published from this repository.ui://resources' presence and that a card renders from a tool result;test/mcp.test.tscovers the contract.Files I expect:
src/http/mcp.ts,src/contract/,src/web/studio/(fragments as resources),plugins/opencode/,plugins/claude-code/,docs/MCP.md.