saihm-mcp-server (standards client)
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SAIHM_AUTH_HEADER | Yes | The Authorization header value (typically Bearer token) | |
| SAIHM_ENDPOINT_URL | Yes | The SAIHM operator endpoint URL (HTTPS required, except localhost) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| saihm_rememberA | Store information in SAIHM persistent encrypted memory. Use this when a fact, decision, or piece of context should outlive the current session. Returns the cell id that saihm_forget takes. |
| saihm_recallA | Retrieve memories from the SAIHM encrypted store; the operator decrypts and returns plaintext, and this client holds no keys. Use at the start of a session, or whenever past context is needed. Pass a keyword to filter, or leave empty to load all. |
| saihm_forgetA | Cryptographically erase one memory by its cell id (GDPR Art. 17). Destroying the key makes the content unreadable to everyone, the operator included. Irreversible: use it when erasure is the intent, not to tidy a working set. |
| saihm_statusA | Show the current SAIHM session: agent identity, tier, the prs and bfsi scores, storage by tier, and sharing state, as far as the operator reports them — a non-custodial operator cannot see stored-byte totals. Use it to check the agent identity, custody mode, and what the operator reports about storage and sharing. |
| saihm_shareA | Grant other agents access to specific memory shards. Set type to 'temporary', 'permanent' or 'syndicate', and scope to 'read', 'write' or 'readwrite'. Grantees are hex agent-id hashes, not names, and shardIds lists exactly what is shared: nothing outside it is exposed, and sharing does not copy the memory. |
| saihm_revoke_shareA | Revoke a sharing contract by its contractId, withdrawing access granted with saihm_share. It applies to future reads and cannot retract what a grantee has already read. Use it to end access; the memory itself remains, and saihm_forget is what erases. |
| saihm_governance_proposeA | Open a protocol governance proposal: set scope to 'emission_param' or 'protocol_upgrade', and for 'emission_param' also pass paramKey and proposedValue. Protocol governance is not enabled by default. The call is forwarded to the operator endpoint you configured, so expect an error rather than an open vote unless that operator has turned governance on. Where it is enabled it returns a hex proposalId that saihm_governance_vote takes, and it starts a vote rather than changing a setting. |
| saihm_governance_voteA | Cast a vote on an open protocol governance proposal by its proposalId, with approve set to true to approve or false to reject. Protocol governance is not enabled by default. The call is forwarded to the operator endpoint you configured, so expect an error rather than a recorded vote unless that operator has turned governance on. Where it is enabled, vote weight derives from the governance-token balance held at the proposal snapshot epoch, not the balance at the time of voting. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| saihm_session_bootstrap | Load your SAIHM persistent memory, and the rules for using it, at the start of a session. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool maps to a distinct action: remember/forget/recall cover the memory lifecycle, share/revoke_share cover sharing, and governance_propose/vote cover governance, while status is uniquely diagnostic. There is no meaningful overlap between any pair of tools.
All tools share the saihm_ prefix and use snake_case, but the suffix pattern is uneven: some are bare verbs (remember, forget, recall, share), others are object-first (governance_propose, governance_vote), and one is verb-object (revoke_share). This is readable and predictable enough, though not perfectly consistent.
With 8 tools, the server is well-scoped and each tool has a clear role across three related subdomains: persistent memory, sharing, and governance. This is a comfortable size that avoids both bloat and thinness.
The memory lifecycle is essentially covered (create/read/delete), and sharing has both grant and revoke. The governance portion lacks a way to list or inspect open proposals, and there is no direct get-memory-by-id, but agents can work around these gaps using recall or status.