How doobidoo/mcp-memory-service works
mcp-memory-service is a self-hosted persistent memory backend for AI agents, exposed through REST, MCP, CLI, and a web dashboard. Clients submit memories or searches; shared memory logic stores, embeds, and retrieves relevant context across sessions, with optional graph reasoning and backend synchronization. Other documented capabilities include document ingestion, autonomous consolidation, OAuth-protected remote access, and SSE notifications. The graph follows README capabilities and the supplied tree; several subsystem links rely on documented roles because their implementation was not sampled.
Main entry points: memory_service.py Memory service · api REST endpoints · factory.py Storage selection · mcp_server.py MCP server
Components 22
Client access
- MCP server
src/mcp_memory_service/mcp_server.py - REST application
src/mcp_memory_service/web/app.py - REST endpoints
src/mcp_memory_service/web/api - OAuth access
src/mcp_memory_service/web/oauth - CLI
src/mcp_memory_service/cli/main.py - Claude hooks
claude-hooks/core - OpenCode plugin
opencode/memory-plugin.js
Memory lifecycle
- Memory service
src/mcp_memory_service/services/memory_service.py - Document ingestion
src/mcp_memory_service/ingestion - Conversation harvest
src/mcp_memory_service/harvest
Memory intelligence
- Embedding models
src/mcp_memory_service/embeddings - Quality scoring
src/mcp_memory_service/quality - Search and reasoning
src/mcp_memory_service/reasoning - Knowledge graph
src/mcp_memory_service/services/graph_service.py - Consolidation
src/mcp_memory_service/consolidation
Persistence
- Storage selection
src/mcp_memory_service/storage/factory.py - Storage backends
src/mcp_memory_service/storage - Backend sync
src/mcp_memory_service/sync
Web and operations
- Web dashboard
src/mcp_memory_service/web/static/app.js - SSE events
src/mcp_memory_service/web/sse.py
Other components
- AI agents
- Dashboard users
Connections 24
- AI agents → MCP server: invoke tools
- AI agents → REST application: send requests
- AI agents → CLI: run commands
- AI agents → Claude hooks: trigger hooks
- AI agents → OpenCode plugin: use plugin
- REST application → REST endpoints: routes requests
- OAuth access → REST endpoints: authorizes
- MCP server → Memory service: dispatches operations
- REST endpoints → Memory service: dispatches operations
- CLI → Storage selection: selects storage
- Memory service → Embedding models: generates embeddings
- Memory service → Quality scoring: scores memories
- Memory service → Search and reasoning: retrieves context
- Memory service → Storage selection: uses storage
- Storage selection → Storage backends: creates backend
- Memory service → Knowledge graph: manages relations
- Memory service → Consolidation: consolidates memories
- Document ingestion → Storage selection: stores chunks
- Conversation harvest → Memory service: captures memories
- Backend sync → Storage backends: synchronizes data
- Dashboard users → Web dashboard: manage memories
- Web dashboard → REST endpoints: calls endpoints
- REST endpoints → SSE events: publishes changes
- SSE events → AI agents: notifies clients