AgentTrust — Pre-Invocation AI Agent Trust & Reliability Checks

Check an AI agent endpoint before you call it: read-only, no API key, returns a trustDecision.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
98%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~3,704Tokens (tool definitions)
~6.3 KBTypical response size
Significant attention impact (2.89% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "agenttrust": {
      "url": "https://agenttrust-umber.vercel.app/api/mcp"
    }
  }
}

Remote endpoints

https://agenttrust-umber.vercel.app/api/mcpstreamable-http
https://getagenttrust.com/api/mcpstreamable-http
https://getagenttrust.com/api/mcp/publicstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_agents(limit, cursor, endpointUrl)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Max agents to return (1-100, default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "cursor": {
      "description": "Opaque pagination cursor from a previous call's nextCursor.",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "endpointUrl": {
      "description": "Look up the agent registered with exactly this invocation URL, instead of browsing the full listing — the entry point for a trust check on an agent you only have a URL for. Matches ignore trailing-slash and scheme/host-casing differences only — never a fuzzy match. Returns an empty list, not an error, if nothing is registered with that URL. Unlike a plain (unfiltered) call, results here also include reliabilityScore, lastCheckedAt/latencyMs/httpStatus, and a derived trustDecision ({recommended, confidence, reasons}) so a caller can decide whether to interact with the agent from this one call.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "agents": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "version": {
            "type": [
              "string",
              "null"
            ]
          },
          "capabilities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "unknown",
              "healthy",
              "degraded",
              "down"
            ]
          },
          "createdAt": {
            "type": "string"
          },
          "source": {
            "type": "string",
            "enum": [
              "owner_registered",
              "externally_observed"
            ]
          },
          "agentCard": {
            "type": "object",
            "properties": {
              "schemaVersion": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "description": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "capabilities": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "authentication": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  }
                },
                "required": [
                  "type"
                ],
                "additionalProperties": false
              },
              "interfaces": {
                "type": "object",
                "properties": {
                  "modalities": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "interactionType": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "modalities",
                  "interactionType"
                ],
                "additionalProperties": false
              },
              "documentationUrl": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "schemaVersion",
              "name",
              "description",
              "capabilities",
              "authentication",
              "interfaces",
              "documentationUrl"
            ],
            "additionalProperties": false
          },
          "verified": {
            "type": "boolean"
          },
          "ownershipVerifiedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "reliabilityScore": {
            "type": [
              "number",
              "null"
            ]
          },
          "reliabilityScoreStatus": {
            "type": "string",
            "enum": [
              "none",
              "fresh",
              "stale"
            ]
          },
          "reliabilityScoreComputedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "lastCheckedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "latencyMs": {
            "type": [
              "number",
              "null"
            ]
          },
          "httpStatus": {
            "type": [
              "number",
              "null"
            ]
          },
          "trustDecision": {
            "type": "object",
            "properties": {
              "recommended": {
                "type": "boolean"
              },
              "confidence": {
                "type": "string",
                "enum": [
                  "high",
                  "medium",
                  "low",
                  "insufficient_data"
                ]
              },
              "reasons": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "recommended",
              "confidence",
              "reasons"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "description",
          "version",
          "capabilities",
          "status",
          "createdAt",
          "source",
          "agentCard",
          "verified",
          "ownershipVerifiedAt"
        ],
        "additionalProperties": false
      }
    },
    "pagination": {
      "type": "object",
      "properties": {
        "nextCursor": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "nextCursor"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "agents",
    "pagination"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_agent(slug)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The agent's URL slug (from its public profile or a list_agents result)."
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "description": {
      "type": [
        "string",
        "null"
      ]
    },
    "version": {
      "type": [
        "string",
        "null"
      ]
    },
    "capabilities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "status": {
      "type": "string",
      "enum": [
        "unknown",
        "healthy",
        "degraded",
        "down"
      ]
    },
    "createdAt": {
      "type": "string"
    },
    "source": {
      "type": "string",
      "enum": [
        "owner_registered",
        "externally_observed"
      ]
    },
    "agentCard": {
      "type": "object",
      "properties": {
        "schemaVersion": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "capabilities": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "authentication": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        "interfaces": {
          "type": "object",
          "properties": {
            "modalities": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "interactionType": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "modalities",
            "interactionType"
          ],
          "additionalProperties": false
        },
        "documentationUrl": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "schemaVersion",
        "name",
        "description",
        "capabilities",
        "authentication",
        "interfaces",
        "documentationUrl"
      ],
      "additionalProperties": false
    },
    "verified": {
      "type": "boolean"
    },
    "ownershipVerifiedAt": {
      "type": [
        "string",
        "null"
      ]
    },
    "reliabilityScore": {
      "type": [
        "number",
        "null"
      ]
    },
    "reliabilityScoreStatus": {
      "type": "string",
      "enum": [
        "none",
        "fresh",
        "stale"
      ]
    },
    "reliabilityScoreComputedAt": {
      "type": [
        "string",
        "null"
      ]
    },
    "lastCheckedAt": {
      "type": [
        "string",
        "null"
      ]
    },
    "latencyMs": {
      "type": [
        "number",
        "null"
      ]
    },
    "httpStatus": {
      "type": [
        "number",
        "null"
      ]
    },
    "trustDecision": {
      "type": "object",
      "properties": {
        "recommended": {
          "type": "boolean"
        },
        "confidence": {
          "type": "string",
          "enum": [
            "high",
            "medium",
            "low",
            "insufficient_data"
          ]
        },
        "reasons": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "recommended",
        "confidence",
        "reasons"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "id",
    "slug",
    "name",
    "description",
    "version",
    "capabilities",
    "status",
    "createdAt",
    "source",
    "agentCard",
    "verified",
    "ownershipVerifiedAt",
    "reliabilityScore",
    "reliabilityScoreStatus",
    "reliabilityScoreComputedAt",
    "lastCheckedAt",
    "latencyMs",
    "httpStatus",
    "trustDecision"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_agent_health(slug)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The agent's URL slug (from its public profile or a list_agents result)."
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "agentId": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "unknown",
        "healthy",
        "degraded",
        "down"
      ]
    },
    "lastCheckedAt": {
      "type": [
        "string",
        "null"
      ]
    },
    "latencyMs": {
      "type": [
        "number",
        "null"
      ]
    },
    "httpStatus": {
      "type": [
        "number",
        "null"
      ]
    },
    "checkStatus": {
      "type": [
        "string",
        "null"
      ]
    },
    "reliabilityScore": {
      "type": [
        "number",
        "null"
      ]
    },
    "reliabilityScoreStatus": {
      "type": "string",
      "enum": [
        "none",
        "fresh",
        "stale"
      ]
    },
    "reliabilityScoreComputedAt": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "agentId",
    "slug",
    "status",
    "lastCheckedAt",
    "latencyMs",
    "httpStatus",
    "checkStatus",
    "reliabilityScore",
    "reliabilityScoreStatus",
    "reliabilityScoreComputedAt"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟡send_heartbeat(slug)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The agent's URL slug (from its public profile or a list_agents result)."
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "unknown",
        "healthy",
        "degraded",
        "down"
      ]
    },
    "lastHeartbeatAt": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "slug",
    "status",
    "lastHeartbeatAt"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢check_agent_trust(endpointUrl)

