Vigil — an outside witness for AI agents
Qué hace este MCP
Provides signed receipts, hash-chained notarization, leases, watchdogs, journal storage, source verification, and verification utilities for monitoring and controlling agent actions.
Herramientas
Esquema de entrada
{'type': 'object', 'examples': [{}], 'required': [], 'properties': {'vigil_key': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'deprecated': True, 'description': 'DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates the request. This is not a scoped agent token.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{}], 'properties': {}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{'to_serial': 10, 'from_serial': 1}], 'properties': {'to_serial': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 1, 'description': 'Last serial (default = from_serial).'}, 'from_serial': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 1, 'description': 'First serial (default 1).'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{'name': 'agent-health'}], 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'Watchdog name, 1..64 characters.'}, 'vigil_key': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'deprecated': True, 'description': 'DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates the request. This is not a scoped agent token.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{'serial': 1}], 'required': ['serial'], 'properties': {'serial': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 1, 'description': 'The receipt serial number.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{'lim': 'amount<=100usd', 'agent': 'refund-agent', 'ttl_s': 60, 'action': 'stripe.refund'}], 'required': ['agent', 'action', 'ttl_s'], 'properties': {'lim': {'type': 'string', 'maxLength': 256, 'description': "Optional limit string the gateway enforces, e.g. 'amount<=50usd'."}, 'agent': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Identifier for the agent being authorized (1-128 chars).'}, 'ttl_s': {'type': 'integer', 'maximum': 604800, 'minimum': 5, 'description': 'Lease lifetime in seconds, 5..604800. Keep it short; renew to extend.'}, 'action': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': "The action class this lease authorizes, e.g. 'stripe.refund' (1-128 chars)."}, 'vigil_key': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'deprecated': True, 'description': 'DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates the request. This is not a scoped agent token.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{'name': 'agent-health'}], 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'Watchdog name, 1..64 characters.'}, 'vigil_key': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'deprecated': True, 'description': 'DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates the request. This is not a scoped agent token.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{}], 'properties': {}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{'slug': 'encrypted-state'}], 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{1,64}$', 'maxLength': 64, 'minLength': 1, 'description': 'Journal slot name, 1..64 ASCII letters, numbers, hyphens, or underscores.'}, 'vigil_key': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'deprecated': True, 'description': 'DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates the request. This is not a scoped agent token.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{'slug': 'encrypted-state'}], 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{1,64}$', 'maxLength': 64, 'minLength': 1, 'description': 'Journal slot name, 1..64 ASCII letters, numbers, hyphens, or underscores.'}, 'vigil_key': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'deprecated': True, 'description': 'DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates the request. This is not a scoped agent token.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{}], 'required': [], 'properties': {'vigil_key': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'deprecated': True, 'description': 'DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates the request. This is not a scoped agent token.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{'slug': 'encrypted-state', 'data_base64': 'ZW5jcnlwdGVkLWJ5dGVz'}], 'required': ['slug', 'data_base64'], 'properties': {'slug': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{1,64}$', 'maxLength': 64, 'minLength': 1, 'description': '1-64 alnum/-/_ chars.'}, 'vigil_key': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'deprecated': True, 'description': 'DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates the request. This is not a scoped agent token.'}, 'data_base64': {'type': 'string', 'maxLength': 100000, 'description': 'The (already-encrypted) bytes, base64-encoded.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{}], 'required': [], 'properties': {'vigil_key': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'deprecated': True, 'description': 'DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates the request. This is not a scoped agent token.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{'lease_id': 'lease_example'}], 'required': ['lease_id'], 'properties': {'lease_id': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Opaque lease identifier returned by vigil_grant_lease.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{'label': 'public example digest', 'subject_sha256': '0000000000000000000000000000000000000000000000000000000000000000'}], 'required': ['subject_sha256'], 'properties': {'label': {'type': 'string', 'maxLength': 200, 'description': 'Optional human label, <=200 chars. Public — do not put secrets here.'}, 'vigil_key': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'deprecated': True, 'description': 'DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates the request. This is not a scoped agent token.'}, 'subject_sha256': {'type': 'string', 'pattern': '^[0-9a-fA-F]{64}$', 'maxLength': 64, 'minLength': 64, 'description': '64 lowercase hex chars: the sha256 of the thing you are notarizing.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{}], 'properties': {}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{'handle': 'example-agent'}], 'required': ['handle'], 'properties': {'handle': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]{0,63}$', 'maxLength': 64, 'minLength': 1, 'description': '1-64 chars, lowercase alnum plus - and _.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{'ttl_s': 60, 'lease_id': 'lease_example'}], 'required': ['lease_id', 'ttl_s'], 'properties': {'ttl_s': {'type': 'integer', 'maximum': 604800, 'minimum': 5, 'description': 'Requested lease lifetime in seconds, 5..604800; offline trust still ends at recheck_by_ms within 30 seconds.'}, 'lease_id': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Opaque lease identifier returned by vigil_grant_lease.'}, 'vigil_key': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'deprecated': True, 'description': 'DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates the request. This is not a scoped agent token.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{}], 'required': [], 'properties': {'vigil_key': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'deprecated': True, 'description': 'DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates the request. This is not a scoped agent token.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{'lease_id': 'lease_example'}], 'required': ['lease_id'], 'properties': {'lease_id': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Opaque lease identifier returned by vigil_grant_lease.'}, 'vigil_key': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'deprecated': True, 'description': 'DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates the request. This is not a scoped agent token.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{'name': 'agent-health', 'message': 'agent missed heartbeat', 'interval_s': 300, 'webhook_url': 'https://alerts.example.com/vigil'}], 'required': ['name', 'interval_s', 'webhook_url'], 'properties': {'name': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'A name for this watchdog, 1-64 chars.'}, 'message': {'type': 'string', 'maxLength': 2000, 'description': 'Optional note included in the absence payload, <=2000 chars.'}, 'vigil_key': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'deprecated': True, 'description': 'DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates the request. This is not a scoped agent token.'}, 'interval_s': {'type': 'integer', 'maximum': 604800, 'minimum': 60, 'description': 'Seconds allowed between heartbeats, 60..604800.'}, 'webhook_url': {'type': 'string', 'pattern': '^https://[^\\s]+$', 'maxLength': 2048, 'minLength': 1, 'description': 'An https URL resolving to a public address; fired once on a missed heartbeat.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{}], 'required': [], 'properties': {'vigil_key': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'deprecated': True, 'description': 'DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates the request. This is not a scoped agent token.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['lease', 'pubkey_hex'], 'properties': {'lease': {'type': 'object', 'description': 'A full lease token from vigil_grant_lease.'}, 'pubkey_hex': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64, 'minLength': 64, 'description': 'Mandatory Ed25519 public key pinned from a trusted out-of-band source; never copy it from the lease.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['receipt', 'pubkey_hex'], 'properties': {'receipt': {'type': 'object', 'description': 'A full receipt object as returned by vigil_notarize / vigil_get_receipt.'}, 'pubkey_hex': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64, 'minLength': 64, 'description': 'Mandatory Ed25519 public key pinned from a trusted out-of-band source; never copy it from the receipt.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['source_url', 'claim'], 'properties': {'claim': {'type': 'string', 'pattern': '\\S', 'maxLength': 2000, 'minLength': 1}, 'options': {'type': 'object', 'properties': {'max_price_usd': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)(\\.[0-9]{1,6})?$', 'maxLength': 32}, 'max_age_seconds': {'type': 'integer', 'default': 60, 'maximum': 300, 'minimum': 0}}, 'additionalProperties': False}, 'source_url': {'type': 'string', 'format': 'uri', 'pattern': '^https://[^\\s]+$', 'maxLength': 2048}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'allOf': [{'if': {'properties': {'assessment_scope': {'const': 'literal_quotation_only'}}}, 'then': {'properties': {'evidence': {'items': {'properties': {'stance': {'const': 'mentions'}}}}, 'claim_support': {'enum': ['not_assessed', 'insufficient_evidence']}}}}, {'if': {'properties': {'claim_support': {'const': 'supports'}}}, 'then': {'properties': {'evidence': {'allOf': [{'contains': {'required': ['stance'], 'properties': {'stance': {'const': 'supports'}}}, 'minContains': 1}]}}}}, {'if': {'properties': {'claim_support': {'const': 'contradicts'}}}, 'then': {'properties': {'evidence': {'allOf': [{'contains': {'required': ['stance'], 'properties': {'stance': {'const': 'contradicts'}}}, 'minContains': 1}]}}}}, {'if': {'properties': {'claim_support': {'const': 'mixed'}}}, 'then': {'properties': {'evidence': {'allOf': [{'contains': {'required': ['stance'], 'properties': {'stance': {'const': 'supports'}}}, 'minContains': 1}, {'contains': {'required': ['stance'], 'properties': {'stance': {'const': 'contradicts'}}}, 'minContains': 1}]}}}}], 'required': ['schema_version', 'request_id', 'status', 'verification_type', 'source', 'reachable', 'source_identity', 'claim', 'claim_support', 'explanation', 'evidence', 'confidence', 'risk_flags', 'checked_at', 'served_at', 'methodology_version', 'assessment_scope', 'limits', 'cache', 'payment', 'receipt'], 'properties': {'cache': {'type': 'object', 'required': ['hit', 'age_seconds', 'original_checked_at'], 'properties': {'hit': {'type': 'boolean'}, 'age_seconds': {'type': 'integer', 'minimum': 0}, 'original_checked_at': {'type': 'string', 'format': 'date-time', 'pattern': '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]{1,6})?Z$'}}, 'additionalProperties': False}, 'claim': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'limits': {'type': 'object', 'required': ['max_text_chars'], 'properties': {'fixture': {'const': True}, 'max_redirects': {'type': 'integer', 'maximum': 5, 'minimum': 0}, 'max_text_chars': {'type': 'integer', 'maximum': 100000, 'minimum': 1}, 'max_wire_bytes': {'type': 'integer', 'maximum': 4194304, 'minimum': 1}, 'timeout_seconds': {'anyOf': [{'type': 'integer', 'maximum': 60, 'minimum': 1}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)\\.[0-9]+$'}]}, 'max_header_bytes': {'type': 'integer', 'maximum': 65536, 'minimum': 1}, 'max_decoded_bytes': {'type': 'integer', 'maximum': 8388608, 'minimum': 1}, 'socket_timeout_seconds': {'anyOf': [{'type': 'integer', 'maximum': 15, 'minimum': 1}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)\\.[0-9]+$'}]}}, 'additionalProperties': False}, 'source': {'type': 'object', 'required': ['requested_url', 'final_url', 'http_status', 'content_type', 'content_sha256', 'text_sha256', 'normalized_text', 'offset_unit', 'redirects', 'wire_bytes', 'decoded_bytes'], 'properties': {'final_url': {'type': 'string', 'format': 'uri', 'pattern': '^https://', 'maxLength': 49152}, 'redirects': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'status'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'pattern': '^https://', 'maxLength': 49152}, 'status': {'enum': [301, 302, 303, 307, 308]}}, 'additionalProperties': False}, 'maxItems': 5}, 'wire_bytes': {'type': 'integer', 'maximum': 26000000, 'minimum': 0}, 'http_status': {'const': 200}, 'offset_unit': {'const': 'unicode_codepoint'}, 'text_sha256': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'content_type': {'type': 'string', 'pattern': '^[Tt][Ee][Xx][Tt]/([Hh][Tt][Mm][Ll]|[Pp][Ll][Aa][Ii][Nn])(?:\\s*;.*)?$', 'maxLength': 32768}, 'decoded_bytes': {'type': 'integer', 'maximum': 8388608, 'minimum': 0}, 'requested_url': {'type': 'string', 'format': 'uri', 'pattern': '^https://[^\\s]+$', 'maxLength': 2048}, 'content_sha256': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'normalized_text': {'type': 'string', 'maxLength': 100000}}, 'additionalProperties': False}, 'status': {'const': 'completed'}, 'payment': {'type': 'object', 'required': ['status', 'provider', 'mode', 'simulated', 'network', 'asset', 'currency', 'amount_atomic', 'price_usd', 'transaction', 'facilitator_fee_usd', 'network_fee_usd'], 'properties': {'mode': {'enum': ['offline', 'testnet', 'mainnet']}, 'asset': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'status': {'const': 'settled'}, 'network': {'enum': ['eip155:8453', 'eip155:84532', 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1', 'none']}, 'currency': {'const': 'USDC'}, 'provider': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'price_usd': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)(\\.[0-9]{1,6})?$', 'maxLength': 32}, 'simulated': {'type': 'boolean'}, 'transaction': {'type': ['string', 'null'], 'maxLength': 512}, 'amount_atomic': {'type': 'string', 'pattern': '^(0|[1-9][0-9]{0,17})$'}, 'network_fee_usd': {'anyOf': [{'type': 'string', 'pattern': '^(0|[1-9][0-9]*)(\\.[0-9]{1,6})?$', 'maxLength': 32}, {'type': 'null'}]}, 'facilitator_fee_usd': {'anyOf': [{'type': 'string', 'pattern': '^(0|[1-9][0-9]*)(\\.[0-9]{1,6})?$', 'maxLength': 32}, {'type': 'null'}]}}, 'description': 'USDC uses six atomic decimals. Offline mock payments simulate USDC and move no funds. Null fees are unknown, not zero.', 'additionalProperties': False}, 'receipt': {'type': 'object', 'required': ['envelope', 'canonical_envelope_base64', 'attestation', 'verification'], 'properties': {'envelope': {'type': 'object', 'required': ['type', 'version', 'request_id', 'result_sha256', 'checked_at', 'methodology_version', 'payment', 'issued_at'], 'properties': {'type': {'const': 'vigil.source-verification.purchase'}, 'payment': {'type': 'object', 'required': ['status', 'provider', 'mode', 'simulated', 'network', 'asset', 'currency', 'amount_atomic', 'price_usd', 'transaction', 'facilitator_fee_usd', 'network_fee_usd'], 'properties': {'mode': {'enum': ['offline', 'testnet', 'mainnet']}, 'asset': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'status': {'const': 'settled'}, 'network': {'enum': ['eip155:8453', 'eip155:84532', 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1', 'none']}, 'currency': {'const': 'USDC'}, 'provider': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'price_usd': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)(\\.[0-9]{1,6})?$', 'maxLength': 32}, 'simulated': {'type': 'boolean'}, 'transaction': {'type': ['string', 'null'], 'maxLength': 512}, 'amount_atomic': {'type': 'string', 'pattern': '^(0|[1-9][0-9]{0,17})$'}, 'network_fee_usd': {'anyOf': [{'type': 'string', 'pattern': '^(0|[1-9][0-9]*)(\\.[0-9]{1,6})?$', 'maxLength': 32}, {'type': 'null'}]}, 'facilitator_fee_usd': {'anyOf': [{'type': 'string', 'pattern': '^(0|[1-9][0-9]*)(\\.[0-9]{1,6})?$', 'maxLength': 32}, {'type': 'null'}]}}, 'description': 'USDC uses six atomic decimals. Offline mock payments simulate USDC and move no funds. Null fees are unknown, not zero.', 'additionalProperties': False}, 'version': {'const': 1}, 'issued_at': {'type': 'string', 'format': 'date-time', 'pattern': '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]{1,6})?Z$'}, 'checked_at': {'type': 'string', 'format': 'date-time', 'pattern': '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]{1,6})?Z$'}, 'request_id': {'type': 'string', 'format': 'uuid'}, 'result_sha256': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'methodology_version': {'type': 'string', 'maxLength': 256, 'minLength': 1}}, 'additionalProperties': False}, 'attestation': {'type': 'object', 'required': ['v', 'serial', 'subject_sha256', 'label', 'requested_by', 'key_id', 'ts_ms', 'ts_utc', 'prev_hash', 'pubkey_hex', 'receipt_hash', 'sig_ed25519_hex'], 'properties': {'v': {'const': 1}, 'label': {'type': ['string', 'null'], 'maxLength': 200}, 'ts_ms': {'type': 'integer', 'minimum': 0}, 'key_id': {'type': 'integer', 'minimum': 0}, 'serial': {'type': 'integer', 'minimum': 1}, 'ts_utc': {'type': 'string', 'format': 'date-time', 'pattern': '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]{1,6})?Z$'}, 'prev_hash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'pubkey_hex': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'receipt_hash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'requested_by': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'subject_sha256': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'sig_ed25519_hex': {'type': 'string', 'pattern': '^[0-9a-f]{128}$'}}, 'additionalProperties': False}, 'verification': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'canonical_envelope_base64': {'type': 'string', 'pattern': '^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$', 'maxLength': 16384, 'minLength': 4, 'contentEncoding': 'base64'}}, 'description': "Pin Vigil's key independently. Verify the Ed25519 attestation, SHA256 of canonical envelope bytes, and SHA256 of the result with receipt removed. Schema validation alone does not authenticate a receipt.", 'additionalProperties': False}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['evidence_id', 'quote', 'start', 'end', 'stance', 'source_sha256', 'text_sha256'], 'properties': {'end': {'type': 'integer', 'maximum': 100000, 'minimum': 1}, 'quote': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'start': {'type': 'integer', 'maximum': 99999, 'minimum': 0}, 'stance': {'enum': ['supports', 'contradicts', 'mentions']}, 'evidence_id': {'type': 'string', 'pattern': '^e[1-6]$'}, 'text_sha256': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'source_sha256': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}}, 'description': 'Offsets count Unicode code points in source.normalized_text. Verify start < end and exact substring/digest matches independently; JSON Schema cannot establish them.', 'additionalProperties': False}, 'maxItems': 6}, 'reachable': {'const': True}, 'served_at': {'type': 'string', 'format': 'date-time', 'pattern': '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]{1,6})?Z$'}, 'checked_at': {'type': 'string', 'format': 'date-time', 'pattern': '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]{1,6})?Z$'}, 'confidence': {'type': 'null', 'description': 'No numerical confidence is published before calibration.'}, 'request_id': {'type': 'string', 'format': 'uuid'}, 'risk_flags': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]*$', 'maxLength': 128}, 'maxItems': 32, 'uniqueItems': True}, 'explanation': {'type': 'string', 'maxLength': 800}, 'claim_support': {'enum': ['supports', 'contradicts', 'mixed', 'insufficient_evidence', 'not_assessed']}, 'schema_version': {'const': '1.0.0'}, 'source_identity': {'type': 'object', 'required': ['hostname', 'tls_verified', 'publisher_identity'], 'properties': {'hostname': {'type': 'string', 'maxLength': 253, 'minLength': 1}, 'tls_verified': {'type': 'boolean'}, 'publisher_identity': {'const': 'unknown'}}, 'additionalProperties': False}, 'assessment_scope': {'enum': ['source_local_semantic_support', 'literal_quotation_only']}, 'verification_type': {'const': 'source'}, 'methodology_version': {'type': 'string', 'maxLength': 256, 'minLength': 1}}, 'description': 'A completed source observation and purchase. Retrieval failures return the error contract and are not submitted for settlement. Source support does not establish truth.', 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'examples': [{'name': 'agent-health'}], 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'Watchdog name, 1..64 characters.'}, 'vigil_key': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'deprecated': True, 'description': 'DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates the request. This is not a scoped agent token.'}}, 'additionalProperties': False}
Cambios recientes en herramientas
Servidores MCP similares
AIMEAT
Provides a self-hosted agent operating system with agent work delegation, access controls, federation, hooks, SSO, security admin…
hyperion
Acts as a paid MCP tool marketplace and utility gateway with server discovery, HTTP and JavaScript tools, research, data conversi…
Japan Public Ledgers MCP
Provides agent identity, memory, audit, trust, proxy, temporary email, webhook, CAPTCHA, and alerting capabilities alongside publ…
PHION Agent Trust Infrastructure
Provides agent trust, policy, provenance, evidence, delegation, telemetry, and transaction-control services for MCP and agent wor…
Swamp
Coordinates security agents through scoped bug-bounty programs, target claims, vulnerability submissions, peer review, shared fin…
AgentBIT
Routes pay-per-call tools over x402 on Base, covering discovery, data conversion, company research, counterparty screening, domai…
SaSame MCP Observatory + Gold Rush Town
Audits and profiles MCP servers, provides ecosystem analytics, trust and claim records, and non-custodial transaction or escrow a…
ThinkNEO Control Plane
Provides an enterprise AI control plane for governance, guardrails, spend tracking, compliance, and model or tool routing.