memory-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., "@memory-mcpSearch my notes for project ideas"
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.
Personal MCP Ecosystem
A modular, local-first infrastructure that exposes your personal data — files, notes, browser history, code activity, conversations — as unified semantic context via the Model Context Protocol (MCP).
Any AI agent can plug into this and instantly know you.
Features
Capability | Description |
Semantic Search | Query your notes by meaning using ChromaDB + sentence-transformers |
Knowledge Graph | Neo4j-backed entity extraction with relationship mapping |
Memory Write-back | AI agents can save new notes and append to existing ones |
File Reader | Read PDFs, DOCX, Markdown, code files from anywhere on disk |
Browser History | Search Chrome, Edge, and Firefox history (auto-detected) |
Code Activity | Git commits, repo stats, and VSCode recent files |
Conversations | Parse exported Claude & ChatGPT conversation JSON files |
Calendar | Google Calendar integration via OAuth 2.0 (requires setup) |
Event Logger | Real-time file change tracking via watchdog |
Unified Gateway | FastAPI + LangGraph agent that routes queries across all sources |
Incremental Indexing | Only re-indexes new/modified files — no full rebuilds needed |
Architecture
┌──────────────────────────────────────────────────────────────┐
│ Unified Gateway (:8000) │
│ FastAPI + LangGraph Agent Pipeline │
│ analyze → execute → aggregate → rank │
├──────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────────┐ │
│ │ Core MCP │ │Files MCP │ │ Browser │ │ Code MCP │ │
│ │ │ │ │ │ MCP │ │ │ │
│ │• Notes │ │• PDF │ │• Chrome │ │• Git commits │ │
│ │• Search │ │• DOCX │ │• Edge │ │• Repo stats │ │
│ │• Events │ │• Text │ │• Firefox │ │• VSCode recent │ │
│ │• Save │ │ │ │ │ │ │ │
│ └──────────┘ └──────────┘ └──────────┘ └────────────────┘ │
│ │
│ ┌──────────────────┐ ┌──────────────────────────────────┐ │
│ │ Conversations MCP│ │ Knowledge Graph MCP │ │
│ │ │ │ │ │
│ │• Claude exports │ │• Entity extraction (regex-based) │ │
│ │• ChatGPT exports │ │• Graph search (Neo4j) │ │
│ │• Search & parse │ │• Path finding │ │
│ └──────────────────┘ └──────────────────────────────────┘ │
│ │
├──────────────────────────────────────────────────────────────┤
│ ChromaDB (vectors) │ Neo4j (graph) │ SQLite (events) │
└──────────────────────────────────────────────────────────────┘Quick Start
Prerequisites
Python 3.11+
uv — Python package manager
Docker — for Neo4j (optional)
A supported browser (Chrome, Edge, or Firefox) — for browser history (optional)
1. Clone & Install
git clone https://github.com/Shaktisinhchavda/memory-mcp.git
cd memory-mcp
uv sync2. Configure
cp .env.example .env
# Edit .env if needed — defaults work out of the box on any OS3. Add Your Notes
Place markdown or text files in data/notes/:
echo "# My Project Ideas" > data/notes/ideas.md4. Index & Build
# Index notes into ChromaDB (incremental — only new/modified files)
uv run python scripts/index_notes.py
# Full rebuild (if needed)
uv run python scripts/index_notes.py --force
# Start Neo4j (optional — for knowledge graph)
docker compose up -d
# Build knowledge graph from notes
uv run python scripts/build_graph.py5. Run
Option A — Claude Desktop Integration (recommended)
Add to your Claude Desktop config:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"memory-mcp": {
"command": "uv",
"args": ["--directory", "/path/to/memory-mcp", "run", "python", "core_mcp/server.py"]
},
"files-mcp": {
"command": "uv",
"args": ["--directory", "/path/to/memory-mcp", "run", "python", "connectors/files_mcp/server.py"]
},
"browser-mcp": {
"command": "uv",
"args": ["--directory", "/path/to/memory-mcp", "run", "python", "connectors/browser_mcp/server.py"]
},
"code-mcp": {
"command": "uv",
"args": ["--directory", "/path/to/memory-mcp", "run", "python", "connectors/code_mcp/server.py"]
},
"conversations-mcp": {
"command": "uv",
"args": ["--directory", "/path/to/memory-mcp", "run", "python", "connectors/conversations_mcp/server.py"]
},
"graph-mcp": {
"command": "uv",
"args": ["--directory", "/path/to/memory-mcp", "run", "python", "knowledge_graph/server.py"]
}
}
}Replace
/path/to/memory-mcpwith the actual absolute path to this project.
Option B — Unified Gateway (HTTP API)
uv run uvicorn gateway.server:app --host 127.0.0.1 --port 8000Open Swagger UI at http://localhost:8000/docs.
Tools Reference (25 tools)
Core MCP (6 tools)
Tool | Description |
| List and read personal notes |
| Query knowledge base by meaning |
| Recent file change events |
| Vector store diagnostics |
| Save new notes (memory write-back) |
| Append to existing notes |
Files MCP (3 tools)
Tool | Description |
| Read PDF, DOCX, text files |
| List files in a directory |
| Search by filename pattern |
Browser MCP (5 tools)
Tool | Description |
| Recent history (Chrome/Edge/Firefox) |
| Top sites by visit count |
| Search by keyword |
| Stats across all browsers |
| List installed browsers |
Code MCP (5 tools)
Tool | Description |
| Git commit history |
| Single commit details |
| Modified/staged/untracked files |
| Repo stats and contributors |
| Recently opened in VSCode |
Conversations MCP (3 tools)
Tool | Description |
| List exported JSON files |
| Parse Claude/ChatGPT exports |
| Search by keyword |
Note: Conversation support is export-based. Export your Claude or ChatGPT conversations as JSON and place them in
data/conversations/. Live sync is not supported due to API limitations.
Calendar MCP (3 tools)
Tool | Description |
| Future calendar events |
| Today's events |
| Search events by keyword |
Setup required: Create a Google Cloud project, enable the Calendar API, download
credentials.jsontoconfig/, and run the server once to complete OAuth. See Google Calendar API Quickstart.
Knowledge Graph MCP (4 tools)
Tool | Description |
| Find entity and its connections |
| Shortest path between entities |
| Node/relationship counts |
| Extract entities into graph |
Technical Details
Entity Extraction
The knowledge graph uses regex and pattern-based extraction (no LLM required):
People: Capitalized multi-word names (e.g., "John Smith")
Technologies: Matched against a curated keyword list (56 terms)
Topics: Extracted from markdown headers
Projects: Detected by naming patterns (e.g., "VizDataAI", "FastAPI")
Tasks: Parsed from
- [ ]/- [x]markdown checkboxes
This is intentionally lightweight and local-only. For higher accuracy, swap in spaCy NER or an LLM-based extractor in knowledge_graph/extractor.py.
Incremental Indexing
Both index_notes.py and build_graph.py track file modification times in a manifest file. Only new or changed files are re-processed. Use --force for a full rebuild.
Browser Support
The browser connector auto-detects installed browsers:
Browser | Windows | macOS | Linux |
Chrome | Yes | Yes | Yes |
Edge | Yes | Yes | Yes |
Firefox | Yes | Yes | Yes |
Project Structure
memory-mcp/
├── core_mcp/ # Phase 1 — Core MCP server
│ ├── server.py # Main MCP server (stdio)
│ ├── tools/ # Notes + search + write-back tools
│ ├── vector_store/ # ChromaDB integration
│ └── event_logger/ # File watcher + SQLite
├── connectors/ # Phase 2 — Data connectors
│ ├── files_mcp/ # PDF, DOCX, text reader
│ ├── browser_mcp/ # Chrome, Edge, Firefox history
│ ├── calendar_mcp/ # Google Calendar (OAuth)
│ ├── code_mcp/ # Git + VSCode activity
│ └── conversations_mcp/ # Claude/ChatGPT exports
├── knowledge_graph/ # Phase 3 — Neo4j graph
│ ├── extractor.py # Entity extraction (regex-based)
│ ├── graph_store.py # Neo4j CRUD + search
│ └── server.py # Graph MCP server
├── gateway/ # Phase 4 — Unified gateway
│ ├── agent.py # LangGraph orchestrator
│ ├── router.py # Smart query router
│ ├── ranker.py # Multi-signal ranking
│ ├── context.py # PersonalContext model
│ └── server.py # FastAPI gateway
├── scripts/ # Utility scripts
│ ├── index_notes.py # Build vector index (incremental)
│ ├── build_graph.py # Build knowledge graph
│ └── start_watcher.py # Start file watcher
├── data/ # Your personal data (git-ignored)
│ ├── notes/ # Markdown notes
│ ├── files/ # Documents
│ └── conversations/ # Exported AI chats
├── docker-compose.yml # Neo4j container
├── pyproject.toml # Dependencies
└── .env.example # Config templatePrivacy
100% local-first — all processing runs on your machine
No cloud APIs required — embeddings, search, and graph are local
Personal data never committed —
data/is git-ignoredSecrets excluded —
.env, credentials, and tokens are git-ignoredCross-platform — works on Windows, macOS, and Linux
Known Limitations
Conversations: Export-only (Claude/ChatGPT JSON). No live sync due to API restrictions.
Calendar: Requires a one-time Google Cloud setup for OAuth credentials.
Entity extraction: Uses structural heuristics (word count, length, non-name word filter) to reduce false positives. Still regex-based — for higher accuracy, swap in spaCy NER or an LLM-based extractor in
knowledge_graph/extractor.py.
License
MIT
This server cannot be installed
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
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/Shaktisinhchavda/memory-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server