In-memory MCP client for tests. Tools are supplied as a map of name to %{description:, input_schema:, run:} or as {name, fun} pairs.
%{description:, input_schema:, run:}
{name, fun}
@spec new(keyword() | map()) :: %GEPA.Adapters.MCP.Client.Static{tools: term()}