PluMCP: Clojure/ClojureScript library for building https://modelcontextprotocol.io/ Clients and Servers Version 0.2.0-beta5 is released to Clojars. This release fixes MCP client HTTP transport issues and addresses usability/issues in client/server "request cancellation". • Repo: https://github.com/plumce/plumcp • Changelog:
- Added
- Client/Server "Request Cancellation" support functions
- `cancel-sent-request`
- `cancel-request-received?`
- Sampling entity generator fns
- `make-sampling-text-message`
- `make-sampling-text-message-request`
- `make-sampling-text-message-result`
- Roundtrip tests
- test-client-request-cancellation
- test-server-request-cancellation
- Changed
- Client HTTP transport:
- Treat all non-200 responses as errors, not just 400/404/500
- JSON-RPC errors have `:plumcp.core/http-status` placed under `:error`
- Remove support for redundant `:on-other-response` option kwarg
- Gracefully handle server not supporting GET (stream)
- Retry fetching GET-stream (only once) after JVM/IOException
- Fixed
- Request cancellation for both client and server
Please share your feedback/questions/followup in #plumcp or in thread.