Skip to main content
Glama

๐ŸŒ ็ฎ€ไฝ“ไธญๆ–‡ | ็น้ซ”ไธญๆ–‡ | 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

# 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:

    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

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

๐Ÿ› ๏ธ 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 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.

๐Ÿ“Š 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

.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

# 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.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

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

  • ๐Ÿ” recall search 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)

See CHANGELOG-archive.md

๐ŸŒ HTTP API

้™คไบ† MCP ๅ่ฎฎ๏ผŒ่ฟ˜ๆไพ›ไบ† HTTP API ๆŽฅๅฃ๏ผŒไพฟไบŽๅคšไธช Agent ็›ดๆŽฅ่ฐƒ็”จใ€‚

ๅฏๅŠจ HTTP ๆœๅŠกๅ™จ

# ้œ€่ฆ Node.js ็Žฏๅขƒ
cd scripts
node aivectormemory-http-server.js

ๆœๅŠกๅ™จ้ป˜่ฎค็ซฏๅฃ๏ผš9081

API ็ซฏ็‚น

็ซฏ็‚น

ๆ–นๆณ•

ๅŠŸ่ƒฝ

/health

GET

ๅฅๅบทๆฃ€ๆŸฅ

/remember

POST

ๅญ˜ๅ…ฅ่ฎฐๅฟ†

/recall

POST

่ฏญไน‰ๆœ็ดข

/forget

POST

ๅˆ ้™ค่ฎฐๅฟ†

/status

POST

ไผš่ฏ็Šถๆ€

/track

POST

้—ฎ้ข˜่ทŸ่ธช

/task

POST

ไปปๅŠก็ฎก็†

/readme

POST

README ็”Ÿๆˆ

/auto_save

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 tools
auto_saveB

ใ€ๆฏๆฌกๅฏน่ฏ็ป“ๆŸๅ‰ๅฟ…้กป่ฐƒ็”จใ€‘่‡ชๅŠจไฟๅญ˜็”จๆˆทๅๅฅฝใ€‚

ParametersJSON Schema
NameRequiredDescriptionDefault
extra_tagsNo้ขๅค–ๆ ‡็ญพ
preferencesNo็”จๆˆท่กจ่พพ็š„ๆŠ€ๆœฏๅๅฅฝ๏ผˆๅ›บๅฎš scope=user๏ผŒ่ทจ้กน็›ฎ้€š็”จ๏ผ‰

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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

ๅˆ ้™คไธ€ๆกๆˆ–ๅคšๆก่ฎฐๅฟ†ใ€‚

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoๆŒ‰ๆ ‡็ญพๆ‰น้‡ๅˆ ้™ค๏ผŒๅˆ ้™คๆ‰€ๆœ‰ๅŒน้…ๆ ‡็ญพ็š„่ฎฐๅฟ†
scopeNo้…ๅˆ tags ไฝฟ็”จ๏ผŒ้™ๅฎšๅˆ ้™ค่Œƒๅ›ดall
memory_idNoๅ•ไธช่ฎฐๅฟ† ID
memory_idsNoๅคšไธช่ฎฐๅฟ† ID

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 ๅ†…ๅฎน๏ผŒๆ”ฏๆŒๅคš่ฏญ่จ€ๅ’Œๅทฎๅผ‚ๅฏนๆฏ”ใ€‚

ParametersJSON Schema
NameRequiredDescriptionDefault
langNo่ฏญ่จ€๏ผšen/zh-TW/ja/de/fr/esen
actionNogenerate=็”Ÿๆˆๅ†…ๅฎน, diff=ๅฏนๆฏ”ๅทฎๅผ‚generate
sectionsNoๆŒ‡ๅฎš็”Ÿๆˆ็š„็ซ ่Š‚๏ผˆๅฏ้€‰๏ผ‰๏ผšheader/tools/deps

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

