Skip to content

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_servers must exist in the executor’s MCP registry (server-side: agent’s installed MCPs; CLI: ~/.config/opencode/mcp.json)
  • Every tool name in mcp_tools must 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.