{"server":{"name":"io.github.agenttrust-ai/agenttrust","title":"AgentTrust — Pre-Invocation AI Agent Trust & Reliability Checks","$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","remotes":[{"url":"https://getagenttrust.com/api/mcp/public","type":"streamable-http"},{"url":"https://getagenttrust.com/api/mcp","type":"streamable-http","headers":[{"name":"Authorization","isSecret":true,"description":"Bearer <API_KEY>. Required to call a tool (list_agents, get_agent, get_agent_health, send_heartbeat); tools/list and initialize work without one. Get a key by creating an account at https://getagenttrust.com/signup."}]}],"version":"1.0.4","repository":{"id":"1363348936","url":"https://github.com/agenttrust-ai/agenttrust","source":"github"},"websiteUrl":"https://getagenttrust.com/docs","description":"Check an AI agent endpoint before you call it: read-only, no API key, returns a trustDecision."},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","isLatest":true,"updatedAt":"2026-10-02T15:21:06.101947Z","publishedAt":"2026-10-02T15:21:06.101947Z","statusChangedAt":"2026-10-02T15:21:06.101947Z"},"dev.protogrid/connectability":{"class":"R0","autonomous":true,"human_steps":[],"preferred":{"kind":"remote","idx":0},"remotes":[{"idx":0,"url":"https://getagenttrust.com/api/mcp/public","transport":"streamable-http","templated":false,"headers":[],"auth":{"type":"none","location":null,"secret_name":null,"oauth":null},"protocol":{"supported_versions":["2026-07-28"],"stateless":true},"health":{"reachable":true,"uptime_30d":0.9322034,"latency_ms_p50":437,"consecutive_failures":0,"last_probe_at":"2026-10-19T21:48:21.141Z","last_ok_at":"2026-10-19T21:48:21.141Z"}},{"idx":1,"url":"https://getagenttrust.com/api/mcp","transport":"streamable-http","templated":false,"headers":[{"name":"Authorization","required":false,"secret":true,"value":null,"secret_names":["AGENTTRUST_TOKEN"]}],"auth":{"type":"none","location":null,"secret_name":null,"oauth":null},"protocol":{"supported_versions":["2026-07-28"],"stateless":true},"health":{"reachable":true,"uptime_30d":0.96190476,"latency_ms_p50":422,"consecutive_failures":0,"last_probe_at":"2026-10-19T18:46:22.250Z","last_ok_at":"2026-10-19T18:46:22.250Z"}}],"packages":[]},"dev.protogrid/tools":[{"name":"check_agent_trust","title":"Check Agent Trust","description":"Pre-invocation trust check for an unknown AI agent or MCP server endpoint. Pass the exact URL you are about to call as endpointUrl to get what AgentTrust has observed about it: status, endpoint-ownership verification, reliability score (when available), and a trustDecision (recommended, confidence, reasons). Read-only, no account or API key. It never contacts endpointUrl; it only reads AgentTrust's stored monitoring history. A URL AgentTrust has not observed returns { matched: false }.","annotations":{"title":"Check Agent Trust","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T21:48:21.141Z"},{"name":"get_agent","title":"Get Agent","description":"Get one AgentTrust agent's public profile by slug, including its structured Agent Card, current reliability score, and a machine-readable trustDecision (recommended, confidence, reasons) for deciding whether to invoke it.","annotations":{"title":"Get Agent","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T18:46:22.250Z"},{"name":"get_agent_health","title":"Get Agent Health","description":"Get one agent's current effective health status and monitoring detail — derived from heartbeat freshness for push-mode agents, or the latest pull check otherwise.","annotations":{"title":"Get Agent Health","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T18:46:22.250Z"},{"name":"list_agents","title":"List Agents","description":"Discover AgentTrust agents. Pass `endpointUrl` to check the trust status of a specific external agent by its exact invocation URL before deciding whether to invoke it — the response includes a reliability score, endpoint-ownership verification status, and a machine-readable trustDecision (recommended, confidence, reasons). Without `endpointUrl`, returns the plain paginated listing of public agents, newest first. Requires an API key; for an anonymous pre-invocation check use check_agent_trust.","annotations":{"title":"List Agents","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T18:46:22.250Z"},{"name":"send_heartbeat","title":"Send Heartbeat","description":"Record a push-style heartbeat for an agent you own, marking it alive right now. The server sets the timestamp; no client-supplied time is accepted.","annotations":{"title":"Send Heartbeat","readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T18:46:22.250Z"}],"dev.protogrid/trust":{"score":96,"components":{"hygiene":100,"liveness":98,"freshness":100,"provenance":90},"drivers":["+repository","+namespace-matches-repo","+website","+reachable","+uptime-96%","+updated-17d-ago"],"flags":[],"blocked":false,"computed_at":"2026-10-19T23:07:06.975Z","disclaimer":"Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed."},"dev.protogrid/quality":{"score":90,"label":"strong","components":{"auth":null,"hygiene":100,"protocol":88,"stability":75,"dependencies":null},"checks":[{"id":"protocol.modern","detail":"supports 2026-07-28 (server/discover)","status":"pass","category":"protocol"},{"id":"protocol.stateless","detail":"answers without a session","status":"pass","category":"protocol"},{"id":"protocol.transport","detail":"streamable HTTP","status":"pass","category":"protocol"},{"id":"protocol.list_ttl","detail":"tools/list declares ttlMs 0, so clients re-fetch it on every use","status":"warn","category":"protocol"},{"id":"auth.prm","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.as_metadata","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.cimd","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.secret_in_url","detail":"no templated URL","status":"na","category":"auth"},{"id":"tools.descriptions","detail":"every tool has a description","status":"pass","category":"hygiene"},{"id":"tools.description_length","detail":"descriptions are concise","status":"pass","category":"hygiene"},{"id":"tools.schemas","detail":"every tool has an object input schema","status":"pass","category":"hygiene"},{"id":"tools.annotations","detail":"5 of 5 tools declare readOnlyHint or destructiveHint","status":"pass","category":"hygiene"},{"id":"tools.directory_hints","detail":"every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint","status":"pass","category":"hygiene"},{"id":"tools.token_cost","detail":"about 1,074 tokens to load every tool","status":"pass","category":"hygiene"},{"id":"tools.api_dump","detail":"tools are not a one-to-one API dump","status":"pass","category":"hygiene"},{"id":"stability.changes","detail":"12 tool changes in 30 days","status":"warn","category":"stability"},{"id":"stability.rug_pull","detail":"no tool changed its meaning under the same name","status":"pass","category":"stability"},{"id":"deps.known_vulns","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.mcp_sdk_version","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.resolvable","detail":"no npm or PyPI package","status":"na","category":"dependencies"}],"drivers":["~protocol.list_ttl","~stability.changes"],"flags":[],"tool_count":5,"token_estimate":1074,"tools_hash":"ee57251ede7078a7eb28d5480be740ef","tools_changed_at":"2026-10-13T02:11:17.896Z","computed_at":"2026-10-19T23:18:21.627Z","disclaimer":"Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed."},"dev.protogrid/identity":{"canonical_id":"io.github.agenttrust-ai/agenttrust","aliases":[],"alias_count":0,"repository_key":"github:agenttrust-ai/agenttrust","owner":{"verified":false,"method":null,"since":null}}},"next_actions":[{"action":"list_tools","description":"Every current tool with input schemas","href":"/v1/servers/io.github.agenttrust-ai%2Fagenttrust/tools","arguments":{"name":"io.github.agenttrust-ai/agenttrust"}},{"action":"get_connection","description":"Minimal connection block for the preferred remote or package","href":"/v1/servers/io.github.agenttrust-ai%2Fagenttrust/connection?target=mcpServers","arguments":{"name":"io.github.agenttrust-ai/agenttrust","target":"mcpServers"}},{"action":"search","description":"Find other servers by intent","href":"/v1/search?q={query}","arguments":{"q":"{query}"}}]}