่ฏญไน‰ๆœ็ดขๅ›žๅฟ†่ฎฐๅฟ†ใ€‚้€š่ฟ‡ๅ‘้‡็›ธไผผๅบฆๅŒน้…๏ผŒๅณไฝฟ็”จ่ฏไธๅŒไนŸ่ƒฝๆ‰พๅˆฐ็›ธๅ…ณ่ฎฐๅฟ†ใ€‚

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoๆŒ‰ๆ ‡็ญพ่ฟ‡ๆปคใ€‚query+tags ๆ—ถ้ป˜่ฎค OR ๅŒน้…๏ผˆไปปไธ€ๆ ‡็ญพๅ‘ฝไธญๅณๅฏ๏ผ‰๏ผŒไป… tags ๆ—ถ้ป˜่ฎค AND ๅŒน้…๏ผˆ็ฒพ็กฎๅˆ†็ฑปๆต่งˆ๏ผ‰
briefNo็ฒพ็ฎ€ๆจกๅผ๏ผštrue ๆ—ถๅช่ฟ”ๅ›ž content ๅ’Œ tags๏ผŒ็œ็•ฅ id/session_id/created_at ็ญ‰ๅ…ƒๆ•ฐๆฎ๏ผŒ้€‚ๅˆๅฏๅŠจๅŠ ่ฝฝๅœบๆ™ฏ่Š‚็œไธŠไธ‹ๆ–‡
queryNoๆœ็ดขๅ†…ๅฎน๏ผˆ่ฏญไน‰ๆœ็ดข๏ผŒๅฏ้€‰๏ผ‰
scopeNoall
top_kNo่ฟ”ๅ›ž็ป“ๆžœๆ•ฐ้‡
sourceNoๆŒ‰ๆฅๆบ่ฟ‡ๆปค๏ผšmanual=้กน็›ฎ็Ÿฅ่ฏ†, experience=ๅฝ’ๆกฃ็ป้ชŒใ€‚ไธไผ ๅˆ™ไธ่ฟ‡ๆปค
tags_modeNoๆ ‡็ญพๅŒน้…ๆจกๅผ๏ผšany=ไปปไธ€ๅŒน้…๏ผŒall=ๅ…จ้ƒจๅŒน้…ใ€‚้ป˜่ฎคๆ™บ่ƒฝ้€‰ๆ‹ฉ๏ผˆquery+tagsโ†’any๏ผŒไป…tagsโ†’all๏ผ‰

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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ๅˆ™ๆ›ดๆ–ฐ๏ผ‰ใ€‚

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsYesๆ ‡็ญพๅˆ—่กจ
scopeNoไฝœ็”จๅŸŸproject
contentYes่ฎฐๅฟ†ๅ†…ๅฎน๏ผŒMarkdown ๆ ผๅผใ€‚ๅ‘ฝไปค็ฑป้กปๅซๅฎŒๆ•ดๅฏๆ‰ง่กŒๅ‘ฝไปค๏ผŒๆต็จ‹็ฑป้กปๅซๅ…ทไฝ“ๆญฅ้ชค๏ผŒ็ฆๆญขๆจก็ณŠ็ผฉๅ†™

TDQS

B3.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 ไผš่ฟ‡ๆปค็ฉบๆ•ฐ็ป„๏ผ‰ใ€‚

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNo่ฆๆ›ดๆ–ฐ็š„ๅญ—ๆฎต๏ผˆ้ƒจๅˆ†ๆ›ดๆ–ฐ๏ผ‰ใ€‚progress ไธบๅช่ฏปๅญ—ๆฎต๏ผŒไผ ๅ…ฅไผš่ขซๅฟฝ็•ฅใ€‚
clear_fieldsNo่ฆๆธ…็ฉบ็š„ๅˆ—่กจๅญ—ๆฎตๅใ€‚็”จไบŽ็ป•่ฟ‡้ƒจๅˆ† IDE ่ฟ‡ๆปค็ฉบๆ•ฐ็ป„็š„้—ฎ้ข˜๏ผŒไพ‹ๅฆ‚ไผ  ["pending"] ็ญ‰ๅŒไบŽ state.pending=[]ใ€‚

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 ๅฐ†ๆŒ‡ๅฎšๅŠŸ่ƒฝ็ป„็š„ๆ‰€ๆœ‰ไปปๅŠก็งปๅ…ฅๅฝ’ๆกฃ่กจใ€‚

