{"serverId":"mcp-registry/com.nessgate/nessgate","tools":[{"name":"check_readiness","fixed":{"name":"check_readiness","description":"Given a domain, return each connectable resource it publishes with a readiness assessment (ready | credentials-required | incomplete | broken, with the exact missing field) read from the service's own metadata. Client-agnostic; read-only. Use connect_domain when you know the client's capabilities.","inputSchema":{"type":"object","required":["domain"],"properties":{"domain":{"type":"string","description":"Registrable domain, e.g. example.com"}}},"annotations":{"readOnlyHint":true},"title":"Check how ready a domain's endpoints are to connect to"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":137,"tokensAfter":137},{"name":"connect_domain","fixed":{"name":"connect_domain","description":"Given a domain AND the calling client's capabilities, return HOW the client can connect: one outcome (ready | credentials-required | incomplete | broken | no-compatible-method) with a connection plan (protocol, endpoint, transport, version, and the auth metadata the service published — e.g. the OAuth authorize/token endpoints and scopes), or the exact missing field when the service under-publishes. Deterministic matching, no scores. Read-only; credentials stay with the caller and are never sent ","inputSchema":{"type":"object","required":["domain"],"properties":{"client":{"type":"object","properties":{"prefer":{"type":"array","items":{"type":"string"},"description":"Optional cross-protocol tie-break order."},"supports":{"type":"array","items":{"type":"object","required":["protocol"],"properties":{"auth":{"type":"array","items":{"type":"string"}},"protocol":{"type":"string","description":"e.g. mcp, openapi, a2a"},"versions":{"type":"array","items":{"type":"string"}},"transports":{"type":"array","items":{"type":"string"}}}},"description":"Protocols the client speaks, each optionally narrowing versions/transports/auth."}},"description":"The calling client's capabilities. Omit a dimension to accept any. If client/supports is omitted entirely, a broad default (mcp, openapi, a2a) is assumed and the response carries clientAssumed:true."},"domain":{"type":"string","description":"Registrable domain, e.g. example.com"}}},"annotations":{"readOnlyHint":true},"title":"Get a connection plan for this client"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":410,"tokensAfter":410},{"name":"discover_domain","fixed":{"name":"discover_domain","description":"Given a domain, read whatever it publishes at the standard machine-discovery locations (llms.txt, /.well-known/ard.json, /.well-known/agent-card.json, /.well-known/api-catalog, ai-info.json, openapi.json, and more) and return one normalized answer. Each resource keeps a sourceUrl pointing back to the domain so the caller can verify. NessGate reads the domain live and stores no discovered domain or resource data; it makes no ownership or safety claim.","inputSchema":{"type":"object","required":["domain"],"properties":{"domain":{"type":"string","description":"Registrable domain, e.g. example.com"}}},"annotations":{"readOnlyHint":true},"title":"Resolve a domain's machine-readable resources"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":180,"tokensAfter":180}],"toolsChanged":3,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}