aivectormemory
Click on "Deploy 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., "@aivectormemoryremember we're using FastAPI for backend and PostgreSQL"
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.
๐ ็ฎไฝไธญๆ | ็น้ซไธญๆ | 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.
โจ Core Features
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 โ 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 |
Related MCP server: ProjectMind MCP
๐๏ธ Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AI IDE โ
โ OpenCode / Claude Code / Cursor / Kiro / ... โ
โโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 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 installrun 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-packagesIf 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
Option 2: uvx (zero install)
No pip install needed, run directly:
cd /path/to/your/project
uvx aivectormemory installRequires uv to be installed.
uvxauto-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 | Config Path |
Kiro |
|
Cursor |
|
Claude Code |
|
Windsurf |
|
VSCode |
|
Trae |
|
OpenCode |
|
๐ ๏ธ 8 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 5Vector similarity matching โ finds related memories even with different wording.
forget โ Delete memories
memory_id (string) Single ID
memory_ids (string[]) Batch IDsstatus โ 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 contenttask โ 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 / depsAuto-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 tagsAuto-extracts and stores user preferences at end of each conversation, smart dedup.
๐ 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 / ๆฅๆฌ่ช)
โก 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 |
|
|
Cursor |
|
|
Claude Code |
|
|
Windsurf |
|
|
VSCode |
|
|
Trae |
| โ |
OpenCode |
|
|
# 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"
}
}๐จ๐ณ Users in China
The embedding model (~200MB) is auto-downloaded on first run. If slow:
export HF_ENDPOINT=https://hf-mirror.comOr 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
v1.0.8
๐ง Fix PyPI package size anomaly (sdist from 32MB down to 230KB), excluded accidentally packaged dev files
v1.0.6
New: Native Desktop App
๐ฅ๏ธ Native desktop client supporting macOS (ARM64), Windows (x64), Linux (x64)
๐ฅ๏ธ Desktop app shares the same database as Web dashboard, fully feature-equivalent
๐ฅ๏ธ Dark/light theme switching, Glass frosted visual style
๐ฅ๏ธ Login auth, project selection, stats overview, memory management, issue tracking, task management, tag management, settings, data maintenance โ full feature coverage
๐ฆ Auto-published installers via GitHub Releases, download and use
New: CI/CD Auto Build
๐ GitHub Actions auto-builds desktop installers for all 3 platforms
๐ Push a tag to trigger the full compile, package, and release pipeline
Fixes
๐ Windows platform compatibility fixes
๐ sqlite-vec extension download URL fix
v1.0.5
Optimization: Token Usage Reduction
โก Steering rules changed from per-message dynamic injection to static loading, reducing repeated token consumption
โก Greatest impact for Claude Code users โ ~2K fewer tokens per message
v1.0.4
New: Full-Stack i18n (7 Languages)
๐ Web dashboard + desktop UI fully supports 7 languages: ็ฎไฝไธญๆ / ็น้ซไธญๆ / English / Espaรฑol / Deutsch / Franรงais / ๆฅๆฌ่ช
๐ One-click language switch in settings page, takes effect immediately
๐ MCP tool responses follow language setting, AI replies automatically use the corresponding language
๐ Switching language auto-regenerates steering rules for all installed projects
New: Web Dashboard Settings Page
โ๏ธ Language switch, theme settings, system info display
โ๏ธ Database health check, repair, backup and other maintenance tools
v1.0.3
Optimization: Memory Search
๐
recallsearch supports OR/AND tag matching modes, fixing missed results with multi-tag searches๐ Semantic search + tag filter defaults to OR matching (broader), tags-only browsing keeps AND matching (more precise)
๐ HTTP API
้คไบ MCP ๅ่ฎฎ๏ผ่ฟๆไพไบ HTTP API ๆฅๅฃ๏ผไพฟไบๅคไธช Agent ็ดๆฅ่ฐ็จใ
ๅฏๅจ HTTP ๆๅกๅจ
# ้่ฆ Node.js ็ฏๅข
cd scripts
node aivectormemory-http-server.jsๆๅกๅจ้ป่ฎค็ซฏๅฃ๏ผ9081
API ็ซฏ็น
็ซฏ็น | ๆนๆณ | ๅ่ฝ |
| GET | ๅฅๅบทๆฃๆฅ |
| POST | ๅญๅ ฅ่ฎฐๅฟ |
| POST | ่ฏญไนๆ็ดข |
| POST | ๅ ้ค่ฎฐๅฟ |
| POST | ไผ่ฏ็ถๆ |
| POST | ้ฎ้ข่ท่ธช |
| POST | ไปปๅก็ฎก็ |
| POST | README ็ๆ |
| POST | ่ชๅจไฟๅญๅๅฅฝ |
ไฝฟ็จ็คบไพ
# ๅฅๅบทๆฃๆฅ
curl http://localhost:9081/health
# ๅญๅ
ฅ่ฎฐๅฟ
curl -X POST http://localhost:9081/remember \
-H "Content-Type: application/json" \
-d '{"content": "่ฎฐไฝ่ฟไธช้กน็ฎไฝฟ็จ Python 3.11", "tags": ["python", "config"]}'
# ่ฏญไนๆ็ดข
curl -X POST http://localhost:9081/recall \
-H "Content-Type: application/json" \
-d '{"query": "Python ็ๆฌ", "top_k": 5}'
# ๅ ้ค่ฎฐๅฟ
curl -X POST http://localhost:9081/forget \
-H "Content-Type: application/json" \
-d '{"memory_id": "xxx"}'
# ไผ่ฏ็ถๆ
curl -X POST http://localhost:9081/status \
-H "Content-Type: application/json" \
-d '{"state": {"current_task": "ๅผๅๆฐๅ่ฝ"}}'
# ้ฎ้ข่ท่ธช
curl -X POST http://localhost:9081/track \
-H "Content-Type: application/json" \
-d '{"action": "create", "title": "ไฟฎๅค Bug", "content": "xxx"}'
# ไปปๅก็ฎก็
curl -X POST http://localhost:9081/task \
-H "Content-Type: application/json" \
-d '{"action": "batch_create", "feature_id": "feature-001", "tasks": [{"title": "ไปปๅก1"}]}'
# README ็ๆ
curl -X POST http://localhost:9081/readme \
-H "Content-Type: application/json" \
-d '{"lang": "zh-CN"}'
# ่ชๅจไฟๅญๅๅฅฝ
curl -X POST http://localhost:9081/auto_save \
-H "Content-Type: application/json" \
-d '{"preferences": ["ๅๆฌข็จ Python", "ๅๆฌข็จ TypeScript"]}'License
Apache-2.0
Available Tools
8 toolsauto_saveB
ใๆฏๆฌกๅฏน่ฏ็ปๆๅๅฟ ้กป่ฐ็จใ่ชๅจไฟๅญ็จๆทๅๅฅฝใ
| Name | Required | Description | Default |
|---|---|---|---|
| extra_tags | No | ้ขๅคๆ ็ญพ | |
| preferences | No | ็จๆท่กจ่พพ็ๆๆฏๅๅฅฝ๏ผๅบๅฎ scope=user๏ผ่ทจ้กน็ฎ้็จ๏ผ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says nothing about whether saved preferences are merged or overwritten, whether duplicate tags accumulate, what permissions or scope enforcement applies at save time, or what the tool returns. 'Auto' implies no confirmation prompt, but that is the only inferable trait.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the imperative directive front-loaded in brackets followed by the resource. Nothing is wasted. It is slightly terse for a tool with behavioral ambiguity, but structurally clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should say more about the result of a save and how it interacts with the retrieval siblings. With zero annotation coverage and only two optional parameters, the definition is minimally adequate but leaves the persistence model opaque.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented (extra_tags, and preferences with scope=user / cross-project semantics). The description adds no syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource: save (่ชๅจไฟๅญ) user preferences. The purpose is unambiguous on its own. However, it makes no attempt to differentiate from the sibling 'remember', which plausibly stores the same kind of information, so the agent cannot tell the two apart from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit timing directive (must be invoked before every conversation ends), which is more than most tools offer. But it gives no alternatives or exclusions โ with siblings like remember and forget, it never says when NOT to use this or how it relates to them, leaving the agent to infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forgetC
ๅ ้คไธๆกๆๅคๆก่ฎฐๅฟใ
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ๆๆ ็ญพๆน้ๅ ้ค๏ผๅ ้คๆๆๅน้ ๆ ็ญพ็่ฎฐๅฟ | |
| scope | No | ้ ๅ tags ไฝฟ็จ๏ผ้ๅฎๅ ้ค่ๅด | all |
| memory_id | No | ๅไธช่ฎฐๅฟ ID | |
| memory_ids | No | ๅคไธช่ฎฐๅฟ ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It hints at the single-vs-bulk deletion modes, but for a destructive operation it says nothing about irreversibility, whether deletions can be recovered, or permission requirements. This is a meaningful gap for a tool that removes stored data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence that is well front-loaded with the verb and scope of effect. It earns its place, though the extreme brevity leaves no room for the caution a destructive tool warrants.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with four parameters, no annotations, and no output schema, the description is incomplete. It omits any discussion of consequences, confirmation expectations, or scope effects that an agent would need before invoking a delete operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the four parameters (tags, scope, memory_id, memory_ids) are already documented in the schema, including the tags/scope interaction. The description adds no syntax or format detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('delete one or more memories'), which is unambiguous and distinct from the read-oriented siblings (remember, recall). However, it does not explicitly contrast itself with those siblings, so the agent must infer the inverse relationship from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of an alternative tool for related operations. The agent receives only a statement of effect, not context for selecting this tool over remembering, recalling, or tracking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
readmeA
README ็ๆๅทฅๅ ท๏ผไป TOOL_DEFINITIONS/pyproject.toml/STEERING_CONTENT ่ชๅจ็ๆ README ๅ ๅฎน๏ผๆฏๆๅค่ฏญ่จๅๅทฎๅผๅฏนๆฏใ
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | ่ฏญ่จ๏ผen/zh-TW/ja/de/fr/es | en |
| action | No | generate=็ๆๅ ๅฎน, diff=ๅฏนๆฏๅทฎๅผ | generate |
| sections | No | ๆๅฎ็ๆ็็ซ ่๏ผๅฏ้๏ผ๏ผheader/tools/deps |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions input sources and capabilities but omits critical behavioral details such as whether the tool modifies files, what happens on missing input, or what the output format is. The safety and side effects are unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that conveys the core functionality efficiently. It is front-loaded with the main purpose and includes key details (source files, multi-language, diff) without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the three optional parameters and no output schema, the description partially covers the needed context. It explains the input sources and general capability but does not specify the return format, behavior of the 'diff' action, or how optional sections are used. More detail would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are described in the schema (100% coverage). The description adds value by revealing the source files and the fact that the tool generates content, which is not in the schema. It provides context that helps understand the tool's purpose beyond the parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool generates README content from specific files (TOOL_DEFINITIONS/pyproject.toml/STEERING_CONTENT) and supports multi-language and diff comparison. It uses a specific verb 'generate' and identifies the resource 'README', differentiating it from siblings like 'auto_save' or 'graph'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool over alternatives. The description does not explain the difference between 'generate' and 'diff' actions or when each is appropriate. There is no mention of prerequisites or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recallB
่ฏญไนๆ็ดขๅๅฟ่ฎฐๅฟใ้่ฟๅ้็ธไผผๅบฆๅน้ ๏ผๅณไฝฟ็จ่ฏไธๅไน่ฝๆพๅฐ็ธๅ ณ่ฎฐๅฟใ
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ๆๆ ็ญพ่ฟๆปคใquery+tags ๆถ้ป่ฎค OR ๅน้ ๏ผไปปไธๆ ็ญพๅฝไธญๅณๅฏ๏ผ๏ผไป tags ๆถ้ป่ฎค AND ๅน้ ๏ผ็ฒพ็กฎๅ็ฑปๆต่ง๏ผ | |
| brief | No | ็ฒพ็ฎๆจกๅผ๏ผtrue ๆถๅช่ฟๅ content ๅ tags๏ผ็็ฅ id/session_id/created_at ็ญๅ ๆฐๆฎ๏ผ้ๅๅฏๅจๅ ่ฝฝๅบๆฏ่็ไธไธๆ | |
| query | No | ๆ็ดขๅ ๅฎน๏ผ่ฏญไนๆ็ดข๏ผๅฏ้๏ผ | |
| scope | No | all | |
| top_k | No | ่ฟๅ็ปๆๆฐ้ | |
| source | No | ๆๆฅๆบ่ฟๆปค๏ผmanual=้กน็ฎ็ฅ่ฏ, experience=ๅฝๆกฃ็ป้ชใไธไผ ๅไธ่ฟๆปค | |
| tags_mode | No | ๆ ็ญพๅน้ ๆจกๅผ๏ผany=ไปปไธๅน้ ๏ผall=ๅ จ้จๅน้ ใ้ป่ฎคๆบ่ฝ้ๆฉ๏ผquery+tagsโany๏ผไป tagsโall๏ผ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It does add real behavioral context by explaining that matching is by vector similarity rather than literal terms, which tells the agent results may be fuzzy. It says nothing about read-only safety, side effects, result limits, or ranking behavior, so the disclosure is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core action and followed by the distinguishing mechanism. Nothing is wasted, though the mechanism sentence arguably restates the first clause's intent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no output schema and no annotations, the description covers the core mechanic but omits any mention of filtering, scoping, or result-sizing behavior, leaving the agent to rely entirely on the schema. Adequate but with clear gaps around the many optional filters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so the schema already documents tags, brief, top_k, source, and tags_mode in detail. The description adds only that query is a semantic (optional) search, which is largely redundant with the schema note. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation (semantic search) on a specific resource (memories), and adds the mechanism (vector similarity) that explains what makes it different from a keyword lookup. It does not, however, distinguish this from any sibling tool such as remember/forget, so sibling differentiation is absent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no named alternative among the siblings. The implied usage โ retrieve memories by meaning rather than exact wording โ is inferable but never stated as a selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememberB
ๅญๅ ฅไธๆก่ฎฐๅฟใๆฏๆ็จๆท็บง๏ผ่ทจ้กน็ฎ๏ผๅ้กน็ฎ็บงๅญๅจ๏ผ่ชๅจๅป้๏ผ็ธไผผๅบฆ>0.95ๅๆดๆฐ๏ผใ
| Name | Required | Description | Default |
|---|---|---|---|
| tags | Yes | ๆ ็ญพๅ่กจ | |
| scope | No | ไฝ็จๅ | project |
| content | Yes | ่ฎฐๅฟๅ ๅฎน๏ผMarkdown ๆ ผๅผใๅฝไปค็ฑป้กปๅซๅฎๆดๅฏๆง่กๅฝไปค๏ผๆต็จ็ฑป้กปๅซๅ ทไฝๆญฅ้ชค๏ผ็ฆๆญขๆจก็ณ็ผฉๅ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With zero annotations the description carries the full burden, and it delivers two concrete behavioral facts: memories are stored at user (cross-project) vs project scope, and duplicates with similarity >0.95 overwrite the existing entry rather than creating a new one. That upsert/dedup semantics is genuinely actionable. It still omits permissions, whether an overwrite is destructive, and what is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler, and the core action is front-loaded before the storage/dedup qualifiers. It is efficient, though arguably too terse given the complete absence of annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description covers storage scope and dedup behavior but is silent on the return value (e.g. an ID), permission requirements, and whether an update replaces prior tags or content. Adequate but leaves real gaps an agent would want filled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with the schema itself carrying rich parameter detail (Markdown content rules for commands/steps, tag list, scope enum). The description only adds the gloss that "user" means cross-project, which is a marginal clarification over the schema's bare "ไฝ็จๅ".
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"ๅญๅ ฅไธๆก่ฎฐๅฟ" gives a specific verb (store) and resource (a memory), immediately distinguishing it from recall/forget/status siblings. However it never explicitly contrasts itself with auto_save, which is the closest sibling and could plausibly also persist content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool does but gives no when-to-use guidance, no conditions for choosing remember over auto_save, and no prerequisites such as required tags or scope selection. The agent must infer all routing from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
statusA
่ฏปๅๆๆดๆฐไผ่ฏ็ถๆ๏ผ้ปๅก็ถๆใๅฝๅไปปๅกใ่ฟๅบฆ็ญ๏ผใไธไผ state ๅๆฐๅ่ฏปๅ๏ผไผ ๅ้จๅๆดๆฐใprogress ไธบๅช่ฏป่ฎก็ฎๅญๆฎต๏ผ่ชๅจไป track ๆดป่ท้ฎ้ข + task ๆชๅฎๆไปปๅก่ๅ็ๆ๏ผๆ ้ๆๅจๅๅ ฅใๆธ ็ฉบๅ่กจๅญๆฎตๆถไฝฟ็จ clear_fields ๅๆฐ๏ผๅ ้จๅ IDE ไผ่ฟๆปค็ฉบๆฐ็ป๏ผใ
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | ่ฆๆดๆฐ็ๅญๆฎต๏ผ้จๅๆดๆฐ๏ผใprogress ไธบๅช่ฏปๅญๆฎต๏ผไผ ๅ ฅไผ่ขซๅฟฝ็ฅใ | |
| clear_fields | No | ่ฆๆธ ็ฉบ็ๅ่กจๅญๆฎตๅใ็จไบ็ป่ฟ้จๅ IDE ่ฟๆปค็ฉบๆฐ็ป็้ฎ้ข๏ผไพๅฆไผ ["pending"] ็ญๅไบ state.pending=[]ใ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description discloses both modes, read-only nature of progress, auto-aggregation, and the clear_fields workaround. It doesn't mention return format but covers key behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three efficient sentences, no redundancy. Front-loaded with purpose, then mode conditions, then behavioral notes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers main behaviors comprehensively for a 2-param tool. Missing return details but no output schema exists. The description is sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. Description adds meaning by explaining update is partial, progress is read-only, and clear_fields solves IDE issues, raising it above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads or updates session state (verb+resource). It distinguishes from siblings like readme, recall, task by being the sole session state tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use each mode (read vs update) and how to clear list fields. It lacks explicit exclusions or alternatives but usage is clear given sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskB
ไปปๅก็ฎก็๏ผbatch_create/update/list/delete/archiveใupdate ๆดๆฐ็ถๆๅ่ชๅจๅๆญฅๆๆ IDE ็ tasks.md checkbox๏ผๅนถ่ๅจๅๆญฅๅ ณ่้ฎ้ข็ถๆใarchive ๅฐๆๅฎๅ่ฝ็ป็ๆๆไปปๅก็งปๅ ฅๅฝๆกฃ่กจใ
| Name | Required | Description | Default |
|---|---|---|---|
| tasks | No | ไปปๅกๅ่กจ๏ผbatch_create๏ผ | |
| title | No | ไปปๅกๆ ้ข๏ผupdate ๆถๅฏ้ไฟฎๆน๏ผ | |
| action | Yes | ||
| status | No | ไปปๅก็ถๆ | |
| task_id | No | ไปปๅก ID๏ผupdate๏ผ | |
| feature_id | No | ๅ ณ่็ๅ่ฝๆ ่ฏ๏ผlist ๆถๅฟ ๅกซ๏ผ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral-disclosure burden. It usefully discloses that update auto-syncs tasks.md checkboxes across all IDEs and linked issue status, and that archive moves all tasks in a feature group to an archive table. However, it does not describe delete permanence, batch_create failure behavior, list read-only nature, or permission/auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the tool's scope and action list, then adds only the most important behavioral notes for update and archive. It is concise and well-structured, though it could more clearly separate action-specific usage conditions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six parameters, no annotations, no output schema, and moderate complexity, the description is only partially complete. It covers update and archive side effects but leaves delete, batch_create, and list behavior largely inferred from names and schema, which is insufficient for a mutation tool with no annotation safety profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high at 83%, so the schema already documents most parameters including tasks, title, status, task_id, and feature_id. The description adds no parameter-level syntax or format details beyond what the schema provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the resource (ไปปๅก) and the available actions (batch_create/update/list/delete/archive), giving a specific verb+resource overview. It does not explicitly differentiate this tool from sibling tools such as track, but the task-management scope is unambiguous enough for an agent to understand its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the action names and by action-specific notes for update and archive, but there is no explicit guidance on when to use each action versus alternatives, nor when not to use this tool. The schema adds a required-feature_id condition for list, but the description itself does not state it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trackC
้ฎ้ข่ท่ธช๏ผcreate/update/archive/delete/list ไบไธช actionใ
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ๆฅๆ YYYY-MM-DD | |
| brief | No | list ๆถๆฏๅฆๅช่ฟๅๆ่ฆ๏ผid/title/status/date๏ผ๏ผ้ป่ฎค trueใ้่ฆ่ฏฆๆ ็จ issue_id ๆฅๅๆก | |
| limit | No | list ๆถ่ฟๅๆกๆฐไธ้๏ผ้ป่ฎค 50 | |
| notes | No | ๆณจๆไบ้กน | |
| title | No | ้ฎ้ขๆ ้ข๏ผcreate๏ผ | |
| action | Yes | ||
| status | No | ||
| content | No | ้ฎ้ขๆ่ฟฐ๏ผcreate ๆถๅฟ ๅกซ๏ผ็ฎ่ฟฐ้ฎ้ข็ฐ่ฑกๅ่ๆฏ๏ผ | |
| issue_id | No | list ๆถไผ ๅ ฅๅฏๆฅๅๆก้ฎ้ข๏ผๆดป่ท+ๅฝๆกฃ้ฝๆฅ๏ผ๏ผ้ฟๅ ๆๅ จ้ๅ่กจ | |
| solution | No | ่งฃๅณๆนๆก | |
| parent_id | No | ็ถ้ฎ้ข ID๏ผcreate๏ผๅฏ้๏ผ้ป่ฎค 0๏ผ | |
| feature_id | No | ๅ ณ่ๅ่ฝๆ ่ฏ | |
| root_cause | No | ๆ นๆฌๅๅ | |
| description | No | ้ฎ้ขๆ่ฟฐ | |
| test_result | No | ่ชๆต็ปๆ | |
| files_changed | No | ไฟฎๆนๆไปถๆธ ๅ๏ผJSON ๆฐ็ป๏ผ | |
| investigation | No | ๆๆฅ่ฟ็จ๏ผ้ๆญฅ่ฎฐๅฝ๏ผ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about the destructive/reversible nature of archive and delete, required permissions, or side effects. Listing action names conveys what operations exist but not their behavioral consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no wasted words, and the resource is front-loaded before the action list. It is efficiently sized, though the brevity comes at the cost of detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 17-parameter, five-action multi-tool with no annotations and no output schema, so the description should clarify how parameters map to actions and flag destructive operations. Instead it provides only an action list, leaving the agent to reconstruct per-action semantics from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 88%, so the schema already documents the parameters well (e.g., content for create, brief/limit/issue_id for list). The description adds no parameter meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a clear resource (issue tracking) and enumerates the five actions the tool performs (create/update/archive/delete/list), so an agent can grasp the tool's scope. It does not differentiate from siblings like task or status, but the verb+resource pairing is specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only lists the available actions; it gives no guidance on when to use this tool versus siblings such as task or status, and no conditions or prerequisites for choosing a given action. Usage must be inferred entirely from the bare action names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
v1.0.10- First observed
auto_save - First observed
forget - First observed
readme - First observed
recall - First observed
remember - First observed
status - First observed
task - First observed
track
TDQS
Scored across 8 tools
remember/recall/forget form a clean memory CRUD triad, and track/task/readme are distinct. However, auto_save ("save user preferences") overlaps conceptually with remember, which already supports user-level storage, creating a potential confusion point.
Memory tools use verbs (remember, recall, forget) while track, task, status, and readme are bare nouns, and auto_save uses verb_noun. The convention is mixed but each name is still readable and guessable.
Eight tools is a well-scoped set for a memory/session/task server, especially since track and task bundle multiple sub-actions internally. Slightly on the lean side but each tool earns its place.
Covers memory lifecycle (remember/recall/forget), session state, issue tracking, task management, and readme generation. Minor gaps like listing/exporting all memories or explicit memory update exist, but remember's auto-dedupe mitigates this.
Maintenance
Related MCP Connectors
Shared memory for coding agents. Stop re-explaining your codebase every session.
Persistent memory for AI agents. Search, store, and recall across sessions.
Persistent memory for AI agents. Semantic search, memory graph, W3C DID identity.
- AmberOAuthcom.ambermem
Long-term memory for AI assistants. Hybrid retrieval, query expansion, auto-topics.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides persistent memory and semantic file discovery for AI coding agents, enabling them to remember changes and find relevant files across sessions.5-
- AlicenseNot gradedqualityAmaintenanceGives AI coding assistants persistent project memory and semantic code search, running fully locally with no API keys required.MIT
- AlicenseNot gradedqualityBmaintenanceProvides a local long-term memory layer for AI coding tools like Cursor and Claude Code, enabling cross-session, cross-tool sharing of project facts, user preferences, decisions, and workflows.36 npm2MIT
- AlicenseNot gradedqualityAmaintenanceProvides persistent long-term memory (semantic RAG) for AI coding assistants, enabling them to store and semantically search code and documentation across chat sessions without token limits.5MIT