ParametersJSON Schema
NameRequiredDescriptionDefault
tasksNoไปปๅŠกๅˆ—่กจ๏ผˆbatch_create๏ผ‰
titleNoไปปๅŠกๆ ‡้ข˜๏ผˆupdate ๆ—ถๅฏ้€‰ไฟฎๆ”น๏ผ‰
actionYes
statusNoไปปๅŠก็Šถๆ€
task_idNoไปปๅŠก ID๏ผˆupdate๏ผ‰
feature_idNoๅ…ณ่”็š„ๅŠŸ่ƒฝๆ ‡่ฏ†๏ผˆlist ๆ—ถๅฟ…ๅกซ๏ผ‰

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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ใ€‚

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoๆ—ฅๆœŸ YYYY-MM-DD
briefNolist ๆ—ถๆ˜ฏๅฆๅช่ฟ”ๅ›žๆ‘˜่ฆ๏ผˆid/title/status/date๏ผ‰๏ผŒ้ป˜่ฎค trueใ€‚้œ€่ฆ่ฏฆๆƒ…็”จ issue_id ๆŸฅๅ•ๆก
limitNolist ๆ—ถ่ฟ”ๅ›žๆกๆ•ฐไธŠ้™๏ผŒ้ป˜่ฎค 50
notesNoๆณจๆ„ไบ‹้กน
titleNo้—ฎ้ข˜ๆ ‡้ข˜๏ผˆcreate๏ผ‰
actionYes
statusNo
contentNo้—ฎ้ข˜ๆ่ฟฐ๏ผˆcreate ๆ—ถๅฟ…ๅกซ๏ผŒ็ฎ€่ฟฐ้—ฎ้ข˜็Žฐ่ฑกๅ’Œ่ƒŒๆ™ฏ๏ผ‰
issue_idNolist ๆ—ถไผ ๅ…ฅๅฏๆŸฅๅ•ๆก้—ฎ้ข˜๏ผˆๆดป่ทƒ+ๅฝ’ๆกฃ้ƒฝๆŸฅ๏ผ‰๏ผŒ้ฟๅ…ๆ‹‰ๅ…จ้‡ๅˆ—่กจ
solutionNo่งฃๅ†ณๆ–นๆกˆ
parent_idNo็ˆถ้—ฎ้ข˜ ID๏ผˆcreate๏ผŒๅฏ้€‰๏ผŒ้ป˜่ฎค 0๏ผ‰
feature_idNoๅ…ณ่”ๅŠŸ่ƒฝๆ ‡่ฏ†
root_causeNoๆ นๆœฌๅŽŸๅ› 
descriptionNo้—ฎ้ข˜ๆ่ฟฐ
test_resultNo่‡ชๆต‹็ป“ๆžœ
files_changedNoไฟฎๆ”นๆ–‡ไปถๆธ…ๅ•๏ผˆJSON ๆ•ฐ็ป„๏ผ‰
investigationNoๆŽ’ๆŸฅ่ฟ‡็จ‹๏ผˆ้€ๆญฅ่ฎฐๅฝ•๏ผ‰

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 8 tool updatesv1.0.10
    • First observedauto_save
    • First observedforget
    • First observedreadme
    • First observedrecall
    • First observedremember
    • First observedstatus
    • First observedtask
    • First observedtrack

TDQS

B3.4/5.0

Scored across 8 tools

Disambiguation4/5

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.

Naming Consistency3/5

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.

Tool Count4/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers