Membrane
An MCP server that gives AI agents persistent, verifiable memory by storing content on decentralized Walrus storage and cryptographically proving integrity via Sui blockchain.
README
Membrane
The Problem
AI agents operate entirely within ephemeral contexts. Once a conversation ends or a process terminates, the agent loses all knowledge of what was discussed, decided, or generated.
Furthermore, when agents do store memory, it is typically in centralized databases that lack cryptographically verifiable integrity. If an agent hallucinates or if the underlying database is tampered with, there is no mathematical proof of what the agent actually "remembered" originally. Finally, sharing these memories across a swarm of multi-agent systems is heavily siloed by the platform the agent runs on.
The Solution
Membrane is a Model Context Protocol (MCP) server that provides AI agents with a persistent, verifiable memory layer. It functions as a database purpose-built for AI agents, but fundamentally alters where and how the data is stored:
- Content lives off-chain: Memory payloads are stored on Walrus, a decentralized blob storage network built on the Sui ecosystem.
- Integrity is provable: SHA-256 hashes combined with optional on-chain Sui proofs allow anyone to cryptographically verify that a memory has not been tampered with since its creation.
By exposing a standardized set of MCP tools, any AI agent can connect to Membrane and immediately gain the ability to store, search, update, and cryptographically verify its memories.
High-Level Architecture
graph TB
subgraph "AI Agent (Claude, GPT, etc.)"
A[MCP Client]
end
subgraph "Membrane MCP Server"
S[server.py<br/>14 MCP Tools]
MM[MemoryManager]
AM[ArtifactManager]
RE[RetrievalEngine]
SEC[Security Layer]
DB[(SQLite<br/>metadata only)]
end
subgraph "External Services"
W[Walrus<br/>Decentralized Blob Storage]
SUI[Sui Blockchain<br/>Proof Verification]
end
A <-->|MCP Protocol| S
S --> MM
S --> AM
S --> RE
MM --> SEC
MM --> DB
MM --> W
MM --> SUI
AM --> DB
AM --> W
RE --> DB
RE --> W
SEC --> DB
Component Breakdown
Core Storage Layers
Membrane splits storage responsibilities across three distinct layers to optimize for speed, cost, and security:
- Walrus (Canonical Storage): Stores the actual heavy payload content, such as memory text, large artifacts, and agent states.
- SQLite (Metadata Index): Stores lightweight metadata locally, including namespace, owner, tags, blob pointers, and 384-dimensional semantic embeddings. This allows for instant retrieval and filtering without waiting on decentralized networks.
- Sui (Verification Layer): Stores content hash proofs and transaction references directly on-chain, proving exactly when a memory was created and what its hash was.
The Memory Manager
The core orchestrator of Membrane is the Memory Manager, which coordinates the lifecycle of a memory across all three storage layers. When an agent requests to store a memory:
- The memory is hashed and optionally encrypted using Fernet (AES-CBC + HMAC-SHA256).
- The payload is uploaded to the Walrus network, returning a unique blob ID.
- The metadata, semantic embedding, and blob pointer are saved to the local SQLite index.
- A transaction is sent to the Sui blockchain to record the cryptographic proof.
Retrieval Engine
Membrane implements a hybrid search approach for memory recall. When an agent queries its memory, the system first filters locally using the SQLite index (matching by namespace, owner, or tags). If there are multiple candidates, it performs a semantic reranking using cosine similarity on the stored vector embeddings. Only after finding the most relevant metadata does Membrane reach out to Walrus to fetch the heavy content payloads.
Security and Verification
The security layer manages cryptography and integrity verification. The verification chain runs a strict five-step process:
- Parses the Walrus blob payload.
- Decrypts the content if it was encrypted.
- Recomputes the SHA-256 hash and compares it to the stored hash.
- Checks the HMAC proof against the local database.
- Verifies the Sui on-chain transaction.
Multi-Agent Memory Sharing
Because the architecture decouples the storage layer from the agent runtime, multiple independent agents can connect to the same Membrane instance and share contexts. Agents can segment their data using namespaces, track provenance via owner identifiers, and categorize cross-cutting concepts with tags, all while relying on the same underlying decentralized Walrus dataset.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.