- There doesn't appear to be a meaningful scenario for injecting different readers/writers than stdin/stdout, and having InputOutputStreams complicates the API.
- Logically folks talk about "input and output", "readers and writers", etc., and "stdio" is "standard input and output", so having input specified first is less likely to be a source of bugs.
- Logger should be optional, not required, to simplify the common and getting-started cases.
* Add more tests
* Fix some code smells
* Remove more code smells
* Combine "ServerIntegrationTests" and "ClientIntegrationTests" because both are client integration tests just using different servers
* Clean up resources after test
* Improve kill logic for spawned child processes
* Improved testability for Stdio
* Fix SseIntegration tests
* Improve tool handling
* Rework stuff with new hosting options
* Update readme
* Fix build
* Try run client tests
* Fix build
* Fix issues on linux
* Try to run testserver on linux
* Fix test issue
* Fix code smells
* Server support (stdio)
* TestServer project
* Refactored McpClient class to extract shared endpoint logic (with McpServer) to a base class, McpJsonRpcEndpoint.
* Improved xmldoc comments for protocol types, mirroring specification schema comments.
* Update README.MD