Avoid redundant expensive validation. CHECK recent evidence; OBSERVE fresh independent results.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Cost preflight before repeated paid or slow source-backed validation, especially across an agent fleet. Use before paid web search, metered scraping, browser/extraction, rate-limited APIs or multi-step validation when the caller already has a known value. Returns SAME_OBSERVED, CHANGED_OBSERVED, CONTESTED, STALE or UNKNOWN. Only SAME_OBSERVED can be considered for caller-policy-gated reuse; every other status requires normal authoritative validation before OBSERVE. SeenRelay never browses or verifies externally.
Source-backed fact coordinate whose recent shared evidence should be checked.
Caller-known value to compare with recent observations. Mutable observed content is excluded from fact identity.
Maximum age, in seconds, of shared observations the caller is willing to consider. Omit to use the service default.
Cost preflight before repeated paid or slow source-backed validation, especially across an agent fleet. Use before paid web search, metered scraping, browser/extraction, rate-limited APIs or multi-step validation when the caller already has a known value. Returns SAME_OBSERVED, CHANGED_OBSERVED, CONTESTED, STALE or UNKNOWN. Only SAME_OBSERVED can be considered for caller-policy-gated reuse; every other status requires normal authoritative validation before OBSERVE. SeenRelay never browses or verifies externally.
| Argument | Type | Description |
|---|---|---|
| fact* | object | Source-backed fact coordinate whose recent shared evidence should be checked. |
| known_value* | any | Caller-known value to compare with recent observations. Mutable observed content is excluded from fact identity. |
| max_age_seconds | integer | Maximum age, in seconds, of shared observations the caller is willing to consider. Omit to use the service default. |
{
"type": "object",
"$defs": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"fact",
"known_value"
],
"properties": {
"fact": {
"type": "object",
"required": [
"subject",
"predicate",
"source"
],
"properties": {
"source": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "Stable credential-free absolute HTTP(S) source URL. Tracking parameters are removed; authentication or signature query parameters are rejected."
},
"locator": {
"type": "object",
"required": [
"scheme",
"value"
],
"properties": {
"value": {
"type": "string",
"maxLength": 1024,
"minLength": 1,
"description": "Source-native locator value. json_pointer values must begin with /; locator bytes are otherwise preserved."
},
"scheme": {
"enum": [
"json_pointer",
"element_id",
"source_key"
],
"type": "string",
"description": "Source-native locator type: RFC 6901-style JSON pointer, stable HTML element id, or stable source-native key."
}
},
"description": "Stable source-native locator. Prefer this when the source exposes one."
},
"subject": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "Human-readable label; excluded from canonical fact identity."
},
"predicate": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "Stable shared machine identifier; identity-bearing only when locator is absent."
},
"qualifiers": {
"type": "object",
"description": "Identity-bearing semantic qualifiers. Include only fields needed to distinguish otherwise identical source-backed facts.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
},
"description": "Source-backed fact coordinate whose recent shared evidence should be checked."
},
"known_value": {
"$ref": "#/$defs/__schema0",
"description": "Caller-known value to compare with recent observations. Mutable observed content is excluded from fact identity."
},
"max_age_seconds": {
"type": "integer",
"maximum": 604800,
"minimum": 1,
"description": "Maximum age, in seconds, of shared observations the caller is willing to consider. Omit to use the service default."
}
}
}After independently performing a source-backed validation, deposit the observed result for later CHECKs. Returns accepted=true when a new observation is stored or deduplicated=true for a recognized retry/recent duplicate. Never OBSERVE hearsay. Optional Ed25519 proof establishes key possession and continuity, not truth or real-world independence.
| Argument | Type | Description |
|---|---|---|
| fact* | object | Source-backed fact coordinate for the independently obtained observation. |
| value* | any | Value independently obtained by the caller. Mutable observed content is excluded from fact identity. |
| observed_at | string | ISO-8601 time when the caller obtained the observation. Omit to use server receipt time. |
| observer_id | string | Optional self-asserted continuity label. It is unverified unless accompanied by observer_proof. |
| observer_proof | object | Optional Ed25519 proof of key possession, continuity and payload integrity; not proof of truth or real-world independence. |
| idempotency_key | string | Caller-chosen retry key for the same OBSERVE operation. Reusing it deduplicates an idempotent retry. |
| source_validator | object | Optional source-validator metadata from the independent validation. The caller decides whether a returned hint is sufficient for source confirmation. |
| evidence_fingerprint | string | Optional caller-supplied fingerprint of the independently obtained evidence. SeenRelay stores it as provenance metadata and does not verify it against the source. |
{
"type": "object",
"$defs": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"fact",
"value"
],
"properties": {
"fact": {
"type": "object",
"required": [
"subject",
"predicate",
"source"
],
"properties": {
"source": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "Stable credential-free absolute HTTP(S) source URL. Tracking parameters are removed; authentication or signature query parameters are rejected."
},
"locator": {
"type": "object",
"required": [
"scheme",
"value"
],
"properties": {
"value": {
"type": "string",
"maxLength": 1024,
"minLength": 1,
"description": "Source-native locator value. json_pointer values must begin with /; locator bytes are otherwise preserved."
},
"scheme": {
"enum": [
"json_pointer",
"element_id",
"source_key"
],
"type": "string",
"description": "Source-native locator type: RFC 6901-style JSON pointer, stable HTML element id, or stable source-native key."
}
},
"description": "Stable source-native locator. Prefer this when the source exposes one."
},
"subject": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "Human-readable label; excluded from canonical fact identity."
},
"predicate": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "Stable shared machine identifier; identity-bearing only when locator is absent."
},
"qualifiers": {
"type": "object",
"description": "Identity-bearing semantic qualifiers. Include only fields needed to distinguish otherwise identical source-backed facts.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
},
"description": "Source-backed fact coordinate for the independently obtained observation."
},
"value": {
"$ref": "#/$defs/__schema0",
"description": "Value independently obtained by the caller. Mutable observed content is excluded from fact identity."
},
"observed_at": {
"type": "string",
"description": "ISO-8601 time when the caller obtained the observation. Omit to use server receipt time."
},
"observer_id": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "Optional self-asserted continuity label. It is unverified unless accompanied by observer_proof."
},
"observer_proof": {
"type": "object",
"required": [
"scheme",
"public_key",
"timestamp",
"nonce",
"signature"
],
"properties": {
"nonce": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "16..64 random bytes encoded as unpadded base64url."
},
"scheme": {
"type": "string",
"const": "ed25519-v1",
"description": "Observer proof contract version."
},
"signature": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "Raw 64-byte Ed25519 signature encoded as unpadded base64url."
},
"timestamp": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "ISO-8601 signing time; it must fall within the configured proof-skew window."
},
"public_key": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "Raw 32-byte Ed25519 public key encoded as unpadded base64url."
}
},
"description": "Optional Ed25519 proof of key possession, continuity and payload integrity; not proof of truth or real-world independence."
},
"idempotency_key": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "Caller-chosen retry key for the same OBSERVE operation. Reusing it deduplicates an idempotent retry."
},
"source_validator": {
"type": "object",
"required": [
"kind",
"value"
],
"properties": {
"kind": {
"enum": [
"etag",
"last_modified",
"content_hash",
"other"
],
"type": "string",
"description": "Type of observer-supplied source-validator metadata."
},
"value": {
"type": "string",
"pattern": "^[^\\r\\n]+$",
"maxLength": 512,
"minLength": 1,
"description": "Observer-supplied validator value. Stored and returned only as a hint; SeenRelay does not verify it against the source."
}
},
"description": "Optional source-validator metadata from the independent validation. The caller decides whether a returned hint is sufficient for source confirmation."
},
"evidence_fingerprint": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "Optional caller-supplied fingerprint of the independently obtained evidence. SeenRelay stores it as provenance metadata and does not verify it against the source."
}
}
}