Skip to main content
Glama

Synapse Layer — Trust Infrastructure for AI Agents

recall_memory

Read-only

Recall persisted memory by query. Alias of recall.

Input Schema

NameRequiredDescriptionDefault
modeNoRecall routing mode.
limitNoMaximum memories to return (1–50, default: 10).
queryYesWhat to recall — natural language query for memory retrieval.
scopeNoExplicit memory scope. "agent" (default, fail-closed) = limits recall to the given agent_id (or the token agent). "tenant" = cross-agent recall within the authenticated tenant. If omitted with agent_id present, "agent" is inferred; if both omitted, the token agent is used (verified-token scope).
reasonYesREQUIRED (10–200 chars). Audit policy: MEMORY_EXPORT_GOVERNANCE_V1. Without this the call WILL fail with code -32602. Example: "Checking user project status."
subjectNoESCOPO1 (optional): opaque 8-128 char token ([A-Za-z0-9._:-]) that isolates memory to a single person within a shared connect-token. Omit for token-scoped behavior. Never include PII/email.
agent_idNoAgent identifier (canonical or alias). Used only when scope="agent" or scope is inferred.
project_idNoOptional project ID. Required for Corporate context unless the token is project-bound.

Output Schema

NameRequiredDescriptionDefault
countYes
scopeYes
memoriesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / project_id
      Added value: +{
      +  "description": "Optional project ID. Required for Corporate context unless the token is project-bound.",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / subject
      Added value: +{
      +  "description": "ESCOPO1 (optional): opaque 8-128 char token ([A-Za-z0-9._:-]) that isolates memory to a single person within a shared connect-token. Omit for token-scoped behavior. Never include PII/email.",
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "count": {
      +      "type": "number"
      +    },
      +    "memories": {
      +      "items": {
      +        "properties": {
      +          "content": {
      +            "type": "string"
      +          },
      +          "createdAt": {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "similarity": {
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "scope": {
      +      "enum": [
      +        "agent",
      +        "tenant"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "memories",
      +    "count",
      +    "scope"
      +  ],
      +  "type": "object"
      +}
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "properties": {
      -    "agent_id": {
      -      "type": "string"
      -    },
      -    "count": {
      -      "type": "number"
      -    },
      -    "fallback": {
      -      "type": "boolean"
      -    },
      -    "memories": {
      -      "items": {
      -        "additionalProperties": true,
      -        "properties": {
      -          "agent": {
      -            "type": "string"
      -          },
      -          "confidence": {
      -            "enum": [
      -              "high",
      -              "medium_fts",
      -              "low"
      -            ],
      -            "type": "string"
      -          },
      -          "content": {
      -            "description": "Memory content (truncated to 300 chars in recall).",
      -            "type": "string"
      -          },
      -          "hybridScore": {
      -            "type": "number"
      -          },
      -          "id": {
      -            "type": "string"
      -          },
      -          "intent": {
      -            "type": "string"
      -          },
      -          "is_critical": {
      -            "type": "boolean"
      -          },
      -          "memory_type": {
      -            "type": "string"
      -          },
      -          "timestamp": {
      -            "description": "ISO-8601 timestamp.",
      -            "type": "string"
      -          },
      -          "trust_quotient": {
      -            "type": "number"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "query": {
      -      "type": "string"
      -    },
      -    "queryCacheHit": {
      -      "type": "boolean"
      -    },
      -    "recallLatencyMs": {
      -      "type": "number"
      -    },
      -    "recall_mode": {
      -      "type": "string"
      -    },
      -    "redacted": {
      -      "type": "boolean"
      -    },
      -    "scope": {
      -      "type": "string"
      -    },
      -    "scope_source": {
      -      "type": "string"
      -    },
      -    "sessionCacheHit": {
      -      "type": "boolean"
      -    }
      -  },
      -  "required": [
      -    "memories",
      -    "count"
      -  ],
      -  "type": "object"
      -}New value: +null
  5. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "agent_id": {
      +      "type": "string"
      +    },
      +    "count": {
      +      "type": "number"
      +    },
      +    "fallback": {
      +      "type": "boolean"
      +    },
      +    "memories": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "agent": {
      +            "type": "string"
      +          },
      +          "confidence": {
      +            "enum": [
      +              "high",
      +              "medium_fts",
      +              "low"
      +            ],
      +            "type": "string"
      +          },
      +          "content": {
      +            "description": "Memory content (truncated to 300 chars in recall).",
      +            "type": "string"
      +          },
      +          "hybridScore": {
      +            "type": "number"
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "intent": {
      +            "type": "string"
      +          },
      +          "is_critical": {
      +            "type": "boolean"
      +          },
      +          "memory_type": {
      +            "type": "string"
      +          },
      +          "timestamp": {
      +            "description": "ISO-8601 timestamp.",
      +            "type": "string"
      +          },
      +          "trust_quotient": {
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "query": {
      +      "type": "string"
      +    },
      +    "queryCacheHit": {
      +      "type": "boolean"
      +    },
      +    "recallLatencyMs": {
      +      "type": "number"
      +    },
      +    "recall_mode": {
      +      "type": "string"
      +    },
      +    "redacted": {
      +      "type": "boolean"
      +    },
      +    "scope": {
      +      "type": "string"
      +    },
      +    "scope_source": {
      +      "type": "string"
      +    },
      +    "sessionCacheHit": {
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "memories",
      +    "count"
      +  ],
      +  "type": "object"
      +}
  6. Changed2 schema fields changed
    • changedInput schema / properties / reason / description
      Previous value: -"REQUIRED (MEMORY_EXPORT_GOVERNANCE_V1): human-readable justification for plaintext retrieval. 10–200 characters. Audit-logged."New value: +"REQUIRED (10–200 chars). Audit policy: MEMORY_EXPORT_GOVERNANCE_V1. Without this the call WILL fail with code -32602. Example: \"Checking user project status.\""
    • changedInput schema / properties / scope / description
      Previous value: -"Explicit memory scope. \"agent\" (default, fail-closed) = limits recall to the given agent_id (or the token agent). \"tenant\" = cross-agent recall within the authenticated tenant. If omitted with agent_id present, \"agent\" is inferred; if both omitted, the token agent is used with a warning."New value: +"Explicit memory scope. \"agent\" (default, fail-closed) = limits recall to the given agent_id (or the token agent). \"tenant\" = cross-agent recall within the authenticated tenant. If omitted with agent_id present, \"agent\" is inferred; if both omitted, the token agent is used (verified-token scope)."
  7. Added
  8. Removed
  9. Changed2 schema fields changed
    • addedInput schema / properties / reason
      Added value: +{
      +  "description": "REQUIRED (MEMORY_EXPORT_GOVERNANCE_V1): human-readable justification for plaintext retrieval. 10–200 characters. Audit-logged.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "query"
      -]New value: +[
      +  "query",
      +  "reason"
      +]
  10. Added

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety behavior is covered. The description adds only that memory is persisted and that this is an alias of recall; it does not mention the required audit reason or fail-closed scope behavior, though the schema does.

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 short sentences, front-loaded with the core purpose and followed by the alias note. There is no wasted verbiage.

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?

The rich input schema, output schema, and annotations cover most operational details. The description is sufficient to identify the tool as an alias of recall, though it could better explain routing versus the recall sibling.

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 the schema already explains the eight parameters in detail. The description mentions only the query concept and does not add meaning beyond the structured parameter definitions.

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

Purpose4/5

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

States a specific verb and resource: 'Recall persisted memory by query.' The added 'Alias of recall' identifies the relationship to a sibling, but does not explain why this alias exists or when it should be preferred.

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

Usage Guidelines3/5

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

Names 'recall' as an equivalent tool, which implies interchangeable use, but gives no explicit when-to-use guidance versus recall, list_memories, or search. The routing is left implied.

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.