Servidor MCP

AgentTrust — Pre-Invocation AI Agent Trust & Reliability Checks

io.github.agenttrust-ai/agenttrust
Infraestructura MCP y de agentes Seguridad Público y accesible MCP 2025-11-25

Qué hace este MCP

Checks AI-agent endpoint ownership, health, reliability, and trust decisions using observed public agent data.

check_agent_trust
Check Agent Trust
The preferred pre-invocation trust check for an unknown external agent. 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.
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['endpointUrl'], 'properties': {'endpointUrl': {'type': 'string', 'maxLength': 2048, 'minLength': 1, '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 â\x80\x94 this endpoint is never contacted during the check."}}}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['matched'], 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'status': {'enum': ['unknown', 'healthy', 'degraded', 'down'], 'type': 'string'}, 'matched': {'type': 'boolean'}, 'verified': {'type': 'boolean'}, 'trustDecision': {'type': 'object', 'required': ['recommended', 'confidence', 'reasons'], 'properties': {'reasons': {'type': 'array', 'items': {'type': 'string'}}, 'confidence': {'enum': ['high', 'medium', 'low', 'insufficient_data'], 'type': 'string'}, 'recommended': {'type': 'boolean'}}, 'additionalProperties': False}, 'reliabilityScore': {'type': ['number', 'null']}, 'reliabilityScoreStatus': {'enum': ['none', 'fresh', 'stale'], 'type': 'string'}}, 'additionalProperties': False}
get_agent
Get Agent
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.
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': "The agent's URL slug (from its public profile or a list_agents result)."}}}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'slug', 'name', 'description', 'version', 'capabilities', 'status', 'createdAt', 'agentCard', 'verified', 'ownershipVerifiedAt', 'reliabilityScore', 'reliabilityScoreStatus', 'reliabilityScoreComputedAt', 'lastCheckedAt', 'latencyMs', 'httpStatus', 'trustDecision'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'status': {'enum': ['unknown', 'healthy', 'degraded', 'down'], 'type': 'string'}, 'version': {'type': ['string', 'null']}, 'verified': {'type': 'boolean'}, 'agentCard': {'type': 'object', 'required': ['schemaVersion', 'name', 'description', 'capabilities', 'authentication', 'interfaces', 'documentationUrl'], 'properties': {'name': {'type': 'string'}, 'interfaces': {'type': 'object', 'required': ['modalities', 'interactionType'], 'properties': {'modalities': {'type': 'array', 'items': {'type': 'string'}}, 'interactionType': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'description': {'type': ['string', 'null']}, 'capabilities': {'type': 'array', 'items': {'type': 'string'}}, 'schemaVersion': {'type': 'string'}, 'authentication': {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string'}}, 'additionalProperties': False}, 'documentationUrl': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'createdAt': {'type': 'string'}, 'latencyMs': {'type': ['number', 'null']}, 'httpStatus': {'type': ['number', 'null']}, 'description': {'type': ['string', 'null']}, 'capabilities': {'type': 'array', 'items': {'type': 'string'}}, 'lastCheckedAt': {'type': ['string', 'null']}, 'trustDecision': {'type': 'object', 'required': ['recommended', 'confidence', 'reasons'], 'properties': {'reasons': {'type': 'array', 'items': {'type': 'string'}}, 'confidence': {'enum': ['high', 'medium', 'low', 'insufficient_data'], 'type': 'string'}, 'recommended': {'type': 'boolean'}}, 'additionalProperties': False}, 'reliabilityScore': {'type': ['number', 'null']}, 'ownershipVerifiedAt': {'type': ['string', 'null']}, 'reliabilityScoreStatus': {'enum': ['none', 'fresh', 'stale'], 'type': 'string'}, 'reliabilityScoreComputedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}
get_agent_health
Get Agent Health
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.
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': "The agent's URL slug (from its public profile or a list_agents result)."}}}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['agentId', 'slug', 'status', 'lastCheckedAt', 'latencyMs', 'httpStatus', 'checkStatus', 'reliabilityScore', 'reliabilityScoreStatus', 'reliabilityScoreComputedAt'], 'properties': {'slug': {'type': 'string'}, 'status': {'enum': ['unknown', 'healthy', 'degraded', 'down'], 'type': 'string'}, 'agentId': {'type': 'string'}, 'latencyMs': {'type': ['number', 'null']}, 'httpStatus': {'type': ['number', 'null']}, 'checkStatus': {'type': ['string', 'null']}, 'lastCheckedAt': {'type': ['string', 'null']}, 'reliabilityScore': {'type': ['number', 'null']}, 'reliabilityScoreStatus': {'enum': ['none', 'fresh', 'stale'], 'type': 'string'}, 'reliabilityScoreComputedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}
list_agents
List Agents
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.
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max agents to return (1-100, default 20).'}, 'cursor': {'type': 'string', 'maxLength': 500, 'minLength': 1, 'description': "Opaque pagination cursor from a previous call's nextCursor."}, 'endpointUrl': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'Look up the agent registered with exactly this invocation URL, instead of browsing the full listing â\x80\x94 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 â\x80\x94 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.'}}}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['agents', 'pagination'], 'properties': {'agents': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'slug', 'name', 'description', 'version', 'capabilities', 'status', 'createdAt', 'agentCard', 'verified', 'ownershipVerifiedAt'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'status': {'enum': ['unknown', 'healthy', 'degraded', 'down'], 'type': 'string'}, 'version': {'type': ['string', 'null']}, 'verified': {'type': 'boolean'}, 'agentCard': {'type': 'object', 'required': ['schemaVersion', 'name', 'description', 'capabilities', 'authentication', 'interfaces', 'documentationUrl'], 'properties': {'name': {'type': 'string'}, 'interfaces': {'type': 'object', 'required': ['modalities', 'interactionType'], 'properties': {'modalities': {'type': 'array', 'items': {'type': 'string'}}, 'interactionType': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'description': {'type': ['string', 'null']}, 'capabilities': {'type': 'array', 'items': {'type': 'string'}}, 'schemaVersion': {'type': 'string'}, 'authentication': {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string'}}, 'additionalProperties': False}, 'documentationUrl': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'createdAt': {'type': 'string'}, 'latencyMs': {'type': ['number', 'null']}, 'httpStatus': {'type': ['number', 'null']}, 'description': {'type': ['string', 'null']}, 'capabilities': {'type': 'array', 'items': {'type': 'string'}}, 'lastCheckedAt': {'type': ['string', 'null']}, 'trustDecision': {'type': 'object', 'required': ['recommended', 'confidence', 'reasons'], 'properties': {'reasons': {'type': 'array', 'items': {'type': 'string'}}, 'confidence': {'enum': ['high', 'medium', 'low', 'insufficient_data'], 'type': 'string'}, 'recommended': {'type': 'boolean'}}, 'additionalProperties': False}, 'reliabilityScore': {'type': ['number', 'null']}, 'ownershipVerifiedAt': {'type': ['string', 'null']}, 'reliabilityScoreStatus': {'enum': ['none', 'fresh', 'stale'], 'type': 'string'}, 'reliabilityScoreComputedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'pagination': {'type': 'object', 'required': ['nextCursor'], 'properties': {'nextCursor': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}
send_heartbeat
Send Heartbeat
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.
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': "The agent's URL slug (from its public profile or a list_agents result)."}}}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug', 'status', 'lastHeartbeatAt'], 'properties': {'slug': {'type': 'string'}, 'status': {'enum': ['unknown', 'healthy', 'degraded', 'down'], 'type': 'string'}, 'lastHeartbeatAt': {'type': ['string', 'null']}}, 'additionalProperties': False}
Modificado
check_agent_trust
28 de September de 2026 a las 02:41
Modificado
get_agent_health
28 de September de 2026 a las 02:41
Modificado
get_agent
28 de September de 2026 a las 02:41
Modificado
list_agents
28 de September de 2026 a las 02:41
Modificado
check_agent_trust
24 de September de 2026 a las 02:40
Modificado
check_agent_trust
22 de September de 2026 a las 02:40
Añadido
check_agent_trust
20 de September de 2026 a las 02:40
Añadido
send_heartbeat
20 de September de 2026 a las 02:40
Añadido
get_agent_health
20 de September de 2026 a las 02:40
Añadido
get_agent
20 de September de 2026 a las 02:40
Añadido
list_agents
20 de September de 2026 a las 02:40