1@README.md 2 3- `rmcp` types stay out of the public API. `CommandServer`, `ServerIdentity`, 4 `CommandTool` and the error types are this crate's own; a consumer that has 5 to `use rmcp::…` means something is missing here. 6- The enum must be internally tagged (`#[serde(tag = "…")]`). Reflection reads 7 the tag's `const` from each variant's schema and refuses an enum without 8 one (`ReflectError::UntaggedVariant`) rather than guessing a name. 9- A handler's `Err` and a call with bad arguments are tool results with 10 `is_error`, not protocol errors, so the model sees the message and can 11 correct the call. Only an unknown tool name is a protocol error. 12- The `rmcp` pin is the `deizel/rust-sdk` fork; the reason is beside the pin 13 in `../Cargo.toml`.