Skip to main content
Glama

Remnant Read — Agent Experience & Evidence

verify_trust_passport

Read-onlyIdempotent

Verify supplied signed Passport JSON/bundle against this issuer and public key history. For an Agent ID use get_trust_passport first. Returns integrity facts, errors and warnings; malformed/oversized input is rejected or invalid. Never fetches URLs. Read-only; no signing. Integrity does not prove competence, truth or execution.

Input Schema

NameRequiredDescriptionDefault
bundleYesSupplied signed JSON or proof bundle; no URL is fetched.
contributionNoPolicy context only. Automatic reads: automatic=true + trusted restrictions; no write attestations needed. Cannot grant consent; never include private prompts.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed23 schema fields changed
    • changedInput schema / properties / bundle / description
      Previous value: -"The signed Passport JSON object or proof bundle obtained from the public Passport API at get_trust_passport's cryptographicVerification.bundleUrl. Supply the object, never a URL, private key or the unsigned passport summary. The entire MCP request must fit within 512 KiB."New value: +"Supplied signed JSON or proof bundle; no URL is fetched."
    • changedInput schema / properties / contribution / description
      Previous value: -"Policy context, not content. For automatic reads, set automatic=true and applicable restrictive overrides; write-safety attestations are unnecessary. Automatic writes require truthful safety/reuse fields and stored consent. Never send private prompts; this cannot grant consent or loosen restrictions."New value: +"Policy context only. Automatic reads: automatic=true + trusted restrictions; no write attestations needed. Cannot grant consent; never include private prompts."
    • changedInput schema / properties / contribution / properties / actualAttempt / description
      Previous value: -"Whether the agent actually attempted the referenced memory in a real task. Reading alone is false; automatic outcome feedback requires true."New value: +"Actual trial, not reading; true required for automatic outcome feedback."
    • changedInput schema / properties / contribution / properties / automatic / description
      Previous value: -"True for an automatic call rather than an explicit user-requested action. Automatic writes require stored consent; never set false to bypass policy."New value: +"True for automatic calls; never use false to bypass policy."
    • changedInput schema / properties / contribution / properties / duplicateChecked / description
      Previous value: -"True only after searching and inspecting nearby memories for duplicates before automatic publication."New value: +"True only after duplicate search and inspection."
    • changedInput schema / properties / contribution / properties / novel / description
      Previous value: -"Whether the prepared contribution adds a new lesson, limitation or evidence after comparison with existing memories."New value: +"New lesson, limitation or evidence after comparison."
    • changedInput schema / properties / contribution / properties / outcome / description
      Previous value: -"Actual observed trial outcome; must agree with feedback arguments. Partial and uncertain are not success."New value: +"Actual outcome matching feedback; partial/uncertain are not success."
    • changedInput schema / properties / contribution / properties / overrides / description
      Previous value: -"Up to 16 restrictive rules normalized from trusted user or host intent. Never copy raw prompts; these rules cannot relax stored policy."New value: +"Trusted restrictions only; no raw prompts."
    • changedInput schema / properties / contribution / properties / overrides / items / properties / allowPublic / description
      Previous value: -"Set false to prohibit automatic public sharing in this scope."New value: +"false blocks public writes."
    • changedInput schema / properties / contribution / properties / overrides / items / properties / contribute / description
      Previous value: -"ask requires an explicit request before contribution; off forbids contribution in this scope."New value: +"ask requires an explicit request; off forbids contribution."
    • changedInput schema / properties / contribution / properties / overrides / items / properties / explicitOptOut / description
      Previous value: -"Set true for an explicit user opt-out from all Remnant writes in this scope."New value: +"true blocks every Remnant write."
    • changedInput schema / properties / contribution / properties / overrides / items / properties / feedback / description
      Previous value: -"Set off when this scope forbids sending feedback or outcomes."New value: +"off forbids sending feedback or outcomes."
    • changedInput schema / properties / contribution / properties / overrides / items / properties / noExternalWrite / description
      Previous value: -"Set true for local-only or no-external-write instructions; blocks private external writes too."New value: +"true blocks all external writes, including private storage."
    • changedInput schema / properties / contribution / properties / overrides / items / properties / read / description
      Previous value: -"Set off when this scope forbids all Remnant access, including reads."New value: +"off forbids all calls."
    • changedInput schema / properties / contribution / properties / overrides / items / properties / scope / description
      Previous value: -"Scope of a trusted user or host restriction; this does not grant permissions."New value: +"Trusted restriction scope; grants no permission."
    • changedInput schema / properties / contribution / properties / projectId / description
      Previous value: -"Optional contribution-policy project identifier supplied by the host with an authorized policy binding. This does not join or grant access to a research project."New value: +"Policy binding, not membership."
    • changedInput schema / properties / contribution / properties / requestedVisibility / description
      Previous value: -"Intended audience, which must match the action and effective target audience. It cannot make public feedback private or grant public-sharing permission."New value: +"Match actual audience; a private label cannot make public feedback private or grant consent."
    • changedInput schema / properties / contribution / properties / research / description
      Previous value: -"True for research-derived work. Record experiments and outcomes in the project instead of automatically duplicating them as ordinary memories."New value: +"Research-derived: record project experiments/outcomes, not duplicate ordinary memories."
    • changedInput schema / properties / contribution / properties / reusable / description
      Previous value: -"Whether this lesson can help a future technical task. Required true for automatic ordinary-memory publication."New value: +"Can help a future task; required true for automatic publication."
    • changedInput schema / properties / contribution / properties / sensitivity / description
      Previous value: -"Local privacy assessment after sanitization. Automatic writes require safe; uncertain or confidential material must stay local."New value: +"Local assessment; automatic writes need safe, else stay local."
    • changedInput schema / properties / contribution / properties / sourceClass / description
      Previous value: -"Technical activity that produced this lesson; required for automatic ordinary-memory publication."New value: +"Observed technical activity; required for automatic publication."
    • changedInput schema / properties / contribution / properties / whyReusable / description
      Previous value: -"Concrete reason the lesson is reusable; choose the observed contribution, not an aspirational benefit."New value: +"Observed reason for reuse, not an aspirational claim."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$defs": {
      +    "s0": {
      +      "allOf": [
      +        {
      +          "$ref": "#/$defs/s1"
      +        }
      +      ]
      +    },
      +    "s1": {
      +      "maximum": 9007199254740991,
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "anyOf": [
      +    {
      +      "additionalProperties": {},
      +      "properties": {
      +        "aggregateVerified": {
      +          "type": "boolean"
      +        },
      +        "credentialVerified": {
      +          "type": "boolean"
      +        },
      +        "documentUnchanged": {
      +          "type": "boolean"
      +        },
      +        "errors": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "externalAnchorAvailable": {
      +          "type": "boolean"
      +        },
      +        "integrityVerified": {
      +          "type": "boolean"
      +        },
      +        "issuerKeyValid": {
      +          "type": "boolean"
      +        },
      +        "issuerKeyValidAtIssuance": {
      +          "type": "boolean"
      +        },
      +        "issuerVerified": {
      +          "type": "boolean"
      +        },
      +        "merkleProofValid": {
      +          "type": "boolean"
      +        },
      +        "proofIntegrity": {
      +          "type": "boolean"
      +        },
      +        "signatureValid": {
      +          "type": "boolean"
      +        },
      +        "trustDecision": {
      +          "const": "not_assessed",
      +          "type": "string"
      +        },
      +        "valid": {
      +          "type": "boolean"
      +        },
      +        "warnings": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "valid",
      +        "issuerVerified",
      +        "signatureValid",
      +        "integrityVerified",
      +        "issuerKeyValidAtIssuance",
      +        "merkleProofValid",
      +        "aggregateVerified",
      +        "credentialVerified",
      +        "externalAnchorAvailable",
      +        "errors",
      +        "warnings",
      +        "documentUnchanged",
      +        "issuerKeyValid",
      +        "proofIntegrity",
      +        "trustDecision"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": {},
      +      "properties": {
      +        "category": {
      +          "enum": [
      +            "authentication",
      +            "authorization",
      +            "validation",
      +            "rate_limit",
      +            "conflict",
      +            "not_found",
      +            "payment",
      +            "server"
      +          ],
      +          "type": "string"
      +        },
      +        "code": {
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "details": {
      +          "additionalProperties": {},
      +          "properties": {
      +            "currentVersion": {
      +              "$ref": "#/$defs/s0"
      +            },
      +            "keyId": {
      +              "allOf": [
      +                {
      +                  "type": "string"
      +                }
      +              ]
      +            },
      +            "memoryId": {
      +              "allOf": [
      +                {
      +                  "type": "string"
      +                }
      +              ]
      +            },
      +            "publicId": {
      +              "allOf": [
      +                {
      +                  "type": "string"
      +                }
      +              ]
      +            },
      +            "retryAfter": {
      +              "$ref": "#/$defs/s0"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "error": {
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "recommendedAction": {
      +          "allOf": [
      +            {
      +              "type": "string"
      +            }
      +          ]
      +        },
      +        "retryAfter": {
      +          "$ref": "#/$defs/s0"
      +        },
      +        "retryable": {
      +          "type": "boolean"
      +        },
      +        "status": {
      +          "maximum": 599,
      +          "minimum": 400,
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "status",
      +        "code",
      +        "error",
      +        "category",
      +        "retryable"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": {},
      +      "properties": {
      +        "code": {
      +          "enum": [
      +            "UPSTREAM_RATE_LIMITED",
      +            "UPSTREAM_UNAVAILABLE",
      +            "UPSTREAM_ACCESS_DENIED",
      +            "UPSTREAM_INVALID_PARAMS",
      +            "UPSTREAM_INVALID_RESPONSE",
      +            "UPSTREAM_TIMEOUT",
      +            "REQUEST_CANCELLED",
      +            "UPSTREAM_CATALOG_CHANGED",
      +            "UPSTREAM_REDIRECT_REFUSED",
      +            "BRIDGE_BUSY"
      +          ],
      +          "type": "string"
      +        },
      +        "httpStatus": {
      +          "maximum": 599,
      +          "minimum": 100,
      +          "type": "integer"
      +        },
      +        "message": {
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "retryAfterSeconds": {
      +          "maximum": 3600,
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "rpcCode": {
      +          "maximum": 9007199254740991,
      +          "minimum": -9007199254740991,
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "code",
      +        "message"
      +      ],
      +      "type": "object"
      +    }
      +  ],
      +  "properties": {},
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • removedInput schema / properties / contribution / required
      Removed value: -[
      -  "automatic"
      -]
  3. Changed25 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedInput schema / properties / bundle / description
      Previous value: -"A signed Passport JSON object or proof bundle obtained from the public Passport API; never a URL or private key."New value: +"The signed Passport JSON object or proof bundle obtained from the public Passport API at get_trust_passport's cryptographicVerification.bundleUrl. Supply the object, never a URL, private key or the unsigned passport summary. The entire MCP request must fit within 512 KiB."
    • addedInput schema / properties / contribution / $schema
      Added value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / properties / contribution / description
      Added value: +"Policy context, not content. For automatic reads, set automatic=true and applicable restrictive overrides; write-safety attestations are unnecessary. Automatic writes require truthful safety/reuse fields and stored consent. Never send private prompts; this cannot grant consent or loosen restrictions."
    • addedInput schema / properties / contribution / properties / actualAttempt / description
      Added value: +"Whether the agent actually attempted the referenced memory in a real task. Reading alone is false; automatic outcome feedback requires true."
    • addedInput schema / properties / contribution / properties / automatic / description
      Added value: +"True for an automatic call rather than an explicit user-requested action. Automatic writes require stored consent; never set false to bypass policy."
    • addedInput schema / properties / contribution / properties / duplicateChecked / description
      Added value: +"True only after searching and inspecting nearby memories for duplicates before automatic publication."
    • addedInput schema / properties / contribution / properties / novel / description
      Added value: +"Whether the prepared contribution adds a new lesson, limitation or evidence after comparison with existing memories."
    • addedInput schema / properties / contribution / properties / outcome / description
      Added value: +"Actual observed trial outcome; must agree with feedback arguments. Partial and uncertain are not success."
    • addedInput schema / properties / contribution / properties / overrides / description
      Added value: +"Up to 16 restrictive rules normalized from trusted user or host intent. Never copy raw prompts; these rules cannot relax stored policy."
    • addedInput schema / properties / contribution / properties / overrides / items / properties / allowPublic / description
      Added value: +"Set false to prohibit automatic public sharing in this scope."
    • addedInput schema / properties / contribution / properties / overrides / items / properties / contribute / description
      Added value: +"ask requires an explicit request before contribution; off forbids contribution in this scope."
    • addedInput schema / properties / contribution / properties / overrides / items / properties / explicitOptOut / description
      Added value: +"Set true for an explicit user opt-out from all Remnant writes in this scope."
    • addedInput schema / properties / contribution / properties / overrides / items / properties / feedback / description
      Added value: +"Set off when this scope forbids sending feedback or outcomes."
    • addedInput schema / properties / contribution / properties / overrides / items / properties / noExternalWrite / description
      Added value: +"Set true for local-only or no-external-write instructions; blocks private external writes too."
    • addedInput schema / properties / contribution / properties / overrides / items / properties / read / description
      Added value: +"Set off when this scope forbids all Remnant access, including reads."
    • addedInput schema / properties / contribution / properties / overrides / items / properties / scope / description
      Added value: +"Scope of a trusted user or host restriction; this does not grant permissions."
    • addedInput schema / properties / contribution / properties / projectId / description
      Added value: +"Optional contribution-policy project identifier supplied by the host with an authorized policy binding. This does not join or grant access to a research project."
    • addedInput schema / properties / contribution / properties / requestedVisibility / description
      Added value: +"Intended audience, which must match the action and effective target audience. It cannot make public feedback private or grant public-sharing permission."
    • addedInput schema / properties / contribution / properties / research / description
      Added value: +"True for research-derived work. Record experiments and outcomes in the project instead of automatically duplicating them as ordinary memories."
    • addedInput schema / properties / contribution / properties / reusable / description
      Added value: +"Whether this lesson can help a future technical task. Required true for automatic ordinary-memory publication."
    • addedInput schema / properties / contribution / properties / sensitivity / description
      Added value: +"Local privacy assessment after sanitization. Automatic writes require safe; uncertain or confidential material must stay local."
    • addedInput schema / properties / contribution / properties / sourceClass / description
      Added value: +"Technical activity that produced this lesson; required for automatic ordinary-memory publication."
    • addedInput schema / properties / contribution / properties / whyReusable / description
      Added value: +"Concrete reason the lesson is reusable; choose the observed contribution, not an aspirational benefit."
    • addedInput schema / properties / contribution / required
      Added value: +[
      +  "automatic"
      +]
  4. Changed1 schema field changed
    • addedInput schema / properties / contribution
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "actualAttempt": {
      +      "type": "boolean"
      +    },
      +    "automatic": {
      +      "default": false,
      +      "type": "boolean"
      +    },
      +    "duplicateChecked": {
      +      "type": "boolean"
      +    },
      +    "novel": {
      +      "type": "boolean"
      +    },
      +    "outcome": {
      +      "enum": [
      +        "success",
      +        "failure",
      +        "partial",
      +        "uncertain"
      +      ],
      +      "type": "string"
      +    },
      +    "overrides": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "allowPublic": {
      +            "const": false,
      +            "type": "boolean"
      +          },
      +          "contribute": {
      +            "enum": [
      +              "ask",
      +              "off"
      +            ],
      +            "type": "string"
      +          },
      +          "explicitOptOut": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "feedback": {
      +            "const": "off",
      +            "type": "string"
      +          },
      +          "noExternalWrite": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "read": {
      +            "const": "off",
      +            "type": "string"
      +          },
      +          "scope": {
      +            "enum": [
      +              "task",
      +              "session",
      +              "project",
      +              "workspace"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "scope"
      +        ],
      +        "type": "object"
      +      },
      +      "maxItems": 16,
      +      "type": "array"
      +    },
      +    "projectId": {
      +      "maxLength": 96,
      +      "minLength": 1,
      +      "pattern": "^[A-Za-z0-9_-]+$",
      +      "type": "string"
      +    },
      +    "requestedVisibility": {
      +      "enum": [
      +        "private",
      +        "public",
      +        "shared"
      +      ],
      +      "type": "string"
      +    },
      +    "research": {
      +      "type": "boolean"
      +    },
      +    "reusable": {
      +      "type": "boolean"
      +    },
      +    "sensitivity": {
      +      "enum": [
      +        "safe",
      +        "uncertain",
      +        "confidential"
      +      ],
      +      "type": "string"
      +    },
      +    "sourceClass": {
      +      "enum": [
      +        "development",
      +        "debugging",
      +        "migration",
      +        "performance",
      +        "integration",
      +        "research"
      +      ],
      +      "type": "string"
      +    },
      +    "whyReusable": {
      +      "enum": [
      +        "root_cause",
      +        "edge_case",
      +        "reliable_workaround",
      +        "instructive_failure",
      +        "api_behavior",
      +        "concurrency",
      +        "retry_idempotency",
      +        "migration",
      +        "measured_performance",
      +        "debugging_method",
      +        "contradiction",
      +        "new_evidence",
      +        "research_result",
      +        "limitation"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  5. Changed4 schema fields changed
    • addedInput schema / properties / bundle / additionalProperties
      Added value: +{}
    • addedInput schema / properties / bundle / description
      Added value: +"A signed Passport JSON object or proof bundle obtained from the public Passport API; never a URL or private key."
    • addedInput schema / properties / bundle / properties
      Added value: +{}
    • addedInput schema / properties / bundle / type
      Added value: +"object"
  6. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Going beyond the readOnly/idempotent/non-destructive annotations, it discloses that input is never fetched from URLs, that malformed or oversized input is rejected or marked invalid, and that results are integrity facts plus errors and warnings. It also sets a semantic limit ('integrity does not prove competence, truth or execution'), though it says nothing about size limits or performance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short, front-loaded clauses with no filler: purpose and routing come first, then return content, failure behavior, network constraint, and the caveat. Every sentence carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need only explain inputs and behavior, and it does so well, including failure modes and the safety caveat. The one gap is the unexplained 'contribution' parameter, whose policy fields appear unrelated to a verification call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented, and the baseline of 3 applies. The description reinforces the bundle parameter ('no URL is fetched') but says nothing about the purpose or expected shape of the nested 'contribution' object.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Verify) and resource (supplied signed Passport JSON/bundle) with its scope: against this issuer and public key history. It also distinguishes itself from the sibling get_trust_passport by assigning that tool to the Agent-ID lookup case.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: 'For an Agent ID use get_trust_passport first,' and frames this tool as operating on a caller-supplied bundle. That covers the main routing decision an agent faces between the two.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources