Repository navigation
·
5 commits
to 1.x
since this release
Immutable
release. Only release title and notes can be modified.
What's Changed
The server verifies every echoed requestState itself once given a RequestStateSigner, binding each state to its caller, method, target and arguments, and expiring it after ten minutes. The HTTP endpoint keeps checking the valid Mcp-Param-* headers of a tool that also declares an invalid one.
Added
ServerBuilder::setRequestStateSigner(): the server verifies every echoedrequestStatebefore its handler runs, answering-32602for one it did not mint, and hands the handler the verified payload as$context->requestStatePayloadand a bound signer as$context->requestStateSigner.RequestStateSignerbinds a state to the authenticated subject, the method, its target and a digest of its arguments by default, andbindBy()replaces that policy.
Fixed
- The HTTP endpoint checks the
Mcp-Param-*headers of a tool whose only invalidx-mcp-headeris anumber-typed one, where it used to skip every header of that tool.
Changed
- A
RequestStateSignerstate expires, after ten minutes by default (ttlSeconds). The wire format carries the expiry, so a state minted before this release no longer verifies.
Full Changelog: v1.1.0...v1.2.0