Mcp Forward Compat
mcp_servers: [playwright, github]
v0.4.0concept
MCP forward-compatibility (v0.2 schema; v0.3 execution)
- id: research
uses: web_researcher
mcp_servers: [playwright, github]
mcp_tools: [playwright_navigate, github_search]
v0.2 (now): The spec fields are parsed + validated but not executed. Validation includes:
- Every server name in
mcp_serversmust exist in the executor’s MCP registry (server-side: agent’s installed MCPs; CLI:~/.config/opencode/mcp.json) - Every tool name in
mcp_toolsmust be a known tool of one of the declared servers - If invalid, executor returns
StageMCPConfigError
The validation is recorded in provenance as "mcp_servers_validated": ["playwright", "github"] for downstream debugging and so v0.3 implementations can see which stages declared which tools.
v0.3 (Phase 3+): Execution will involve:
- Tool-calling models (gpt-4o, claude-3.5-sonnet, M-series models with tool support)
- Auth flow per MCP server (user’s existing OAuth or server’s own auth)
- Per-tool billing (research/playwright_navigate: 0.01 USDC, etc.)
- Audit trail: every tool call logged in provenance with
mcp_call_id,tool,params_hash,result_hash
v0.2 implementations SHOULD preserve mcp_servers and mcp_tools fields verbatim in provenance payloads so v0.3 runners don’t need to re-validate.