# MCP compatibility boundary The pinned mcpc revision cannot describe required versus optional properties, nested objects/arrays, 64-bit values, or application callback context. The project therefore keeps mcpc immutable and implements the stdio dispatch and tool schemas in `server.c`, using mcpc's bundled `mjson` parser for raw JSON. This boundary supports the MCP 2024-11-05 initialize, tools/list, and tools/call flow needed by the server. Tool success and application errors are returned as JSON serialized into TextContent; application errors also set `isError`. If mcpc is upgraded, this boundary should be removed only after its integration tests demonstrate equivalent optional/object/array schema and callback-state behavior.