* fix: allow description field to be absent from `Tool`
* description field is not a requried field of Tool
* Apply suggestions from code review
* Update Tests/MCPTests/ToolTests.swift
---------
Co-authored-by: Mattt <mattt@me.com>
* Adding unit test
* Decode entire request to strongly typed Method call. This allows NotRequired parameters to properly decode from null, which wouldn't be possible when decoding from the 'null' JSON encoding directly.
* Allow `params` field to be omitted in requests for methods with empty parameters
* Add ping request to roundtrip test
* Generalize decoding of non-required parameters