MemoryVault MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MemoryVault MCPsave that I adopted a cat named Luna yesterday"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MemoryVault MCP
A self-hosted, graph-aware memory server for AI assistants. Built on Cloudflare Workers + D1.
MemoryVault gives AI clients (Claude, ChatGPT, etc.) persistent memory across sessions via the Model Context Protocol (MCP). Store notes, facts, and journal entries. Link related memories into a knowledge graph. Search with hybrid lexical + semantic retrieval.
Features
40+ MCP tools — memory CRUD, graph linking, conflict detection, objectives, snapshots, and more
Hybrid search — lexical + semantic (Vectorize + Workers AI embeddings) with RRF fusion
Knowledge graph — typed relationships, path finding, neighborhood traversal, inferred links
Multi-tenant — user accounts with isolated "brains" and per-brain policies
OAuth + PKCE — standards-based auth for MCP clients, plus legacy bearer token fallback
Web viewer — browse memories, explore the graph, manage settings at
/view6 themes — cyberpunk, light, midnight, solarized, ember, arctic
Zero external dependencies at runtime (just @modelcontextprotocol/sdk and zod)
Related MCP server: MCP Memento
Quick Start
Clone and install
git clone https://github.com/guirguispierre/memoryvault.git
cd memoryvault
npm installConfigure secrets
cp .dev.vars.example .dev.vars
# Edit .dev.vars with your own secretsSet up Cloudflare resources
# Create D1 database
npx wrangler d1 create ai-memory
# Update wrangler.toml with your database_id
# Create KV namespace for rate limiting
npx wrangler kv namespace create RATE_LIMIT_KV
# Update wrangler.toml with the KV namespace id
# Create Vectorize indexes (for semantic search)
npx wrangler vectorize create ai-memory-semantic-v1 --dimensions=768 --metric=cosineInitialize database schema
npx wrangler d1 execute ai-memory --local --file=schema.sqlRun locally
npm run devDeploy to Production
# Set secrets
npx wrangler secret put AUTH_SECRET
npx wrangler secret put ADMIN_TOKEN
# Apply schema to remote D1
npx wrangler d1 execute ai-memory --remote --file=schema.sql
# Deploy
npm run deployConfiguration
Variable | Required | Description |
| Yes | Signs JWTs and secures legacy bearer auth |
| Yes | Required for |
| No | Comma-separated hostnames for OAuth redirect URIs. |
MCP Integration
Point your MCP client to:
https://<your-worker>.<your-subdomain>.workers.dev/mcpOAuth mode (recommended): Leave the API key empty. The server responds with OAuth discovery metadata. Your client handles the flow automatically.
Legacy bearer mode: Send Authorization: Bearer <AUTH_SECRET> for simple setups.
Architecture
Module | Purpose |
| Worker entry point and HTTP routing |
| Shared TypeScript types |
| Configuration constants |
| Pure utility functions |
| PBKDF2, JWT, HMAC utilities |
| CORS and security headers |
| D1 queries and schema migration |
| Session management and auth endpoints |
| OAuth protocol (authorization, token, registration) |
| Semantic search and Vectorize integration |
| Dynamic confidence/importance scoring |
| MCP tool definitions and metadata |
| MCP tool handler implementations |
| Web viewer UI ( |
| API and HTML route handlers |
Tech stack: Cloudflare Workers, D1 (SQLite), Vectorize, Workers AI (@cf/baai/bge-base-en-v1.5), MCP SDK
Available MCP Tools
Memory operations: memory_save, memory_get, memory_get_fact, memory_search, memory_list, memory_update, memory_delete, memory_reindex, memory_stats
Graph: memory_link, memory_unlink, memory_links, memory_link_suggest, memory_path_find, memory_subgraph, memory_neighbors, memory_graph_stats, memory_tag_stats
Knowledge management: memory_consolidate, memory_forget, memory_activate, memory_reinforce, memory_decay, memory_conflicts, memory_conflict_resolve, memory_entity_resolve
Trust & policy: memory_source_trust_set, memory_source_trust_get, brain_policy_set, brain_policy_get
Snapshots: brain_snapshot_create, brain_snapshot_list, brain_snapshot_restore
Objectives: objective_set, objective_list, objective_next_actions
Observability: memory_changelog, memory_watch, memory_explain_score, tool_manifest, tool_changelog
Development
npm run dev # Start local worker
npm run type-check # TypeScript check
npm run deploy # Deploy to CloudflareSmoke test:
ADMIN_TOKEN=... npm run smoke:oauth-isolationNotes:
Semantic search requires Workers AI/Vectorize bindings — use
npx wrangler dev --remotefor full functionalityLocal dev uses
--localD1 by default
Contributing
See CONTRIBUTING.md.
License
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/guirguispierre/memoryvault'
If you have feedback or need assistance with the MCP directory API, please join our Discord server