In-depth architectural comparison of the Saihm MCP and Iai Personal Memory Engine MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Saihm MCP
Knowledge & Memory · Local stdio
Quality: 57/100 (Good) | Auth: API Key required
Iai Personal Memory Engine
Knowledge & Memory · Local stdio
Quality: 67/100 (Great) | Auth: No auth required
Verdict Summary: Choose Saihm MCP if you need specialized Knowledge & Memory tools running via a local process. Choose Iai Personal Memory Engine if your workspace requires Knowledge & Memory integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Saihm MCP when:
You need dedicated capabilities in the Knowledge & Memory domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: API Key required (Free / Open Source).
You have access to required keys: SAIHM_ENDPOINT_URL, SAIHM_AUTH_HEADER.
Sovereign, encrypted, persistent memory for AI agents. Eight MCP tools — remember, recall, forget (GDPR Art. 17 erasure), share. Anchored on COTI V2 mainnet. Apache-2.0. Install: npx -y @saihm/mcp-server.
Local memory daemon for any MCP-over-stdio client with three-tier storage (episodic/semantic/procedural). Own SQLite + hnswlib store (Hippo) with bge-small-en-v1.5, MIT-licensed community-detection reranking (MOSAIC), and sleep-cycle consolidation. AES-256-GCM encrypted at rest, no telemetry. Verbatim recall >=99% and post-contradiction Rescue@10 1.000 at honest scale. Ambient capture via shell hooks. Windows support in beta.
Tools & Capabilities Breakdown
Saihm MCP Tools (8)
saihm_remember
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_recall
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_forget
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_status
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.
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Saihm MCP is categorized under Knowledge & Memory and uses a local stdio subprocess. In contrast, Iai Personal Memory Engine belongs to Knowledge & Memory using local stdio subprocess. Select Saihm MCP when you need capabilities focused on knowledge & memory and Iai Personal Memory Engine when you require tools for knowledge & memory.
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_share
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_propose
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_vote
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.
Iai Personal Memory Engine Tools (9)
memory_recall
Cue-based recall — returns hits **and anti-hits**: memories that *contradict* the cue surface next to the ones that match, so a stale fact can't masquerade as current.
memory_temporal_recall
Time-anchored recall — *"what did I say about pricing in May?"*
memory_recall_structural
Retrieve by the *shape* of a memory (the HD substrate), not just its embedding.
memory_search
Plain text search over the store.
memory_capture
Write a memory explicitly (ambient capture normally does this for you).
memory_contradict
Record that a fact changed. The old version is archived, not erased — both stay retrievable. That's the Rescue@10 and historical-verbatim story in the [benchmarks](#benchmarks).
memory_reinforce
Strengthen a memory's recall pathways.
memory_consolidate
Run a consolidation pass now instead of waiting for idle.
profile_get_set
The eleven sealed procedural knobs the engine learns about you.