Flatten MCP click and paste tool schemas
Replaced root-level `oneOf`, `allOf`, and `anyOf` in Peekaboo's published click and paste schemas with flat object contracts while retaining cross-field enforcement in the existing runtime validators.
openclaw/Peekaboo · #711
MCP interoperability fix
Peekaboo's click and paste tools can now be registered by providers that reject root-level JSON Schema combinators without weakening runtime safety checks.
Problem
MCP clients forwarding the schemas to providers such as Anthropic could receive a hard request rejection because tool input schemas contained unsupported root combinators. Depending on the client, both tools could disappear or invalidate the complete advertised tool list.
Approach
Publishes flat object schemas and documents the cross-field requirements in tool descriptions and the MCP guide. Existing runtime checks still reject mixed targets, missing coordinate receipts, conflicting click variants, invalid paste payloads, and policy violations.
Impact and scope
- Restores click and paste availability for MCP clients that do not rewrite provider-incompatible schemas.
- Separates portable wire-schema advertisement from semantic and desktop-authorization enforcement at execution time.
- Avoids a catalog-level failure that could reject every tool in an otherwise valid provider request.
Validation
- A signed native CLI was exercised through real stdio `initialize`, `tools/list`, and invalid `tools/call` requests; installed 4.3.3 reproduced the old combinators and the branch advertised flat schemas.
- All 87 selected MCP wire, catalog, interaction, and background-policy tests passed, alongside SwiftFormat, documentation lint, SwiftLint, macOS CI, and CodeQL.
- The maintainer verified preserved runtime refusals and credited Goutam for the schema repair; the GitHub-verified merge commit credits Goutam Adwant and closed GH-708. No live Anthropic request is claimed.