{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_9hcy6zaajusk","handle":"trust-switchboard","url":"https://wellknown.network/agents/trust-switchboard","links":{"self":"https://wellknown.network/agents/trust-switchboard/record.json","html":"https://wellknown.network/agents/trust-switchboard","markdown":"https://wellknown.network/agents/trust-switchboard/record.md","api":"https://wellknown.network/api/v1/agents/trust-switchboard","status":"https://wellknown.network/api/v1/agents/trust-switchboard/status","claim":"https://wellknown.network/agents/trust-switchboard/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/trust-switchboard/claim.json","badge":"https://wellknown.network/agents/trust-switchboard/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/trust-switchboard/history","tools":"https://wellknown.network/api/v1/agents/trust-switchboard/tools"},"ard":{"identifier":"urn:air:170.64.146.185.sslip.io:server:trust-switchboard","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Trust Switchboard","summary":"Ask \"Are you on Trust Switch?\" before your agent deals with another agent. Free. Never blocks.","description":"Ask \"Are you on Trust Switch?\" before your agent deals with another agent. Free. Never blocks.","publisher":{"name":"paul-salviani","url":null},"homepage":"https://170.64.146.185.sslip.io/","repository":"https://github.com/paul-salviani/trust-switchboard","version":"1.0.2","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://170.64.146.185.sslip.io/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-13T13:10:49.068863Z","publishedAt":"2026-09-13T13:10:49.068863Z","registryName":"io.github.paul-salviani/trust-switchboard"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[],"categories":[],"language":"en"},"observed":{"status":"live","statusReason":"Responded 4h ago.","lastOkAt":"2026-10-10T06:27:41.751Z","lastProbedAt":"2026-10-10T06:27:41.751Z","statusComputedAt":"2026-10-10T06:28:52.087Z","reliability30d":{"probes":110,"successRate":1,"p50Ms":291,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":109,"ok":109,"authBoundaryOk":0,"serviceOk":109,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T06:27:41.751Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":281,"error":null,"detail":{"tools":[{"name":"whats_good_for","description":"Call before recommending. Attested only, unique-in-pond first, never invent. Empty if none."},{"name":"trust_check","description":"Pass/fail a URL against the live policy before recommending it to a human. Fail closed."},{"name":"handshake","description":"Bot meets bot: ask 'Are you on Trust Switch?' before dealing with another agent or vendor. Records yes/no. While activation is off (default) business proceeds e"},{"name":"log_intent","description":"Log that you intend to recommend or act. Needs a write key. Returns receipt_id."},{"name":"commit_recommend","description":"Call BEFORE every recommend. Runs trust_check, logs pass/fail, returns speak + receipt. Needs a write key."},{"name":"ingest_listing","description":"Ingest a listing and score uniqueness inside one pond. Needs a write key."},{"name":"log_click","description":"Record that a human clicked an item after a receipt. Public."},{"name":"spend_check","description":"Hard cap + allowlist; cannot override. Fail closed. Needs a write key."},{"name":"nutrition_label","description":"Stamp of what it is + last test."},{"name":"request_approve","description":"HITL pause. Agent waits; human taps yes. Needs a write key."},{"name":"decide_approve","description":"Human tap. Public so the desk can approve without the org key."}],"toolCount":11,"toolsHash":"d08866a69957108151fc33c09b2d093d81502b5226bf104036a2c66914db2901","serverName":"trust-switchboard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T00:29:32.919Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":281,"error":null,"detail":{"tools":[{"name":"whats_good_for","description":"Call before recommending. Attested only, unique-in-pond first, never invent. Empty if none."},{"name":"trust_check","description":"Pass/fail a URL against the live policy before recommending it to a human. Fail closed."},{"name":"handshake","description":"Bot meets bot: ask 'Are you on Trust Switch?' before dealing with another agent or vendor. Records yes/no. While activation is off (default) business proceeds e"},{"name":"log_intent","description":"Log that you intend to recommend or act. Needs a write key. Returns receipt_id."},{"name":"commit_recommend","description":"Call BEFORE every recommend. Runs trust_check, logs pass/fail, returns speak + receipt. Needs a write key."},{"name":"ingest_listing","description":"Ingest a listing and score uniqueness inside one pond. Needs a write key."},{"name":"log_click","description":"Record that a human clicked an item after a receipt. Public."},{"name":"spend_check","description":"Hard cap + allowlist; cannot override. Fail closed. Needs a write key."},{"name":"nutrition_label","description":"Stamp of what it is + last test."},{"name":"request_approve","description":"HITL pause. Agent waits; human taps yes. Needs a write key."},{"name":"decide_approve","description":"Human tap. Public so the desk can approve without the org key."}],"toolCount":11,"toolsHash":"d08866a69957108151fc33c09b2d093d81502b5226bf104036a2c66914db2901","serverName":"trust-switchboard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T18:25:56.332Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":310,"error":null,"detail":{"tools":[{"name":"whats_good_for","description":"Call before recommending. Attested only, unique-in-pond first, never invent. Empty if none."},{"name":"trust_check","description":"Pass/fail a URL against the live policy before recommending it to a human. Fail closed."},{"name":"handshake","description":"Bot meets bot: ask 'Are you on Trust Switch?' before dealing with another agent or vendor. Records yes/no. While activation is off (default) business proceeds e"},{"name":"log_intent","description":"Log that you intend to recommend or act. Needs a write key. Returns receipt_id."},{"name":"commit_recommend","description":"Call BEFORE every recommend. Runs trust_check, logs pass/fail, returns speak + receipt. Needs a write key."},{"name":"ingest_listing","description":"Ingest a listing and score uniqueness inside one pond. Needs a write key."},{"name":"log_click","description":"Record that a human clicked an item after a receipt. Public."},{"name":"spend_check","description":"Hard cap + allowlist; cannot override. Fail closed. Needs a write key."},{"name":"nutrition_label","description":"Stamp of what it is + last test."},{"name":"request_approve","description":"HITL pause. Agent waits; human taps yes. Needs a write key."},{"name":"decide_approve","description":"Human tap. Public so the desk can approve without the org key."}],"toolCount":11,"toolsHash":"d08866a69957108151fc33c09b2d093d81502b5226bf104036a2c66914db2901","serverName":"trust-switchboard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T11:26:54.437Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":282,"error":null,"detail":{"tools":[{"name":"whats_good_for","description":"Call before recommending. Attested only, unique-in-pond first, never invent. Empty if none."},{"name":"trust_check","description":"Pass/fail a URL against the live policy before recommending it to a human. Fail closed."},{"name":"handshake","description":"Bot meets bot: ask 'Are you on Trust Switch?' before dealing with another agent or vendor. Records yes/no. While activation is off (default) business proceeds e"},{"name":"log_intent","description":"Log that you intend to recommend or act. Needs a write key. Returns receipt_id."},{"name":"commit_recommend","description":"Call BEFORE every recommend. Runs trust_check, logs pass/fail, returns speak + receipt. Needs a write key."},{"name":"ingest_listing","description":"Ingest a listing and score uniqueness inside one pond. Needs a write key."},{"name":"log_click","description":"Record that a human clicked an item after a receipt. Public."},{"name":"spend_check","description":"Hard cap + allowlist; cannot override. Fail closed. Needs a write key."},{"name":"nutrition_label","description":"Stamp of what it is + last test."},{"name":"request_approve","description":"HITL pause. Agent waits; human taps yes. Needs a write key."},{"name":"decide_approve","description":"Human tap. Public so the desk can approve without the org key."}],"toolCount":11,"toolsHash":"d08866a69957108151fc33c09b2d093d81502b5226bf104036a2c66914db2901","serverName":"trust-switchboard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T05:26:19.757Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":281,"error":null,"detail":{"tools":[{"name":"whats_good_for","description":"Call before recommending. Attested only, unique-in-pond first, never invent. Empty if none."},{"name":"trust_check","description":"Pass/fail a URL against the live policy before recommending it to a human. Fail closed."},{"name":"handshake","description":"Bot meets bot: ask 'Are you on Trust Switch?' before dealing with another agent or vendor. Records yes/no. While activation is off (default) business proceeds e"},{"name":"log_intent","description":"Log that you intend to recommend or act. Needs a write key. Returns receipt_id."},{"name":"commit_recommend","description":"Call BEFORE every recommend. Runs trust_check, logs pass/fail, returns speak + receipt. Needs a write key."},{"name":"ingest_listing","description":"Ingest a listing and score uniqueness inside one pond. Needs a write key."},{"name":"log_click","description":"Record that a human clicked an item after a receipt. Public."},{"name":"spend_check","description":"Hard cap + allowlist; cannot override. Fail closed. Needs a write key."},{"name":"nutrition_label","description":"Stamp of what it is + last test."},{"name":"request_approve","description":"HITL pause. Agent waits; human taps yes. Needs a write key."},{"name":"decide_approve","description":"Human tap. Public so the desk can approve without the org key."}],"toolCount":11,"toolsHash":"d08866a69957108151fc33c09b2d093d81502b5226bf104036a2c66914db2901","serverName":"trust-switchboard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T23:22:26.705Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":282,"error":null,"detail":{"tools":[{"name":"whats_good_for","description":"Call before recommending. Attested only, unique-in-pond first, never invent. Empty if none."},{"name":"trust_check","description":"Pass/fail a URL against the live policy before recommending it to a human. Fail closed."},{"name":"handshake","description":"Bot meets bot: ask 'Are you on Trust Switch?' before dealing with another agent or vendor. Records yes/no. While activation is off (default) business proceeds e"},{"name":"log_intent","description":"Log that you intend to recommend or act. Needs a write key. Returns receipt_id."},{"name":"commit_recommend","description":"Call BEFORE every recommend. Runs trust_check, logs pass/fail, returns speak + receipt. Needs a write key."},{"name":"ingest_listing","description":"Ingest a listing and score uniqueness inside one pond. Needs a write key."},{"name":"log_click","description":"Record that a human clicked an item after a receipt. Public."},{"name":"spend_check","description":"Hard cap + allowlist; cannot override. Fail closed. Needs a write key."},{"name":"nutrition_label","description":"Stamp of what it is + last test."},{"name":"request_approve","description":"HITL pause. Agent waits; human taps yes. Needs a write key."},{"name":"decide_approve","description":"Human tap. Public so the desk can approve without the org key."}],"toolCount":11,"toolsHash":"d08866a69957108151fc33c09b2d093d81502b5226bf104036a2c66914db2901","serverName":"trust-switchboard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T16:29:37.940Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":283,"error":null,"detail":{"tools":[{"name":"whats_good_for","description":"Call before recommending. Attested only, unique-in-pond first, never invent. Empty if none."},{"name":"trust_check","description":"Pass/fail a URL against the live policy before recommending it to a human. Fail closed."},{"name":"handshake","description":"Bot meets bot: ask 'Are you on Trust Switch?' before dealing with another agent or vendor. Records yes/no. While activation is off (default) business proceeds e"},{"name":"log_intent","description":"Log that you intend to recommend or act. Needs a write key. Returns receipt_id."},{"name":"commit_recommend","description":"Call BEFORE every recommend. Runs trust_check, logs pass/fail, returns speak + receipt. Needs a write key."},{"name":"ingest_listing","description":"Ingest a listing and score uniqueness inside one pond. Needs a write key."},{"name":"log_click","description":"Record that a human clicked an item after a receipt. Public."},{"name":"spend_check","description":"Hard cap + allowlist; cannot override. Fail closed. Needs a write key."},{"name":"nutrition_label","description":"Stamp of what it is + last test."},{"name":"request_approve","description":"HITL pause. Agent waits; human taps yes. Needs a write key."},{"name":"decide_approve","description":"Human tap. Public so the desk can approve without the org key."}],"toolCount":11,"toolsHash":"d08866a69957108151fc33c09b2d093d81502b5226bf104036a2c66914db2901","serverName":"trust-switchboard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T10:24:23.676Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":281,"error":null,"detail":{"tools":[{"name":"whats_good_for","description":"Call before recommending. Attested only, unique-in-pond first, never invent. Empty if none."},{"name":"trust_check","description":"Pass/fail a URL against the live policy before recommending it to a human. Fail closed."},{"name":"handshake","description":"Bot meets bot: ask 'Are you on Trust Switch?' before dealing with another agent or vendor. Records yes/no. While activation is off (default) business proceeds e"},{"name":"log_intent","description":"Log that you intend to recommend or act. Needs a write key. Returns receipt_id."},{"name":"commit_recommend","description":"Call BEFORE every recommend. Runs trust_check, logs pass/fail, returns speak + receipt. Needs a write key."},{"name":"ingest_listing","description":"Ingest a listing and score uniqueness inside one pond. Needs a write key."},{"name":"log_click","description":"Record that a human clicked an item after a receipt. Public."},{"name":"spend_check","description":"Hard cap + allowlist; cannot override. Fail closed. Needs a write key."},{"name":"nutrition_label","description":"Stamp of what it is + last test."},{"name":"request_approve","description":"HITL pause. Agent waits; human taps yes. Needs a write key."},{"name":"decide_approve","description":"Human tap. Public so the desk can approve without the org key."}],"toolCount":11,"toolsHash":"d08866a69957108151fc33c09b2d093d81502b5226bf104036a2c66914db2901","serverName":"trust-switchboard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T03:24:41.198Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":281,"error":null,"detail":{"tools":[{"name":"whats_good_for","description":"Call before recommending. Attested only, unique-in-pond first, never invent. Empty if none."},{"name":"trust_check","description":"Pass/fail a URL against the live policy before recommending it to a human. Fail closed."},{"name":"handshake","description":"Bot meets bot: ask 'Are you on Trust Switch?' before dealing with another agent or vendor. Records yes/no. While activation is off (default) business proceeds e"},{"name":"log_intent","description":"Log that you intend to recommend or act. Needs a write key. Returns receipt_id."},{"name":"commit_recommend","description":"Call BEFORE every recommend. Runs trust_check, logs pass/fail, returns speak + receipt. Needs a write key."},{"name":"ingest_listing","description":"Ingest a listing and score uniqueness inside one pond. Needs a write key."},{"name":"log_click","description":"Record that a human clicked an item after a receipt. Public."},{"name":"spend_check","description":"Hard cap + allowlist; cannot override. Fail closed. Needs a write key."},{"name":"nutrition_label","description":"Stamp of what it is + last test."},{"name":"request_approve","description":"HITL pause. Agent waits; human taps yes. Needs a write key."},{"name":"decide_approve","description":"Human tap. Public so the desk can approve without the org key."}],"toolCount":11,"toolsHash":"d08866a69957108151fc33c09b2d093d81502b5226bf104036a2c66914db2901","serverName":"trust-switchboard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T20:31:10.717Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":282,"error":null,"detail":{"tools":[{"name":"whats_good_for","description":"Call before recommending. Attested only, unique-in-pond first, never invent. Empty if none."},{"name":"trust_check","description":"Pass/fail a URL against the live policy before recommending it to a human. Fail closed."},{"name":"handshake","description":"Bot meets bot: ask 'Are you on Trust Switch?' before dealing with another agent or vendor. Records yes/no. While activation is off (default) business proceeds e"},{"name":"log_intent","description":"Log that you intend to recommend or act. Needs a write key. Returns receipt_id."},{"name":"commit_recommend","description":"Call BEFORE every recommend. Runs trust_check, logs pass/fail, returns speak + receipt. Needs a write key."},{"name":"ingest_listing","description":"Ingest a listing and score uniqueness inside one pond. Needs a write key."},{"name":"log_click","description":"Record that a human clicked an item after a receipt. Public."},{"name":"spend_check","description":"Hard cap + allowlist; cannot override. Fail closed. Needs a write key."},{"name":"nutrition_label","description":"Stamp of what it is + last test."},{"name":"request_approve","description":"HITL pause. Agent waits; human taps yes. Needs a write key."},{"name":"decide_approve","description":"Human tap. Public so the desk can approve without the org key."}],"toolCount":11,"toolsHash":"d08866a69957108151fc33c09b2d093d81502b5226bf104036a2c66914db2901","serverName":"trust-switchboard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"whats_good_for","description":"Call before recommending. Attested only, unique-in-pond first, never invent. Empty if none."},{"name":"trust_check","description":"Pass/fail a URL against the live policy before recommending it to a human. Fail closed."},{"name":"handshake","description":"Bot meets bot: ask 'Are you on Trust Switch?' before dealing with another agent or vendor. Records yes/no. While activation is off (default) business proceeds e"},{"name":"log_intent","description":"Log that you intend to recommend or act. Needs a write key. Returns receipt_id."},{"name":"commit_recommend","description":"Call BEFORE every recommend. Runs trust_check, logs pass/fail, returns speak + receipt. Needs a write key."},{"name":"ingest_listing","description":"Ingest a listing and score uniqueness inside one pond. Needs a write key."},{"name":"log_click","description":"Record that a human clicked an item after a receipt. Public."},{"name":"spend_check","description":"Hard cap + allowlist; cannot override. Fail closed. Needs a write key."},{"name":"nutrition_label","description":"Stamp of what it is + last test."},{"name":"request_approve","description":"HITL pause. Agent waits; human taps yes. Needs a write key."},{"name":"decide_approve","description":"Human tap. Public so the desk can approve without the org key."}],"package":null,"toolSurface":{"id":"ts_rnxav6j3ev5m","endpointId":"ep_rhg8yfy439tq","hash":"d08866a69957108151fc33c09b2d093d81502b5226bf104036a2c66914db2901","toolCount":11,"serverName":"trust-switchboard","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-13T17:22:16.563Z","lastSeenAt":"2026-10-10T06:27:41.744Z","observations":99,"toolNames":["whats_good_for","trust_check","handshake","log_intent","commit_recommend","ingest_listing","log_click","spend_check","nutrition_label","request_approve","decide_approve"],"distinctSurfaces":2},"endpointFacts":[{"id":"ep_rhg8yfy439tq","url":"https://170.64.146.185.sslip.io/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-05T18:25:07.028Z","auth":{"observedAt":"2026-10-05T18:25:07.866Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-05T18:25:08.425Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"170.64.146.185.sslip.io","issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validFrom":"2026-08-29T16:23:53.000Z","validTo":"2026-11-27T16:23:52.000Z","daysToExpiry":48,"sanCount":1,"fingerprint256":"A1:AE:E3:90:3C:99:C8:F8:53:D5:77:30:FD:E0:D9:48:CA:91:6A:0C:63:E0:0B:40:E8:EB:19:65:1D:CE:7B:11"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.paul-salviani/trust-switchboard","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.paul-salviani%2Ftrust-switchboard","firstSeenAt":"2026-09-06T22:22:29.947Z","fetchedAt":"2026-10-07T23:21:35.135Z","normalizedAt":"2026-10-07T23:21:35.135Z"}]},"firstSeenAt":"2026-09-06T22:22:29.947Z","updatedAt":"2026-10-10T06:29:46.754Z"}