Skip to main content
Glama

remember_facts

Save facts/definitions; returns accepted, record_ids. Duplicates reuse records; new values add (edit: correct_fact).

Input Schema

NameRequiredDescriptionDefault
rulesNo
proofsNo
relationsNo
computationsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed17 schema fields changed
    • addedInput schema / description
      Added value: +"Send relations OR computations OR (rules and/or proofs)."
    • changedInput schema / oneOf
      Previous value: -[
      -  {
      -    "required": [
      -      "relations"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "computations"
      -    ]
      -  },
      -  {
      -    "anyOf": [
      -      {
      -        "required": [
      -          "rules"
      -        ]
      -      },
      -      {
      -        "required": [
      -          "proofs"
      -        ]
      -      }
      -    ]
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "properties": {
      +          "relations": {
      +            "minItems": 1
      +          }
      +        },
      +        "required": [
      +          "relations"
      +        ]
      +      }
      +    ],
      +    "properties": {
      +      "computations": {
      +        "maxItems": 0
      +      },
      +      "proofs": {
      +        "maxItems": 0
      +      },
      +      "rules": {
      +        "maxItems": 0
      +      }
      +    }
      +  },
      +  {
      +    "anyOf": [
      +      {
      +        "properties": {
      +          "computations": {
      +            "minItems": 1
      +          }
      +        },
      +        "required": [
      +          "computations"
      +        ]
      +      }
      +    ],
      +    "properties": {
      +      "proofs": {
      +        "maxItems": 0
      +      },
      +      "relations": {
      +        "maxItems": 0
      +      },
      +      "rules": {
      +        "maxItems": 0
      +      }
      +    }
      +  },
      +  {
      +    "anyOf": [
      +      {
      +        "properties": {
      +          "rules": {
      +            "minItems": 1
      +          }
      +        },
      +        "required": [
      +          "rules"
      +        ]
      +      },
      +      {
      +        "properties": {
      +          "proofs": {
      +            "minItems": 1
      +          }
      +        },
      +        "required": [
      +          "proofs"
      +        ]
      +      }
      +    ],
      +    "properties": {
      +      "computations": {
      +        "maxItems": 0
      +      },
      +      "relations": {
      +        "maxItems": 0
      +      }
      +    }
      +  }
      +]
    • changedInput schema / properties / computations / items / description
      Previous value: -"check_connection({\"schema\":\"computations\"})"New value: +"recall({\"schema\":\"computations\"})"
    • changedInput schema / properties / computations / minItems
      Previous value: -1New value: +0
    • changedInput schema / properties / proofs / items / description
      Previous value: -"check_connection({\"schema\":\"proofs\"})"New value: +"recall({\"schema\":\"proofs\"})"
    • changedInput schema / properties / proofs / minItems
      Previous value: -1New value: +0
    • addedInput schema / properties / relations / items / properties / context / properties / qualifiers / description
      Added value: +"Conditions: JSON scalars/lists."
    • addedInput schema / properties / relations / items / properties / context / properties / scope / description
      Added value: +"Project name/ID."
    • addedInput schema / properties / relations / items / properties / polarity / description
      Added value: +"1=assert (default); -1=explicit denial."
    • addedInput schema / properties / relations / items / properties / property_type / description
      Added value: +"Custom default: single. set=multiple; ordered/rules: full schema."
    • addedInput schema / properties / relations / items / properties / relation / description
      Added value: +"Property."
    • addedInput schema / properties / relations / items / properties / source / description
      Added value: +"Subject, not evidence source."
    • addedInput schema / properties / relations / items / properties / target / description
      Added value: +"Value."
    • addedInput schema / properties / relations / items / properties / validity / description
      Added value: +"ISO timestamps; interval uses valid_from/valid_to."
    • changedInput schema / properties / relations / minItems
      Previous value: -1New value: +0
    • changedInput schema / properties / rules / items / description
      Previous value: -"check_connection({\"schema\":\"rules\"})"New value: +"recall({\"schema\":\"rules\"})"
    • changedInput schema / properties / rules / minItems
      Previous value: -1New value: +0
  2. Changed48 schema fields changed
    • changedInput schema / additionalProperties
      Previous value: -falseNew value: +true
    • changedInput schema / oneOf
      Previous value: -[
      -  {
      -    "not": {
      -      "anyOf": [
      -        {
      -          "required": [
      -            "computations"
      -          ]
      -        },
      -        {
      -          "required": [
      -            "rules"
      -          ]
      -        },
      -        {
      -          "required": [
      -            "proofs"
      -          ]
      -        }
      -      ]
      -    },
      -    "required": [
      -      "relations"
      -    ]
      -  },
      -  {
      -    "not": {
      -      "anyOf": [
      -        {
      -          "required": [
      -            "relations"
      -          ]
      -        },
      -        {
      -          "required": [
      -            "rules"
      -          ]
      -        },
      -        {
      -          "required": [
      -            "proofs"
      -          ]
      -        },
      -        {
      -          "required": [
      -            "batch_id"
      -          ]
      -        },
      -        {
      -          "required": [
      -            "offset"
      -          ]
      -        },
      -        {
      -          "required": [
      -            "total"
      -          ]
      -        }
      -      ]
      -    },
      -    "required": [
      -      "computations"
      -    ]
      -  },
      -  {
      -    "anyOf": [
      -      {
      -        "required": [
      -          "rules"
      -        ]
      -      },
      -      {
      -        "required": [
      -          "proofs"
      -        ]
      -      }
      -    ],
      -    "not": {
      -      "anyOf": [
      -        {
      -          "required": [
      -            "relations"
      -          ]
      -        },
      -        {
      -          "required": [
      -            "computations"
      -          ]
      -        },
      -        {
      -          "required": [
      -            "batch_id"
      -          ]
      -        },
      -        {
      -          "required": [
      -            "offset"
      -          ]
      -        },
      -        {
      -          "required": [
      -            "total"
      -          ]
      -        }
      -      ]
      -    }
      -  }
      -]New value: +[
      +  {
      +    "required": [
      +      "relations"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "computations"
      +    ]
      +  },
      +  {
      +    "anyOf": [
      +      {
      +        "required": [
      +          "rules"
      +        ]
      +      },
      +      {
      +        "required": [
      +          "proofs"
      +        ]
      +      }
      +    ]
      +  }
      +]
    • removedInput schema / properties / batch_id
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • changedInput schema / properties / computations / items / description
      Previous value: -"Parameter schema: check_connection({\"schema\":\"computations\"})."New value: +"check_connection({\"schema\":\"computations\"})"
    • addedInput schema / properties / computations / maxItems
      Added value: +10000
    • removedInput schema / properties / offset
      Removed value: -{
      -  "minimum": 0,
      -  "type": "integer"
      -}
    • changedInput schema / properties / proofs / items / description
      Previous value: -"Parameter schema: check_connection({\"schema\":\"proofs\"})."New value: +"check_connection({\"schema\":\"proofs\"})"
    • addedInput schema / properties / proofs / maxItems
      Added value: +10000
    • changedInput schema / properties / relations / items / additionalProperties
      Previous value: -falseNew value: +true
    • removedInput schema / properties / relations / items / properties / client_record_id
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / relations / items / properties / confidence
      Removed value: -{
      -  "maximum": 1,
      -  "minimum": 0.01,
      -  "type": "number"
      -}
    • changedInput schema / properties / relations / items / properties / context / additionalProperties
      Previous value: -falseNew value: +true
    • removedInput schema / properties / relations / items / properties / context / properties / domain_id
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / relations / items / properties / context / properties / qualifiers / description
      Removed value: -"Conditions: JSON scalars/lists, no nested objects."
    • removedInput schema / properties / relations / items / properties / context / properties / qualifiers / maxProperties
      Removed value: -64
    • removedInput schema / properties / relations / items / properties / context / properties / scope / maxLength
      Removed value: -200
    • removedInput schema / properties / relations / items / properties / context / properties / scope / minLength
      Removed value: -1
    • removedInput schema / properties / relations / items / properties / context / properties / subdomain_id
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / relations / items / properties / context / properties / subject_version
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / relations / items / properties / entity_id
      Removed value: -{
      -  "description": "Canonical subject ID across evidence sources.",
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / relations / items / properties / evidence_refs
      Removed value: -{
      -  "items": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "claim_hash": {
      -        "maxLength": 64,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "content_hash": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "excerpt": {
      -        "maxLength": 10000,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "locator": {
      -        "maxLength": 500,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "observed_at": {
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "recorded_at": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "role": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "source_id": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "source_id",
      -      "locator"
      -    ],
      -    "type": "object"
      -  },
      -  "maxItems": 64,
      -  "minItems": 0,
      -  "type": "array"
      -}
    • removedInput schema / properties / relations / items / properties / evidence_source
      Removed value: -{
      -  "description": "Evidence label, not subject identity.",
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / relations / items / properties / position
      Removed value: -{
      -  "maximum": 1000000,
      -  "minimum": 0,
      -  "type": "integer"
      -}
    • removedInput schema / properties / relations / items / properties / provenance
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / relations / items / properties / relation / description
      Removed value: -"Property; custom properties default to single-valued."
    • removedInput schema / properties / relations / items / properties / relation / maxLength
      Removed value: -200
    • removedInput schema / properties / relations / items / properties / relation / minLength
      Removed value: -1
    • removedInput schema / properties / relations / items / properties / search_aliases
      Removed value: -{
      -  "items": {
      -    "description": "Field aliases for recall, not evidence or answer text.",
      -    "maxLength": 80,
      -    "minLength": 1,
      -    "type": "string"
      -  },
      -  "maxItems": 16,
      -  "minItems": 0,
      -  "type": "array"
      -}
    • removedInput schema / properties / relations / items / properties / source / description
      Removed value: -"Subject name/ID."
    • removedInput schema / properties / relations / items / properties / source / maxLength
      Removed value: -10000
    • removedInput schema / properties / relations / items / properties / source / minLength
      Removed value: -1
    • removedInput schema / properties / relations / items / properties / source_kind
      Removed value: -{
      -  "description": "Subject type; disambiguates names.",
      -  "maxLength": 80,
      -  "minLength": 2,
      -  "type": "string"
      -}
    • removedInput schema / properties / relations / items / properties / target / description
      Removed value: -"Value/object, distinct from source."
    • removedInput schema / properties / relations / items / properties / target / maxLength
      Removed value: -10000
    • removedInput schema / properties / relations / items / properties / target / minLength
      Removed value: -1
    • removedInput schema / properties / relations / items / properties / target_kind
      Removed value: -{
      -  "description": "Value type; disambiguates names.",
      -  "maxLength": 80,
      -  "minLength": 2,
      -  "type": "string"
      -}
    • removedInput schema / properties / relations / items / properties / unit
      Removed value: -{
      -  "description": "Value unit, e.g. hour or bed/nurse.",
      -  "maxLength": 100,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / relations / items / properties / validity / properties / observed_at / maxLength
      Removed value: -100
    • removedInput schema / properties / relations / items / properties / validity / properties / observed_at / minLength
      Removed value: -1
    • removedInput schema / properties / relations / items / properties / validity / properties / recorded_at / maxLength
      Removed value: -100
    • removedInput schema / properties / relations / items / properties / validity / properties / recorded_at / minLength
      Removed value: -1
    • removedInput schema / properties / relations / items / properties / validity / properties / valid_from / maxLength
      Removed value: -100
    • removedInput schema / properties / relations / items / properties / validity / properties / valid_from / minLength
      Removed value: -1
    • removedInput schema / properties / relations / items / properties / validity / properties / valid_to / maxLength
      Removed value: -100
    • removedInput schema / properties / relations / items / properties / validity / properties / valid_to / minLength
      Removed value: -1
    • changedInput schema / properties / rules / items / description
      Previous value: -"Parameter schema: check_connection({\"schema\":\"rules\"})."New value: +"check_connection({\"schema\":\"rules\"})"
    • addedInput schema / properties / rules / maxItems
      Added value: +10000
    • removedInput schema / properties / total
      Removed value: -{
      -  "minimum": 1,
      -  "type": "integer"
      -}
  3. Changed16 schema fields changed
    • addedInput schema / oneOf
      Added value: +[
      +  {
      +    "not": {
      +      "anyOf": [
      +        {
      +          "required": [
      +            "computations"
      +          ]
      +        },
      +        {
      +          "required": [
      +            "rules"
      +          ]
      +        },
      +        {
      +          "required": [
      +            "proofs"
      +          ]
      +        }
      +      ]
      +    },
      +    "required": [
      +      "relations"
      +    ]
      +  },
      +  {
      +    "not": {
      +      "anyOf": [
      +        {
      +          "required": [
      +            "relations"
      +          ]
      +        },
      +        {
      +          "required": [
      +            "rules"
      +          ]
      +        },
      +        {
      +          "required": [
      +            "proofs"
      +          ]
      +        },
      +        {
      +          "required": [
      +            "batch_id"
      +          ]
      +        },
      +        {
      +          "required": [
      +            "offset"
      +          ]
      +        },
      +        {
      +          "required": [
      +            "total"
      +          ]
      +        }
      +      ]
      +    },
      +    "required": [
      +      "computations"
      +    ]
      +  },
      +  {
      +    "anyOf": [
      +      {
      +        "required": [
      +          "rules"
      +        ]
      +      },
      +      {
      +        "required": [
      +          "proofs"
      +        ]
      +      }
      +    ],
      +    "not": {
      +      "anyOf": [
      +        {
      +          "required": [
      +            "relations"
      +          ]
      +        },
      +        {
      +          "required": [
      +            "computations"
      +          ]
      +        },
      +        {
      +          "required": [
      +            "batch_id"
      +          ]
      +        },
      +        {
      +          "required": [
      +            "offset"
      +          ]
      +        },
      +        {
      +          "required": [
      +            "total"
      +          ]
      +        }
      +      ]
      +    }
      +  }
      +]
    • addedInput schema / properties / computations
      Added value: +{
      +  "items": {
      +    "additionalProperties": true,
      +    "description": "Parameter schema: check_connection({\"schema\":\"computations\"}).",
      +    "type": "object"
      +  },
      +  "minItems": 1,
      +  "type": "array"
      +}
    • addedInput schema / properties / proofs
      Added value: +{
      +  "items": {
      +    "additionalProperties": true,
      +    "description": "Parameter schema: check_connection({\"schema\":\"proofs\"}).",
      +    "type": "object"
      +  },
      +  "minItems": 1,
      +  "type": "array"
      +}
    • changedInput schema / properties / relations / items / properties / context / properties / qualifiers / description
      Previous value: -"Conditions accepted by normalize_context: JSON scalars or lists, no nested objects."New value: +"Conditions: JSON scalars/lists, no nested objects."
    • changedInput schema / properties / relations / items / properties / entity_id / description
      Previous value: -"Explicit canonical subject ID, shared across its evidence sources."New value: +"Canonical subject ID across evidence sources."
    • addedInput schema / properties / relations / items / properties / evidence_refs / items / properties / recorded_at
      Added value: +{
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedInput schema / properties / relations / items / properties / evidence_source / description
      Previous value: -"Source document or record label; does not change the subject identity."New value: +"Evidence label, not subject identity."
    • changedInput schema / properties / relations / items / properties / relation / description
      Previous value: -"Property such as status; custom properties are single-valued by default."New value: +"Property; custom properties default to single-valued."
    • addedInput schema / properties / relations / items / properties / search_aliases
      Added value: +{
      +  "items": {
      +    "description": "Field aliases for recall, not evidence or answer text.",
      +    "maxLength": 80,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 16,
      +  "minItems": 0,
      +  "type": "array"
      +}
    • changedInput schema / properties / relations / items / properties / source / description
      Previous value: -"Stable subject name or ID. Prefer short names shared with queries."New value: +"Subject name/ID."
    • addedInput schema / properties / relations / items / properties / source_kind
      Added value: +{
      +  "description": "Subject type; disambiguates names.",
      +  "maxLength": 80,
      +  "minLength": 2,
      +  "type": "string"
      +}
    • changedInput schema / properties / relations / items / properties / target / description
      Previous value: -"Value or object, different from source."New value: +"Value/object, distinct from source."
    • addedInput schema / properties / relations / items / properties / target_kind
      Added value: +{
      +  "description": "Value type; disambiguates names.",
      +  "maxLength": 80,
      +  "minLength": 2,
      +  "type": "string"
      +}
    • changedInput schema / properties / relations / items / properties / unit / description
      Previous value: -"Unit of the saved value, such as hour, bed or bed/nurse."New value: +"Value unit, e.g. hour or bed/nurse."
    • addedInput schema / properties / rules
      Added value: +{
      +  "items": {
      +    "additionalProperties": true,
      +    "description": "Parameter schema: check_connection({\"schema\":\"rules\"}).",
      +    "type": "object"
      +  },
      +  "minItems": 1,
      +  "type": "array"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "relations"
      -]New value: +[]
  4. Changed5 schema fields changed
    • addedInput schema / properties / relations / items / properties / entity_id
      Added value: +{
      +  "description": "Explicit canonical subject ID, shared across its evidence sources.",
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / relations / items / properties / evidence_source
      Added value: +{
      +  "description": "Source document or record label; does not change the subject identity.",
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / relations / items / properties / position
      Added value: +{
      +  "maximum": 1000000,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / relations / items / properties / property_type
      Added value: +{
      +  "enum": [
      +    "single",
      +    "set",
      +    "ordered",
      +    "rules"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / relations / items / properties / unit
      Added value: +{
      +  "description": "Unit of the saved value, such as hour, bed or bed/nurse.",
      +  "maxLength": 100,
      +  "minLength": 1,
      +  "type": "string"
      +}
  5. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Adds useful behavior beyond the annotations: it returns accepted and record_ids, and duplicate facts reuse existing records rather than creating new ones. It does not discuss failure modes or permission requirements, but annotations already establish the write/non-destructive safety profile.

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?

Two compact sentences with no wasted words. The core action and deduplication behavior are front-loaded, and the edit alternative is correctly placed in parentheses.

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

Completeness2/5

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

The input schema is complex, with multiple mutually exclusive input modes and nested relation fields, yet the description does not explain those modes. It covers return values and duplicate handling, but leaves too much of the parameter structure unexplained for a tool with four input arrays and no output schema.

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

Parameters1/5

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

Top-level schema description coverage is 0%, and the description does not mention relations, computations, rules, or proofs at all. It says 'facts/definitions' but gives no mapping to the four input parameters or their selection rules.

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 and resource: saving facts/definitions. It also distinguishes itself from the sibling correct_fact for edits and hints at its return values. An agent can tell what this tool does without opening the schema.

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

Usage Guidelines4/5

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

Explicitly points to correct_fact for editing, which is a useful alternative. It gives clear context for when to save new facts, but does not explicitly contrast with recall, verify, or forget_facts beyond the obvious save-vs-read distinction.

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