Install
$ agentstack add mcp-edlineas-aivectormemory ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
🌐 [简体中文](docs/README.zh-CN.md) | [繁體中文](docs/README.zh-TW.md) | English | [Español](docs/README.es.md) | [Deutsch](docs/README.de.md) | [Français](docs/README.fr.md) | [日本語](docs/README.ja.md)
AIVectorMemory
Give your AI coding assistant a memory — Cross-session persistent memory MCP Server
> 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.
✨ Core Features
| Feature | Description | |---------|-------------| | 🧠 Cross-Session Memory | Your AI finally remembers your project — pitfalls, decisions, conventions all persist across sessions | | 🔍 Hybrid Smart Search | FTS5 full-text + vector semantic dual-path search, RRF fusion ranking + composite scoring (recency × frequency × importance), far more precise than pure vector search | | 🐛 Issue Tracking | Built-in Issue Tracker — discover → investigate → fix → archive, full lifecycle. AI manages bugs automatically | | 📋 Task Management | Spec → task breakdown → nested subtasks → status sync → linked archival. AI drives the complete dev workflow | | 🚦 Session State | Blocking management + breakpoint resume + progress tracking, seamless handoff across sessions and context compaction | | 🪝 Hooks + Steering | Auto-inject workflow rules + behavior guard hooks, consistent AI behavior guaranteed — no need to repeat instructions | | 🧬 Memory Evolution | Contradiction detection auto-supersedes stale knowledge + short-term → long-term auto-promotion + 90-day auto-archive, self-evolving memory | | 📊 Desktop App + Web Dashboard | Native desktop app (macOS/Windows/Linux) + Web dashboard, 3D vector network reveals knowledge connections at a glance | | 💰 Save 50%+ Tokens | Stop copy-pasting project context every conversation. Semantic retrieval on demand, no more bulk injection | | 🏠 Fully Local | Zero cloud dependency. ONNX local inference, no API Key, data never leaves your machine | | 🔌 11 IDEs Covered | Cursor / Kiro / Claude Code / Windsurf / VSCode / Copilot / OpenCode / Trae / Codex / Antigravity / OpenClaw — one-click install & uninstall | | 📁 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 |
QQ群:1085682431 | 微信:changhuibiz 共同参与项目开发加QQ群或微信交流
Login
Project Selection
Overview & Vector Network
🏗️ Architecture
┌─────────────────────────────────────────────────┐
│ 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 │ │
│ └────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────┘
🚀 Quick Start
Option 1: pip install (Recommended)
# 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-environment error, add --break-system-packages > - If you get enable_load_extension error, your Python doesn't support SQLite extension loading (macOS built-in Python and python.org installers don't support it). Use Homebrew Python instead: > ``bash > brew install python > /opt/homebrew/bin/python3 -m pip install aivectormemory > ``
Option 2: uvx (zero install)
No pip install needed, run directly:
cd /path/to/your/project
uvx aivectormemory install
> Requires uv to be installed. uvx auto-downloads and runs the package — no manual installation needed.
Option 3: Manual configuration
{
"mcpServers": {
"aivectormemory": {
"command": "run",
"args": ["--project-dir", "/path/to/your/project"]
}
}
}
📍 IDE Configuration File Locations
| 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.toml after the repository is marked as a trusted project.
🛠️ 9 MCP Tools
remember — Store a memory
content (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 search
query (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 memories
memory_id (string) Single ID
memory_ids (string[]) Batch IDs
status — Session state
state (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 tracking
action (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 management
action (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 generation
action (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 preferences
preferences (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.
graph — Code knowledge graph
action (string, required) "query" / "trace" / "batch" / "add_node" / "add_edge" / "remove" / "refresh"
name (string) Entity name (add_node/query)
entity_type (string) Entity type: function/class/module/api/table/config (add_node/query)
file_path (string) File path, auto-converts to relative (add_node/query/refresh)
source (string) Source node name or ID (add_edge)
target (string) Target node name or ID (add_edge)
relation (string) Relation type: calls/imports/inherits/uses/depends_on/contains (add_edge/trace)
start (string) Start node name or ID (trace)
direction (string) Traversal direction: "up" / "down" / "both" (trace)
max_depth (integer) Max traversal depth, default 3 (trace)
Manages function call chains, data flows, and dependency relationships. Trace upstream/downstream impact before code changes.
📊 Web Dashboard
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).
- Multi-project switching, memory browse/search/edit/delete/export/import
- Semantic search (vector similarity matching)
- One-click project data deletion
- Session status, issue tracking
- Tag management (rename, merge, batch delete)
- Token authentication protection
- 3D vector memory network visualization
- 🌐 Multi-language support (简体中文 / 繁體中文 / English / Español / Deutsch / Français / 日本語)
Scan to join WeChat group | Scan to join QQ group
⚡ Pairing with Steering Rules
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) | — |
📋 Steering Rules Example (auto-generated)
# 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`)
🔗 Hooks Config Example (Kiro only, auto-generated)
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"
}
}
🇨🇳 Users in China
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" }
}
📦 Tech Stack
| 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 |
📋 Changelog
v2.4.5
Patch: Hard Constraints Against Opus 4.7 Default Tendencies
- 🚫 §1 added No Clarification-Style Follow-ups: forbid re-asking "phased or one-shot / full or partial / should I do X / do A first or B first" for imperative commands; under ambiguity, execute the most complete scope
- 🚫 §1 added No Defensive Reporting: forbid wording like "kept per instruction / marked pending / non-critical path / unnecessary sub-tests / for later iteration" as excuse for unexecuted items
- 📋 §1 added Report Format: forbid Phase A/B/C/D list + "Final Status" + "Not Done (Kept Per Instruction)" three-section format; when user says "do all", no "Not Done/Kept" section allowed
- 🎯 Root cause: counteract Opus 4.7's default "defensive reporting", "clarification follow-ups", and "structured checklist" tendencies compared to 4.6
- 🔄 7-language rule files (STEERINGCONTENT + DEVWORKFLOW_PROMPT) fully synced with CLAUDE.md v2.4.5 updates
v2.4.4
Patch: Full A-I Message Processing Flow Alignment
- 🧩 CLAUDE.md §4 message processing B routes fully expanded: all 4 branches (casual/correction/preference/other) unified to terminate at I(user confirm & archive), eliminating incomplete "stop at F" flows
- ⚙️ inject-workflow-rules.sh message type judgment section fully aligned with §4 B: 4 routes with consistent granularity
- 🔧 Fixed 3 conflicts: route granularity inconsistency (2 vs 4 routes) / B and E responsibility mixing ("solution+block" misplaced) / G/H/I flow missing
- 📝 Unified violation clause: "Proceeding to C/D/E/F steps without outputting judgment result = violation"
- 🔄 7-language rule files (STEERINGCONTENT + DEVWORKFLOW_PROMPT) fully synced with CLAUDE.md v2.4.4 updates
v2.4.3
Patch: Rule Enforcement & Graph Visualization
- 🧠 §4.B: Two-step mandatory structure (understand message → determine type)
…
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Edlineas
- Source: Edlineas/aivectormemory
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.