Normalized MCP server discovery result.
@type t() :: %Synaptic.MCP.Discovery{ resources: [map()] | nil, resources_supported?: boolean(), server_info: map(), tools: [tool()], warnings: [term()] }
@type tool() :: %{ :name => String.t(), optional(:description) => String.t(), optional(:input_schema) => map(), optional(:annotations) => map() }