Skip to main content
Glama
SAIHM-Admin

@saihm/mcp-server-pro

Official

Recall

saihm_recall
Read-onlyIdempotent

Retrieve and decrypt your stored memories on-device, keeping plaintext private from the server. Filter by keyword or load all, and read cells shared by other agents.

Instructions

Retrieve your memories from SAIHM and decrypt them in this process; the server never sees plaintext. Use this at the start of a session, or whenever past context is needed. Pass query to filter by keyword, or leave it out to load everything. To read a single cell another agent shared with you, pass their sharerPinnedAgentIdHashHex and sharerRecord together with the cellId; that path is read-only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNoFilter your OWN memories by keyword (empty = all). Ignored when reading a shared cell.
cellIdNoThe shared cell id to read. Required when reading a shared cell.
sharerRecordNoThe SHARER's published identity record (hex fields). Required with sharerPinnedAgentIdHashHex.
sharerPinnedAgentIdHashHexNoRead a cell shared TO you: the SHARER's agentIdHash (hex), pinned out-of-band. When set, sharerRecord and cellId are also required.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countYes
sharedYes
memoriesYes
sharedTruncatedYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed3 schema fields changedv0.2.2
    • addedOutput schema / properties / shared
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cellId": {
      +        "type": "string"
      +      },
      +      "expiryEpoch": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "scope": {
      +        "type": "string"
      +      },
      +      "sharer": {
      +        "type": "string"
      +      },
      +      "verified": {
      +        "const": false,
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "sharer",
      +      "cellId",
      +      "scope",
      +      "expiryEpoch",
      +      "verified"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / sharedTruncated
      Added value: +{
      +  "type": "boolean"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "count",
      -  "memories"
      -]New value: +[
      +  "count",
      +  "memories",
      +  "shared",
      +  "sharedTruncated"
      +]
  2. First observedv0.2.1

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable behavioral context beyond that: decryption happens locally ('the server never sees plaintext'), query is ignored when reading a shared cell, and the shared-cell path is explicitly read-only. These details meaningfully inform an agent's expectations without contradicting the annotations.

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?

The description is three sentences with no filler: core purpose and privacy are front-loaded, followed by usage timing, then parameter guidance. Every sentence earns its place and the structure mirrors an agent's likely decision flow.

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

Completeness5/5

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

Given four parameters, a nested sharerRecord, and the presence of an output schema, the description covers both invocation modes, the parameter relationships, and the privacy-sensitive decryption behavior. No critical operational detail is missing; safety is already covered by annotations and return content by the output schema.

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

Parameters5/5

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

Although schema coverage is 100% and the baseline is 3, the description enriches parameter meaning substantially. It explains that query filters by keyword, empty means all, and is ignored in shared-cell mode. It also ties sharerPinnedAgentIdHashHex, sharerRecord, and cellId together as a coherent shared-read path, which the schema alone does not make explicit.

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?

The description opens with 'Retrieve your memories from SAIHM and decrypt them,' naming the verb and resource with precision. It distinguishes itself from siblings like saihm_remember and saihm_forget by focusing on retrieval, and it explicitly describes two operating modes (filtered recall of own memories and reading a shared cell), so an agent can clearly understand what the tool does.

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?

The description provides clear context: 'Use this at the start of a session, or whenever past context is needed.' It also explains when to pass or omit query and how the shared-cell path works. However, it does not explicitly name sibling alternatives to avoid (e.g., saihm_remember for writes), so it falls just short of full alternative-based guidance.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SAIHM-Admin/saihm-mcp-server-pro'

If you have feedback or need assistance with the MCP directory API, please join our Discord server