One bounded tooling plane
The OpenSDK tooling host uses newline-delimited JSON-RPC 2.0 over standard input and output. Editors negotiate through pliego/handshake; the reference MCP adapter exposes the same capability handshake after completing the MCP 2025-11-25 initialization lifecycle.
- OpenSDK
- 0.4.0-beta.1
- JSON-RPC
- 2.0 over bounded newline-delimited messages
- MCP
- 2025-11-25 reference client surface
Negotiate before diagnostics
cargo run -p pliego-cli --locked -- sdk tooling-host \
--protocol pliego \
--feature diagnostic-linksThe native handshake must include protocolVersion 0.4.0-beta.1. Missing or incompatible versions fail before any diagnostic or project method becomes available.
MCP is a client, not a privilege
cargo run -p pliego-cli --locked -- sdk tooling-host \
--protocol mcp \
--feature diagnostic-links
npm run check:opensdk:toolingThe MCP client receives no implicit filesystem root, network access, sampling, elicitation, or project capability. Its reference tool accepts only the empty arguments object declared by its schema and cannot bypass OpenSDK admission policy.
Fail with structured boundaries
The host accepts at most 10,000 requests per process and 1 MiB per JSON line. Invalid JSON-RPC versions, unknown fields, unsupported MCP versions, pre-initialization calls, unknown methods, and unknown tools return structured errors; notifications produce no response.