Pre-invocation trust check for an unknown AI agent or MCP server endpoint. Read-only, requires no AgentTrust API key or account. Looks up an agent by its exact invocation URL among AgentTrust's already-observed public agents and returns its status, endpoint-ownership verification, agent reliability score (when available), and a machine-readable trustDecision (recommended, confidence, reasons). Does NOT contact endpointUrl itself during this check — it only reads AgentTrust's own existing monitoring history. An unregistered URL returns { matched: false }, never an error.

Input Schema

{
  "type": "object",
  "properties": {
    "endpointUrl": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048,
      "description": "The exact invocation URL of the agent you're about to call. Used only to look up AgentTrust's own already-observed data for it — this endpoint is never contacted during the check."
    }
  },
  "required": [
    "endpointUrl"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "matched": {
      "type": "boolean"
    },
    "slug": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "unknown",
        "healthy",
        "degraded",
        "down"
      ]
    },
    "verified": {
      "type": "boolean"
    },
    "reliabilityScore": {
      "type": [
        "number",
        "null"
      ]
    },
    "reliabilityScoreStatus": {
      "type": "string",
      "enum": [
        "none",
        "fresh",
        "stale"
      ]
    },
    "trustDecision": {
      "type": "object",
      "properties": {
        "recommended": {
          "type": "boolean"
        },
        "confidence": {
          "type": "string",
          "enum": [
            "high",
            "medium",
            "low",
            "insufficient_data"
          ]
        },
        "reasons": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "recommended",
        "confidence",
        "reasons"
      ],
      "additionalProperties": false
    },
    "observation": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "pending",
            "observing",
            "not_in_registry"
          ]
        },
        "message": {
          "type": "string"
        }
      },
      "required": [
        "status",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "matched"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢assess_agent(endpointUrl)

Immediate use-or-avoid decision about an AI agent or MCP server endpoint, for an agent deciding whether to call it. Returns decision (allow_with_caution, avoid, or insufficient_evidence), confidence, reasonCodes, reachability (the latest stored observation, with its age), initialRisk, the historical reliability score and trustDecision (unchanged), limitations, and freshness. Built only from AgentTrust's stored observations: it never contacts endpointUrl. Reachability is not safety: allow_with_caution never means the agent's behavior is safe. Requires no API key.

Input Schema

{
  "type": "object",
  "properties": {
    "endpointUrl": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048,
      "description": "The exact invocation URL of the agent you're about to call. Used only to look up AgentTrust's stored observations of it — this endpoint is never contacted."
    }
  },
  "required": [
    "endpointUrl"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "assessmentVersion": {
      "type": "string",
      "const": "1"
    },
    "mode": {
      "type": "string",
      "const": "cached"
    },
    "status": {
      "type": "string",
      "const": "complete"
    },
    "matched": {
      "type": "boolean"
    },
    "decision": {
      "type": "string",
      "enum": [
        "allow_with_caution",
        "avoid",
        "insufficient_evidence"
      ]
    },
    "confidence": {
      "type": "string",
      "enum": [
        "high",
        "medium",
        "low",
        "none"
      ]
    },
    "reasonCodes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "UNKNOWN_ENDPOINT",
          "NOT_YET_CHECKED",
          "REACHABLE_AT_LAST_CHECK",
          "UNREACHABLE_AT_LAST_CHECK",
          "LAST_CHECK_TIMEOUT",
          "LAST_CHECK_DNS_ERROR",
          "LAST_CHECK_CONNECTION_ERROR",
          "LAST_CHECK_BLOCKED",
          "LAST_CHECK_TLS_ERROR",
          "LAST_CHECK_HTTP_ERROR",
          "TRANSIENT_NETWORK_FAILURE",
          "ENDPOINT_ERROR_RESPONSE",
          "PERSISTENT_FAILURE",
          "RECOVERING",
          "NO_RECENT_LIVE_CHECK",
          "STALE_EVIDENCE",
          "FEW_OBSERVATIONS",
          "INITIAL_OBSERVATIONS_ONLY",
          "SUFFICIENT_HISTORY",
          "NO_HISTORICAL_SCORE",
          "HISTORICAL_SCORE_STALE",
          "HISTORICAL_SCORE_LOW",
          "HISTORICAL_STATUS_DOWN",
          "HISTORICAL_STATUS_DEGRADED",
          "OWNERSHIP_VERIFIED",
          "OWNERSHIP_UNVERIFIED",
          "EXTERNALLY_OBSERVED",
          "RECENTLY_REGISTERED"
        ]
      }
    },
    "reachability": {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "enum": [
            "reachable",
            "unreachable",
            "timeout",
            "blocked",
            "not_checked"
          ]
        },
        "checkStatus": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "success",
                "http_error",
                "timeout",
                "dns_error",
                "tls_error",
                "connection_error",
                "ssrf_blocked",
                "unknown_error"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "httpStatus": {
          "type": [
            "number",
            "null"
          ]
        },
        "latencyMs": {
          "type": [
            "number",
            "null"
          ]
        },
        "checkedAt": {
          "type": [
            "string",
            "null"
          ]
        },
        "ageSeconds": {
          "type": [
            "number",
            "null"
          ]
        },
        "fresh": {
          "type": "boolean"
        },
        "source": {
          "anyOf": [
            {
              "type": "string",
              "const": "scheduled_check"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "outcome",
        "checkStatus",
        "httpStatus",
        "latencyMs",
        "checkedAt",
        "ageSeconds",
        "fresh",
        "source"
      ],
      "additionalProperties": false
    },
    "initialRisk": {
      "type": "object",
      "properties": {
        "level": {
          "type": "string",
          "enum": [
            "low",
            "moderate",
            "elevated",
            "high",
            "unknown"
          ]
        },
        "observations": {
          "type": "object",
          "properties": {
            "attempts": {
              "type": "number"
            },
            "successful": {
              "type": "number"
            },
            "successfulStreak": {
              "type": "number"
            },
            "streakSpanMinutes": {
              "type": "number"
            }
          },
          "required": [
            "attempts",
            "successful",
            "successfulStreak",
            "streakSpanMinutes"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "level",
        "observations"
      ],
      "additionalProperties": false
    },
    "historical": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "unknown",
                "healthy",
                "degraded",
                "down"
              ]
            },
            "reliabilityScore": {
              "type": [
                "number",
                "null"
              ]
            },
            "reliabilityScoreStatus": {
              "type": "string",
              "enum": [
                "none",
                "fresh",
                "stale"
              ]
            },
            "reliabilityScoreComputedAt": {
              "type": [
                "string",
                "null"
              ]
            },
            "trustDecision": {
              "type": "object",
              "properties": {
                "recommended": {
                  "type": "boolean"
                },
                "confidence": {
                  "type": "string",
                  "enum": [
                    "high",
                    "medium",
                    "low",
                    "insufficient_data"
                  ]
                },
                "reasons": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "recommended",
                "confidence",
                "reasons"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "status",
            "reliabilityScore",
            "reliabilityScoreStatus",
            "reliabilityScoreComputedAt",
            "trustDecision"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "agent": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "slug": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "source": {
              "type": "string",
              "enum": [
                "owner_registered",
                "externally_observed"
              ]
            },
            "verified": {
              "type": "boolean"
            },
            "registeredAt": {
              "type": "string"
            }
          },
          "required": [
            "slug",
            "name",
            "source",
            "verified",
            "registeredAt"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "limitations": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "freshness": {
      "type": "object",
      "properties": {
        "assessedAt": {
          "type": "string"
        },
        "evidenceAgeSeconds": {
          "type": [
            "number",
            "null"
          ]
        },
        "evidenceExpiresAt": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "assessedAt",
        "evidenceAgeSeconds",
        "evidenceExpiresAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "assessmentVersion",
    "mode",
    "status",
    "matched",
    "decision",
    "confidence",
    "reasonCodes",
    "reachability",
    "initialRisk",
    "historical",
    "agent",
    "limitations",
    "freshness"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Recommended Prompts

retrieve_data
Get details about [item] from AgentTrust — AI Agent Trust, Reliability & Reputation Checks
Expected tools: get_agent
fetch_info
Fetch [information type] using AgentTrust — AI Agent Trust, Reliability & Reputation Checks
Expected tools: get_agent
list_items
List all [items] available in AgentTrust — AI Agent Trust, Reliability & Reputation Checks
Expected tools: list_agents
browse_collection
Show me the [collection] from AgentTrust — AI Agent Trust, Reliability & Reputation Checks
Expected tools: list_agents
explore_workflow
List available [items], then get details for each one using AgentTrust — AI Agent Trust, Reliability & Reputation Checks
Expected tools: list_agentsget_agent

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded2 tools
verifiedversion not recorded5 tools
verifiedversion not recorded5 tools
verifiedversion not recorded1 tools
verifiedversion not recorded5 tools
verifiedversion not recorded5 tools
verifiedversion not recorded1 tools
verifiedversion not recorded5 tools