by Edlineas
Provides persistent, cross‑session memory for AI‑powered IDEs using a local SQLite‑based vector database and semantic search, enabling AI assistants to recall project knowledge, preferences, and tasks without re‑injecting large context files.
Aivectormemory is an MCP server that stores AI coding assistant memories as vector embeddings in a local SQLite database. It offers semantic retrieval, multi‑project isolation, task and issue tracking, and a web/desktop dashboard, all while keeping data fully on the developer’s machine.
pip install aivectormemory (or uvx aivectormemory install).run install. The command interactively creates the MCP configuration, steering rules, and hooks for the selected IDE.run (or run web --port 9080 for the dashboard). IDEs communicate with the server via the Model Context Protocol (stdio).{
"mcpServers": {
"aivectormemory": {
"command": "run",
"args": ["--project-dir", "/path/to/your/project"]
}
}
}
remember, recall, forget, status, track, task, readme, auto_save) from within the IDE or via the CLI.Q: Do I need an API key for embeddings?
A: No. The embedding model (intfloat/multilingual-e5-small) runs locally via ONNX Runtime.
Q: Can I use Aivectormemory with other IDEs not listed?
A: Yes. As long as the IDE can communicate via MCP (stdio), you can add a custom mcp.json configuration pointing to the server.
Q: How is data stored securely?
A: All data lives in ~/.aivectormemory/memory.db on the local filesystem. The web dashboard can be protected with username/password and token authentication.
Q: What happens if the vector database grows large? A: The system auto‑archives stale short‑term memories, merges duplicates, and can promote frequent items to a long‑term tier to keep search fast.
Q: How do I update the server?
A: Run pip install --upgrade aivectormemory or uvx aivectormemory install again; the installer updates the MCP config automatically.
🌐 简体中文 | 繁體中文 | English | Español | Deutsch | Français | 日本語
Still using CLAUDE.md / MEMORY.md as memory? This Markdown-file memory approach has fatal flaws: the file keeps growing, injecting everything into every session and burning massive tokens; content only supports keyword matching — search "database timeout" and you won't find "MySQL connection pool pitfall"; sharing one file across projects causes cross-contamination; there's no task tracking, so dev progress lives entirely in your head; not to mention the 200-line truncation, manual maintenance, and inability to deduplicate or merge.
AIVectorMemory is a fundamentally different approach. Local vector database storage with semantic search for precise recall (matches even when wording differs), on-demand retrieval that loads only relevant memories (token usage drops 50%+), automatic multi-project isolation with zero interference, and built-in issue tracking + task management that lets AI fully automate your dev workflow. All data is permanently stored on your machine — zero cloud dependency, never lost when switching sessions or IDEs.
| Feature | Description |
|---|---|
| 🧠 Cross-Session Memory | Your AI finally remembers your project — pitfalls, decisions, conventions all persist across sessions |
| 🔍 Semantic Search | No need to recall exact wording — search "database timeout" and find "MySQL connection pool issue" |
| 💰 Save 50%+ Tokens | Stop copy-pasting project context every conversation. Semantic retrieval on demand, no more bulk injection |
| 🔗 Task-Driven Dev | Issue tracking → task breakdown → status sync → linked archival. AI manages the full dev workflow |
| 📊 Desktop App + Web Dashboard | Native desktop app (macOS/Windows/Linux) + Web dashboard, visual management for memories and tasks, 3D vector network reveals knowledge connections at a glance |
| 🏠 Fully Local | Zero cloud dependency. ONNX local inference, no API Key, data never leaves your machine |
| 🔌 All IDEs | Cursor / Kiro / Claude Code / Windsurf / VSCode / OpenCode / Trae / Codex — one-click install, works out of the box |
| 📁 Multi-Project Isolation | One DB for all projects, auto-isolated with zero interference, seamless project switching |
| 🔄 Smart Dedup | Similarity > 0.95 auto-merges updates, keeping your memory store clean — never gets messy over time |
| 🌐 7 Languages | 简体中文 / 繁體中文 / English / Español / Deutsch / Français / 日本語, full-stack i18n for dashboard + Steering rules |
┌─────────────────────────────────────────────────┐
│ AI IDE │
│ OpenCode / Codex / Claude Code / Cursor / ... │
└──────────────────────┬──────────────────────────┘
│ MCP Protocol (stdio)
┌──────────────────────▼──────────────────────────┐
│ AIVectorMemory Server │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ remember │ │ recall │ │ auto_save │ │
│ │ forget │ │ task │ │ status/track │ │
│ └────┬─────┘ └────┬─────┘ └───────┬──────────┘ │
│ │ │ │ │
│ ┌────▼────────────▼───────────────▼──────────┐ │
│ │ Embedding Engine (ONNX) │ │
│ │ intfloat/multilingual-e5-small │ │
│ └────────────────────┬───────────────────────┘ │
│ │ │
│ ┌────────────────────▼───────────────────────┐ │
│ │ SQLite + sqlite-vec (Vector Index) │ │
│ │ ~/.aivectormemory/memory.db │ │
│ └────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────┘
# Install
pip install aivectormemory
# Upgrade to latest version
pip install --upgrade aivectormemory
# Navigate to your project directory, one-click IDE setup
cd /path/to/your/project
run install
run install interactively guides you to select your IDE, auto-generating MCP config, Steering rules, and Hooks — no manual setup needed.
macOS users note:
- If you get
externally-managed-environmenterror, add--break-system-packages- If you get
enable_load_extensionerror, your Python doesn't support SQLite extension loading (macOS built-in Python and python.org installers don't support it). Use Homebrew Python instead:brew install python /opt/homebrew/bin/python3 -m pip install aivectormemory
No pip install needed, run directly:
cd /path/to/your/project
uvx aivectormemory install
Requires uv to be installed.
uvxauto-downloads and runs the package — no manual installation needed.
{
"mcpServers": {
"aivectormemory": {
"command": "run",
"args": ["--project-dir", "/path/to/your/project"]
}
}
}
| IDE | Config Path |
|---|---|
| Kiro | .kiro/settings/mcp.json |
| Cursor | .cursor/mcp.json |
| Claude Code | .mcp.json |
| Windsurf | .windsurf/mcp.json |
| VSCode | .vscode/mcp.json |
| Trae | .trae/mcp.json |
| OpenCode | opencode.json |
| Codex | .codex/config.toml |
For Codex, use project-scoped TOML instead of JSON:
[mcp_servers.aivectormemory]
command = "run"
args = ["--project-dir", "/path/to/your/project"]
Codex only loads project-scoped
.codex/config.tomlafter the repository is marked as a trusted project.
remember — Store a memorycontent (string, required) Memory content in Markdown format
tags (string[], required) Tags, e.g. ["pitfall", "python"]
scope (string) "project" (default) / "user" (cross-project)
Similarity > 0.95 auto-updates existing memory, no duplicates.
recall — Semantic searchquery (string) Semantic search keywords
tags (string[]) Exact tag filter
scope (string) "project" / "user" / "all"
top_k (integer) Number of results, default 5
Vector similarity matching — finds related memories even with different wording.
forget — Delete memoriesmemory_id (string) Single ID
memory_ids (string[]) Batch IDs
status — Session statestate (object, optional) Omit to read, pass to update
is_blocked, block_reason, current_task,
next_step, progress[], recent_changes[], pending[]
Maintains work progress across sessions, auto-restores context in new sessions.
track — Issue trackingaction (string) "create" / "update" / "archive" / "list"
title (string) Issue title
issue_id (integer) Issue ID
status (string) "pending" / "in_progress" / "completed"
content (string) Investigation content
task — Task managementaction (string, required) "batch_create" / "update" / "list" / "delete" / "archive"
feature_id (string) Linked feature identifier (required for list)
tasks (array) Task list (batch_create, supports subtasks)
task_id (integer) Task ID (update)
status (string) "pending" / "in_progress" / "completed" / "skipped"
Links to spec docs via feature_id. Update auto-syncs tasks.md checkboxes and linked issue status.
readme — README generationaction (string) "generate" (default) / "diff" (compare differences)
lang (string) Language: en / zh-TW / ja / de / fr / es
sections (string[]) Specify sections: header / tools / deps
Auto-generates README content from TOOL_DEFINITIONS / pyproject.toml, multi-language support.
auto_save — Auto save preferencespreferences (string[]) User-expressed technical preferences (fixed scope=user, cross-project)
extra_tags (string[]) Additional tags
Auto-extracts and stores user preferences at end of each conversation, smart dedup.
run web --port 9080
run web --port 9080 --quiet # Suppress request logs
run web --port 9080 --quiet --daemon # Run in background (macOS/Linux)
Visit http://localhost:9080 in your browser. Default username admin, password admin123 (can be changed in settings after first login).
AIVectorMemory is the storage layer. Use Steering rules to tell AI when and how to call these tools.
Running run install auto-generates Steering rules and Hooks config — no manual setup needed.
| IDE | Steering Location | Hooks |
|---|---|---|
| Kiro | .kiro/steering/aivectormemory.md |
.kiro/hooks/*.hook |
| Cursor | .cursor/rules/aivectormemory.md |
.cursor/hooks.json |
| Claude Code | CLAUDE.md (appended) |
.claude/settings.json |
| Windsurf | .windsurf/rules/aivectormemory.md |
.windsurf/hooks.json |
| VSCode | .github/copilot-instructions.md (appended) |
.claude/settings.json |
| Trae | .trae/rules/aivectormemory.md |
— |
| OpenCode | AGENTS.md (appended) |
.opencode/plugins/*.js |
| Codex | AGENTS.md (appended) |
— |
# AIVectorMemory - Workflow Rules
## 1. New Session Startup (execute in order)
1. `recall` (tags: ["project-knowledge"], scope: "project", top_k: 100) load project knowledge
2. `recall` (tags: ["preference"], scope: "user", top_k: 20) load user preferences
3. `status` (no state param) read session state
4. Blocked → report and wait; Not blocked → enter processing flow
## 2. Message Processing Flow
- Step A: `status` read state, wait if blocked
- Step B: Classify message type (chat/correction/preference/code issue)
- Step C: `track create` record issue
- Step D: Investigate (`recall` pitfalls + read code + find root cause)
- Step E: Present plan to user, set blocked awaiting confirmation
- Step F: Modify code (`recall` pitfalls before changes)
- Step G: Run tests to verify
- Step H: Set blocked awaiting user verification
- Step I: User confirms → `track archive` + clear block
## 3. Blocking Rules
Must `status({ is_blocked: true })` when proposing plans or awaiting verification.
Only clear after explicit user confirmation. Never self-clear.
## 4-9. Issue Tracking / Code Checks / Spec Task Mgmt / Memory Quality / Tool Reference / Dev Standards
(Full rules auto-generated by `run install`)
Auto-save on session end removed. Dev workflow check (.kiro/hooks/dev-workflow-check.kiro.hook):
{
"enabled": true,
"name": "Dev Workflow Check",
"version": "1",
"when": { "type": "promptSubmit" },
"then": {
"type": "askAgent",
"prompt": "Core principles: verify before acting, no blind testing, only mark done after tests pass"
}
}
The embedding model (~200MB) is auto-downloaded on first run. If slow:
export HF_ENDPOINT=https://hf-mirror.com
Or add env to MCP config:
{
"env": { "HF_ENDPOINT": "https://hf-mirror.com" }
}
| Component | Technology |
|---|---|
| Runtime | Python >= 3.10 |
| Vector DB | SQLite + sqlite-vec |
| Embedding | ONNX Runtime + intfloat/multilingual-e5-small |
| Tokenizer | HuggingFace Tokenizers |
| Protocol | Model Context Protocol (MCP) |
| Web | Native HTTPServer + Vanilla JS |
New: Smart Memory Engine + Uninstall
run uninstall — cleanly removes all IDE configurations (MCP, steering, hooks, permissions) while preserving memory dataEnhancement: Security & Rule Optimization
New: Playwright Browser Testing Built-in
run install now automatically configures Playwright browser testing — AI can open a real browser to verify frontend changes instead of guessingEnhancement: More IDE Support
run install now auto-configures tool permissions, reducing manual setupEnhancement: Faster Startup
Enhancement: Simpler Rules
Fix: Tool Reliability
Enhancement: Better Search & Safety
Enhancement: Rule Generalization & Desktop Version Fix
Fix: Hook Cross-Project Compatibility
check_track.sh now derives project path from script location instead of $(pwd), fixing track detection failure when Claude Code runs hooks from non-root working directorycompact-recovery.sh now uses relative path derivation instead of hardcoded absolute paths, ensuring correct behavior when installed to any projectinstall.py template synchronized with all hook fixesPerformance: ONNX INT8 Quantization
New: Remember Password
Enhancement: Steering Rules
New: Native Desktop App
New: CI/CD Auto Build
Fixes
Optimization: Token Usage Reduction
New: Full-Stack i18n (7 Languages)
New: Web Dashboard Settings Page
Optimization: Memory Search
recall search supports OR/AND tag matching modes, fixing missed results with multi-tag searchesApache-2.0
Please log in to share your review and rating for this MCP.
Explore related MCPs that share similar capabilities and solve comparable challenges
by modelcontextprotocol
A basic implementation of persistent memory using a local knowledge graph. This lets Claude remember information about the user across chats.
by topoteretes
Provides dynamic memory for AI agents through modular ECL (Extract, Cognify, Load) pipelines, enabling seamless integration with graph and vector stores using minimal code.
by basicmachines-co
Enables persistent, local‑first knowledge management by allowing LLMs to read and write Markdown files during natural conversations, building a traversable knowledge graph that stays under the user’s control.
by agentset-ai
Provides an open‑source platform to build, evaluate, and ship production‑ready retrieval‑augmented generation (RAG) and agentic applications, offering end‑to‑end tooling from ingestion to hosting.
by smithery-ai
Provides read and search capabilities for Markdown notes in an Obsidian vault for Claude Desktop and other MCP clients.
by chatmcp
Summarize chat messages by querying a local chat database and returning concise overviews.
by dmayboroda
Provides on‑premises conversational retrieval‑augmented generation (RAG) with configurable Docker containers, supporting fully local execution, ChatGPT‑based custom GPTs, and Anthropic Claude integration.
by qdrant
Provides a Model Context Protocol server that stores and retrieves semantic memories using Qdrant vector search, acting as a semantic memory layer.
by doobidoo
Provides a universal memory service with semantic search, intelligent memory triggers, OAuth‑enabled team collaboration, and multi‑client support for Claude Desktop, Claude Code, VS Code, Cursor and over a dozen AI applications.