Skip to main content
Glama
Zehee

Kimi Code Memory MCP Server

by Zehee

Kimi Code Memory MCP Server

English

CI npm version License: MIT

一个为 Kimi Code CLI 提供跨会话记忆的本地 stdio MCP 服务器。

注意: 本包已发布到 npm,包名为 kimi-code-memory-mcp-server。你可以直接安装,也可以从源码运行。

特性

  • Markdown 优先的记忆 —— 人类可读、适合 git、兼容 LLM。

  • 结构化长期记忆 —— memory/decisions/memory/knowledge/memory/rules/memory/reference/

  • 工作区精要 —— 从 memory/ 提炼生成的浓缩摘要(≤15 KB)。

  • 跨会话上下文恢复 —— 直接解析 Kimi Code CLI 的 wire.jsonl

  • 主题追溯 —— 将对话轮次和记忆关联到主题,并追踪其演化。

  • 精炼轮次摘要 —— 可在多个主题间共享的轮次级原子摘要。

  • 可重建索引 —— index.json 只是缓存,.md 文件才是真相来源。

  • 主题与搜索视图删除 —— 支持删除低质量主题或搜索视图,并可选择级联清理其关联的精炼轮次。

  • 可视化仪表盘增强 —— 工作区标题动态显示文件夹名、Markdown 默认只读、轻量级渲染预览、主题/搜索视图删除。

Related MCP server: ai-memory-mcp

主题追溯

传统的上下文管理只关注纵向:时间越近越清晰,越久越远越衰减。但这忽略了真实工作的一个核心特征:

同一个 workspace 中的多次会话,往往不是单一叙事,而是多条主题线交织并行。

例如:

  • Session A:开发 auth 鉴权

  • Session B:讨论orders数据表的迁移问题

  • Session C:加密RSA+解密BCrypt+验证码CAPTCHA+Cookie

  • Session D:fix sql error bug

  • Session E: 登录Login API设计

如果只看纵向,这些 session 彼此独立。但如果横向扫描,会发现 A、C、E 都属于"注册登录"这一主题。

主题追溯就是:把时间线上的每个 turn 看作一个圆柱,圆柱的高度代表该 turn 的计算/思考深度,颜色/标签代表主题。我们甚至可以从kimi code已经压缩归档的上下文中再次挖掘,进行深度横向扫描,把同色圆柱(对话轮turns)找出来,重新建立关联,组成theme并存入记忆。当我们三周以后准备升级的我们的“注册登录”模块,或者修复某个bug的时候,不是对着已经压缩过无数次上下文的agent,重新描述对其当时的设计思路和方案,而是你的agent说:“刚刚通过trace_theme("注册登录")这个主题,发现根据3周前的设计决策和中间经历的2次调整改进,现在的问题我们应该用方案B。”

下图展示了 kimi-memory 如何看待对话历史:竖条是时间轴上的 turn,粗横线是簇,灰框是 session,彩色括号把跨 session 的相关 turns / clusters 串联成主题线。

时间轴上的 turns、簇、session 与主题追溯

下面是一段真实的 Kimi Code CLI 会话动图,使用 kimi-memory。用户先后要求总结 MCP 记忆服务器的演进历史、以及 E2E 测试工具的演进历史;Agent 跨会话召回相关记忆与对话 turns,并生成结构化总结。

Kimi Memory MCP Server 演示

相关工具:tag_themetrace_themelist_themessearch_contextrefine_session_turnsload_turn_context

为什么用 Markdown?

大多数 Agent 记忆系统默认使用向量数据库。这在模糊检索场景有效,但也让记忆变得不透明、难以审计、难以版本控制。

本项目从相反的假设出发:

记忆在存储之前应该经过判断、结构化,并由用户拥有

Markdown + YAML frontmatter 带来:

  • 完全可读、可编辑

  • 原生支持 git diff

  • 无需外部数据库或云服务

  • 兼容任何能读取文本的 LLM

设计 rationale 见 docs/ARCHITECTURE.md

安装

需要 Node.js ≥ 22.13(内置 node:sqlite,无需原生编译依赖)。

从 npm 安装(推荐)

npm install -g kimi-code-memory-mcp-server

从源码安装

git clone https://github.com/Zehee/kimi-code-memory-mcp-server.git
cd kimi-code-memory-mcp-server
npm install
npm run build

快速配置(推荐)

运行 setup 命令自动配置 Kimi Code CLI。kimi-memory-setupkimi-code-memory-mcp-server 包提供的 bin(registry 上没有同名独立包),二选一:

# 已按上文全局安装:bin 已在 PATH 上,直接运行
kimi-memory-setup

# 未全局安装:让 npx 从包中解析该 bin
npx -p kimi-code-memory-mcp-server kimi-memory-setup

它会完成:

  1. 检测 ~/.kimi-code 目录。

  2. ~/.kimi-code/AGENTS.md 顶部注入记忆协议规则。

  3. memory-manage Skill 安装到 ~/.kimi-code/skills/memory-manage

  4. ~/.kimi-code/mcp.json 中添加 kimi-memory MCP 服务器配置。

预览变更而不写入文件:

kimi-memory-setup --dry-run

后续如需移除注入的配置:

kimi-memory-setup --undo

配置 Kimi Code CLI(手动)

如果你希望手动配置,编辑 ~/.kimi-code/mcp.json 并添加服务器。

如果你用 npm install -g 安装,使用全局 node_modulesdist/server.js 的绝对路径:

{
  "mcpServers": {
    "kimi-memory": {
      "command": "node",
      "args": ["/absolute/path/to/global/node_modules/kimi-code-memory-mcp-server/dist/server.js"],
      "enabled": true
    }
  }
}

Windows 原生二进制注意kimi web(原生 kimi.exe)的进程环境可能不包含 npm 的 bin 目录,裸 node / npx 会报 spawn ... ENOENT。此时把 command 换成 node.exe 的绝对路径(如 D:\\Programs\\nodejs\\node.exe)。kimi-memory-setup 生成的配置会自动使用绝对路径,推荐优先使用 setup。

或者直接通过 npx 运行(无需安装;仅限 npx 在客户端进程 PATH 中可用的环境,且每次启动有 registry 解析开销):

{
  "mcpServers": {
    "kimi-memory": {
      "command": "npx",
      "args": ["-y", "kimi-code-memory-mcp-server"],
      "enabled": true
    }
  }
}

如果你从源码构建,指向本地 dist/server.js

{
  "mcpServers": {
    "kimi-memory": {
      "command": "node",
      "args": ["/absolute/path/to/kimi-code-memory-mcp-server/dist/server.js"],
      "enabled": true
    }
  }
}

服务器名称 kimi-memory 很重要,因为本仓库自带的 AGENTS.md 规则以 mcp__kimi-memory__* 形式调用工具(例如 mcp__kimi-memory__bootstrap_workspace)。

重启 Kimi Code CLI 以加载该服务器。

故障排查

  • spawn npx ENOENT / spawn node ENOENT:客户端进程找不到命令(常见于原生 Windows 二进制)。把 mcp.json 里的 command/args 改为 Node 与 dist/server.js 的绝对路径,或运行 kimi-memory-setup --force 重新生成。

  • 改了 mcp.json/new 后仍不生效:MCP server 在会话启动时加载,且连接失败会被当前 kimi web 进程缓存,/new 不会重试——需要重启 kimi web(或 CLI)。

  • 切换工作区后 MCP 不可用:0.4.1 之前版本存在 vis dashboard 端口竞态,会拖垮 MCP 进程;升级到 0.4.1+ 并重启 kimi web

  • 客户端连接日志见 ~/.kimi-code/logs/kimi-code.log

可选:安装用户级 AGENTS.md 启动钩子

如需每次会话启动时自动恢复记忆并应用行为规范,将本仓库自带的 AGENTS.md 复制到 Kimi Code 用户目录:

cp AGENTS.md ~/.kimi-code/AGENTS.md

这会安装一个启动钩子,让 Kimi Code CLI 在每次会话开始时调用 bootstrap_workspace,并遵循记忆分类和决策守卫规则。由于 AGENTS.md 会注入到每个会话中,它是放置记忆相关行为协议的正确位置。

注意: AGENTS.md 规则会注入到每个会话中,请只保留与记忆相关的约定,不要包含属于其他 MCP server 的工具偏好。

前提条件: 必须在 ~/.kimi-code/mcp.json 中将 MCP 服务器注册为 kimi-memory,否则 AGENTS.md 中的 mcp__kimi-memory__* 调用会失败。

可选:安装记忆 Skill

本仓库还包含一个轻量 Skill(skills/memory-manage/SKILL.md),用于在用户表达记忆相关意图时提醒 Kimi Code CLI 调用记忆工具。

cp -r skills/memory-manage ~/.kimi-code/skills/memory-manage

该 Skill 本身不强制行为,它只是一个调度器。真正的协议(何时 remember、决策守卫等)应配置在 AGENTS.md 中。

快速开始

服务器加载后,Agent 可以自然地调用记忆工具(工具名带有你在 MCP 配置中注册的 server 名称前缀,例如 mcp__kimi-memory__*):

用户:我们用 SQLite 作为缓存层。
Agent:[调用 mcp__kimi-memory__remember] key=use-sqlite-cache, folder=memory/decisions

用户:为什么选 SQLite?
Agent:[调用 mcp__kimi-memory__search] query=SQLite cache decision
       [调用 mcp__kimi-memory__recall] key=use-sqlite-cache, folder=memory/decisions
       → "我们选择 SQLite 而不是 Redis,因为……"

用户:缓存设计是怎么演化的?
Agent:[调用 mcp__kimi-memory__tag_theme] theme=cache-design
       [调用 mcp__kimi-memory__trace_theme] theme=cache-design
       → 展示跨会话的相关轮次和决策

存储布局

服务器将数据存储在 ~/.kimi-code-memory/<workspace-id>/ 下:

~/.kimi-code-memory/workspace-a1b2c3d4/
├── index.json              # v3-kv 元数据缓存(可重建)
├── memory/
│   ├── decisions/          # 架构与产品决策
│   ├── knowledge/          # 项目相关知识
│   ├── rules/              # 约定与红线
│   └── reference/          # 外部参考
├── essence/
│   └── essence.md          # 工作区精要(≤15 KB)
├── notes/                  # 临时速记
├── themes/
│   └── my-theme.json       # theme -> turn/memory 引用
└── refined/
    └── refined.sqlite      # 轮次级摘要

可通过 MEMORY_STORE_ROOT 环境变量覆盖存储根目录。

环境变量

变量

用途

MEMORY_STORE_ROOT

覆盖默认存储根目录 ~/.kimi-code-memory

MEMORY_SESSIONS_ROOT

覆盖默认的 ~/.kimi-code/sessions 路径,用于发现 wire.jsonl 文件。

KIMI_CODE_HOME

MEMORY_SESSIONS_ROOT 的替代方案;会话从 <KIMI_CODE_HOME>/sessions 读取。

KIMI_MEMORY_AUTO_VIS

是否在 MCP 服务器启动时自动启动仪表盘。默认 1/true;设为 0/false 禁用。

KIMI_MEMORY_VIS_PORT

仪表盘起始端口,默认 58628;若被占用会自动向后尝试 10 个端口。

KIMI_MEMORY_VIS_HOST

仪表盘绑定地址,默认 127.0.0.1

工具列表

工具

用途

remember

写入一条 Markdown 记忆

recall

按 key 读取记忆

search

在记忆中关键词搜索

list

列出记忆,支持按 folder / tag 过滤和 limit 限制

list_tags

列出所有标签

delete

删除记忆

move

移动或重命名记忆

organize_memories

memory/ 提炼为 essence/essence.md

sync_workspace_index

从磁盘重建 index.json

bootstrap_workspace

加载上下文、精要和记忆树

load_more_context

加载更早的对话轮次

search_context

跨所有会话 wire 搜索

load_turn_context

加载指定轮次详情

tag_theme

将轮次或记忆关联到主题

trace_theme

追溯主题演化

list_themes

列出主题

delete_theme

删除主题关联文件

list_search_views

列出保存的搜索视图

delete_search_view

删除搜索视图(可选级联删除关联精炼轮次)

open_memory_dashboard

在浏览器中打开记忆仪表盘

refine_session_turns

生成精炼轮次摘要

Prompts

本服务器同时提供可复用的 MCP Prompt,供客户端在调用工具前拉取:

Prompt

用途

memory-decision-check

修改文件前,先检查与其相关的历史决策

memory-theme-trace

追溯某个主题在多次会话中的演化

memory-session-summary

总结当前会话,并建议值得挂载的主题

Resources

本服务器暴露以下 MCP Resource URI,客户端可按需读取:

URI 模式

说明

memory://<folder>/<key>

读取 memory/ 下的某条 Markdown 记忆

theme://<theme>

读取某个主题的关联摘要(Markdown 格式)

essence://essence

读取工作区精要 essence/essence.md

可视化仪表盘

提供独立的 Web 仪表盘,用于查看工作区记忆、主题时间线和近期决策。

启动方式

  1. 随 MCP 服务器自动启动(默认)

    kimi-code-memory-mcp-server 启动后会自动在后台启动仪表盘,并尝试打开浏览器。默认地址:

    http://127.0.0.1:58628

    若端口被占用,会自动尝试 5862958637

    如需禁用自动启动:

    export KIMI_MEMORY_AUTO_VIS=0
  2. 手动独立启动

    安装包后:

    kimi-memory-vis

    从源码运行:

    npx tsx src/vis-cli.ts

    常用选项:

    kimi-memory-vis --port 8080        # 指定端口
    kimi-memory-vis --no-open          # 不自动打开浏览器
    kimi-memory-vis --workspace /path  # 查看其他工作区
  3. 在对话中让 Agent 打开

    让 Agent 调用记忆工具:

    mcp__kimi-memory__open_memory_dashboard

环境变量

变量

用途

KIMI_MEMORY_AUTO_VIS

是否在 MCP 服务器启动时自动启动仪表盘。默认 1/true;设为 0/false 禁用。

KIMI_MEMORY_VIS_PORT

仪表盘起始端口,默认 58628

KIMI_MEMORY_VIS_HOST

仪表盘绑定地址,默认 127.0.0.1

仪表盘功能

  • 工作区概览与 essence.md 浏览/编辑(默认只读,点击“编辑”后修改)

  • Markdown 文档轻量级渲染,超长内容自带滚动条

  • 主题时间线浏览与主题删除

  • 搜索视图列表与删除(支持仅删视图或级联清理精炼轮次)

  • 近期决策列表

  • 显式记忆目录浏览

  • 控制面板标题与面包屑根目录显示为用户工作区文件夹名

开发

git clone https://github.com/Zehee/kimi-code-memory-mcp-server.git
cd kimi-code-memory-mcp-server
npm install
npm run build
npm test
npm run lint

贡献指南见 docs/CONTRIBUTING.md

项目结构

src/
├── server.ts              # MCP 服务器入口
├── config.ts              # 默认值与路径
├── theme-manager.ts       # 主题存储
├── refined-manager.ts     # 精炼轮次存储
├── dao/
│   ├── index.ts           # index.json DAO(v3-kv)
│   └── memory-store.ts    # Markdown 文件操作
├── context/
│   └── wire-context.ts    # wire.jsonl 解析
├── tools/
│   ├── index.ts           # 工具 schema 与分发
│   ├── memory-tools.ts    # 记忆增删改查
│   ├── context-tools.ts   # 上下文恢复
│   ├── theme-tools.ts     # 主题追溯
│   └── system-tools.ts    # 整理/同步/引导
└── utils/
    ├── frontmatter.ts
    ├── paths.ts
    └── validation.ts

路线图

  • 模块化源码结构

  • ESLint + Prettier

  • 基础集成测试

  • 上下文/主题工具核心测试覆盖

  • 可选本地 embedding 搜索

  • 可选 LLM 精炼轮次

  • 可插拔 wire 格式适配器

  • 内存使用 benchmark

相关文档

许可证

MIT

Available Tools

22 tools
bootstrap_workspaceB

Session bootstrap: loads workspace context, essence, notes refs, and a memory index tree with recent changes marked [new].

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNoIf true, return recent context even when the current session already has turns.
summary_roundsNoNumber of preceding rounds to return as summaries.
detailed_roundsNoNumber of most recent rounds to return in full detail.

TDQS

B3.3/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 burden, and it does disclose what content is loaded and that recent changes are marked [new]. However, it does not disclose side-effect behavior, whether repeated calls behave differently, or any requirement to call it before other tools. The 'force' behavior is only in the schema, not the description.

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?

One tightly packed sentence, front-loaded with 'Session bootstrap' and then listing the payload elements. Every phrase earns its place, and there is no redundant filler.

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 simple bootstrap tool with no output schema and three optional parameters, the description gives a solid summary of what is returned. Yet it does not mention that calling it again during an active session may return minimal data unless force=true, and it does not orient the agent against adjacent context-loading tools. This is a reasonable but not fully complete description.

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 baseline is 3 and the schema already documents all three parameters clearly. The description adds no parameter-specific meaning, but it does not need to compensate for missing schema coverage.

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 uses a specific verb ('loads') and enumerates distinct resources: workspace context, essence, notes refs, and a memory index tree with [new] markers. It clearly communicates what the tool does, though it does not explicitly contrast itself with related sibling tools like get_current_workspace or load_more_context.

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 phrase 'Session bootstrap' implies this is the initial context-loading call, but there is no explicit guidance on when to use it versus sibling tools such as load_more_context, load_turn_context, or get_current_workspace. No alternatives or exclusions are mentioned, leaving the agent to infer usage timing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deleteA

Delete a memory entry by key and folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesMemory key
folderNoSubfolder (default: memory)

TDQS

A3.8/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 burden of behavioral disclosure. It clearly conveys the destructive nature of the action ('Delete') and the scoping via folder, but does not mention irreversibility, error behavior, or side effects. This is adequate for a simple delete but not detailed.

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 concise sentence that front-loads the verb and includes both relevant parameters. Every word earns its place, with no filler or repetition.

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?

Given the tool's simplicity—2 parameters, no output schema, no nested objects—the description plus full schema coverage provide sufficient information for correct invocation. A note on default folder behavior or consequences would be valuable, but is not essential for a basic 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 input schema already documents key and folder with descriptions. The description adds 'by key and folder', which aligns with the parameters but does not provide additional semantic meaning beyond the schema.

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 a specific verb ('Delete') and resource ('memory entry'), and specifies the targeting criteria ('by key and folder'). It distinguishes this tool from sibling tools like delete_search_view and delete_theme by indicating it operates on memory entries.

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?

The description implies usage for deleting memory entries by key and folder, which is a clear operational intent. However, it provides no explicit when-to-use guidance or comparison to alternatives such as move or organize_memories, leaving some room for interpretation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_search_viewA

Delete a saved search view. Set deleteRefinedTurns to true to also remove the refined turns referenced by this view (useful for purging low-quality refined data).

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesSearch view file key (e.g. search-abc123.json without extension)
deleteRefinedTurnsNoIf true, also delete all refined turns referenced by this view.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description clearly discloses the destructive action and the conditional removal of refined turns referenced by the view. It also provides a rationale for the flag, though it does not mention irreversibility or permission requirements.

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 consists of two efficient sentences: the primary action is front-loaded, and the optional behavior is explained in the second sentence. There is no filler or redundant detail.

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?

Given the low complexity, the description covers the core behavior and optional side-effect while the schema handles parameter details. It omits guidance on locating view keys (e.g., via list_search_views) and on the permanence of deletion, but these are not critical for a simple 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?

The schema already documents both parameters with 100% coverage, so the baseline is 3. The description adds only the rationale 'purging low-quality refined data' for deleteRefinedTurns and does not add information about the key parameter beyond what the schema already provides.

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 states a specific verb ('delete') and resource ('saved search view'), making the tool's function clear and unambiguous. It also mentions the optional deletion of refined turns, which helps distinguish it from generic sibling tools like 'delete'.

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?

The description implies this tool should be used to delete saved search views but gives no explicit guidance on when to use it versus alternatives or exclusions. The only usage direction is for the optional deleteRefinedTurns flag, not for selecting this tool over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_themeA

Delete a theme association file. This does not delete the refined turns or memories referenced by the theme.

ParametersJSON Schema
NameRequiredDescriptionDefault
themeYesTheme identifier to delete

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does disclose the key boundary: referenced refined turns and memories are preserved. However, it does not mention permanence, side effects on lists/indices, or permission requirements, leaving gaps.

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?

Two short sentences with no filler; the primary operation is front-loaded and the crucial side-effect clarification follows immediately.

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?

For a one-parameter operation with no output schema and full schema coverage, the description is largely complete: it states the action, the affected resource, and what is not affected. Only minor details like reversibility are absent.

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?

The schema already fully describes theme as 'Theme identifier to delete' (100% coverage), and the description adds no additional format, source, or usage detail. Baseline 3 applies because the schema handles the parameter documentation.

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 states the exact action (delete a theme association file) and explicitly scopes it: it does not delete refined turns or memories. This distinguishes it from the generic sibling delete and tells an agent precisely what resource is affected.

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?

The description implies the tool is for removing just the theme association while preserving referenced turns/memories, but it does not explicitly say when to prefer it over the similarly named delete or tag_theme/trace_theme siblings. Usage context is inferable, not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_current_workspaceA

Return the current cwd, workspace id and store path.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/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 clearly enumerates the return values, which implies a read-only operation, but it does not explicitly state that there are no side effects, nor does it clarify what 'current' means or how failures are handled. For a simple getter this is adequate but not fully transparent.

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?

A single, front-loaded sentence with no filler. Every word earns its place, and the three return items are listed succinctly.

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?

For a zero-parameter, read-only getter, the description covers the essential information: what it returns. The absence of an output schema is mitigated by the explicit enumeration of returned fields. It might additionally state that no modifications occur, but the tool's simplicity makes this less critical.

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?

The input schema has zero parameters, so the baseline is 4. There are no parameter details needed; the description correctly focuses on return values.

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 uses a specific verb ('Return') and identifies the exact resource: current cwd, workspace id, and store path. There is no ambiguity about what the tool does, and it is easily distinguished from the sibling tools, none of which target the current workspace.

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?

The description states what the tool returns but does not explicitly explain when to use it versus alternatives. The intended use is implied by the tool's unique purpose and zero parameters, but there is no direct guidance or mention of exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listA

List memory entries in the workspace, sorted by most recently updated.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoFilter to entries containing this tag
limitNoMaximum number of entries to return (default: all)
folderNoFilter to a specific subfolder

TDQS

A4/5.0
Behavior3/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 discloses the sort order but does not explicitly state that the operation is read-only, whether pagination exists, or what fields are returned for each entry. These are only lightly implied by the word 'List'.

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?

One concise sentence front-loads the core verb and resource, then appends the sort order. Every word adds information and there is no irrelevant detail.

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?

For a simple listing operation, the description plus the fully documented schema are sufficient to invoke the tool correctly. The only missing context is explicit guidance about when to prefer this over search/recall, which is a secondary gap given the tool's low complexity.

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?

All three parameters have descriptive schema entries (100% coverage), so the description adds no additional param semantics. The baseline of 3 applies because the schema already documents tag, limit, and folder.

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 names a specific verb ('List'), resource ('memory entries'), scope ('the workspace'), and ordering ('most recently updated'), which fully clarifies what the tool does. This distinguishes it from sibling listing tools such as list_tags and list_themes, which target different resources.

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 intended use is stated directly: list memory entries in the current workspace, with optional tag/folder filters. It does not mention alternatives like search or recall, so some selection nuance is left to the agent, but the core use case is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_search_viewsA

List saved search views. Each view records the clusters discovered by a previous search_context call. Use these views as candidate sets before creating or extending a theme.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of recent views to return

TDQS

A4/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 behavioral burden. It discloses that views are persisted records tied to search_context calls, which is useful context, and 'List' implies a read-only operation. However, it does not explicitly state side-effect-free behavior or any ordering/pagination details beyond the schema's 'recent views' hint, leaving some behavioral ambiguity.

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 three short sentences, each adding distinct value: the core purpose, the definition of a view, and the practical use case. It is front-loaded with the action, has no redundancy, and every sentence earns its place.

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?

For a simple list tool with one optional parameter and no output schema, the description covers what the tool returns (views), why the data matters (clusters from search_context), and when it should be used (before creating/extending a theme). It does not describe the exact fields of a view, but the low complexity and clear naming make this a minor gap.

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?

The only parameter, 'limit', is already fully described in the schema as 'Maximum number of recent views to return.' Since schema description coverage is 100%, the description does not need to add parameter detail, and it does not. This meets the baseline for schema-covered parameters.

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 opens with a precise verb and resource, 'List saved search views,' which is unambiguous. It further distinguishes the tool by explaining that a view records clusters from a previous search_context call, setting it apart from siblings like list_tags and list_themes.

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 gives clear contextual guidance: 'Use these views as candidate sets before creating or extending a theme.' This tells the agent when to use the tool, though it does not explicitly name alternatives or state when-not-to-use conditions, so it stops short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tagsA

List all tags used in the current workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the behavioral burden. 'List all tags' signals a read-only operation, but it does not disclose return format, ordering, whether tags include metadata, or any potential limitations. This is adequate for a simple list operation but not deeply transparent.

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?

A single concise sentence with no filler or redundant phrasing. Every word adds meaning, and the key scope ('current workspace') is included.

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?

For a zero-parameter read tool, the description is mostly complete: it states the action, resource, and scope. It lacks output format details, but no output schema is provided, so an agent may not know the exact response shape. Still, it is sufficient to select and invoke the tool correctly.

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?

The tool has zero parameters, so no parameter documentation is needed. The baseline for zero-parameter tools is 4, and the description adds sufficient context by clarifying the scope as 'current workspace.'

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 uses a specific verb ('List') and resource ('tags'), and scopes it to the current workspace. It clearly distinguishes from sibling tools like list_themes and generic list.

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?

The use case is implied: call this tool when you need the tags in the current workspace. However, there is no explicit guidance about when to prefer this over related tools such as list, search_context, or list_themes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_themesA

List all theme identifiers stored in the current workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. 'List' reasonably implies a read-only, non-destructive operation, and 'identifiers' clarifies the granularity of results. However, it does not disclose ordering, failure behavior, or whether the operation accesses persistent storage or memory, which would add useful transparency.

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 concise sentence that front-loads the core action and resource. Every word contributes meaning, with no filler or redundant detail.

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?

For a zero-parameter tool, the description is nearly complete: it states the action, result granularity, and workspace scope. The absence of an output schema means the description could optionally specify the return format, but 'list theme identifiers' adequately conveys that the result is a collection of identifiers.

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?

The tool has zero parameters and an empty schema, so there is nothing to document. Baseline 4 applies because no parameter explanation is needed and the description is not missing any parameter semantics.

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 states a specific verb ('List'), a precise resource ('theme identifiers'), and a scope ('current workspace'). This clearly differentiates it from the sibling tool 'list_tags', which targets tags rather than themes.

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 implies when to use the tool (when you need all theme identifiers), but it provides no explicit guidance about when not to use it or when a sibling tool like 'tag_theme', 'trace_theme', or 'search' would be more appropriate. No alternatives or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

load_more_contextA

Load older conversation rounds from the active wire.jsonl, summarized, before a given turn id.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of older rounds to return.
before_turn_idYesExclusive turn id; return rounds older than this.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It does disclose the key behavioral trait that rounds are 'summarized' and that the source is the 'active wire.jsonl', but it does not mention read-only behavior, limits, default values, or potential side effects. This is acceptable but not fully transparent.

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, compact sentence with no filler. It front-loads the action and resource, then adds the key qualifiers: 'summarized' and 'before a given turn id'. Every element contributes to understanding.

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?

For a relatively simple tool with two well-documented parameters, the description is mostly complete. It conveys source, output style, and the core selection criterion, though it could optionally clarify return format or default limits since there is no output schema.

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 schema already documents both parameters well. The description adds useful context about 'older rounds' and 'before a given turn id', but does not add substantial new parameter meaning beyond the schema.

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 a specific verb ('Load'), a specific resource ('older conversation rounds from the active wire.jsonl'), and a scoping condition ('before a given turn id'). The 'summarized' qualifier further distinguishes it from tools that return raw context or current turn context.

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 clearly implies when to use this tool: when older, summarized conversation rounds are needed relative to a specific turn. It does not explicitly name alternatives or exclusions, but the context is clear enough for an agent to select it appropriately among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

load_turn_contextA

Load the full detailed content of specific conversation turns by sessionId and turnId.

ParametersJSON Schema
NameRequiredDescriptionDefault
referencesYesArray of { sessionId, turnId } references identifying the conversation rounds to load

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden; 'load' clearly conveys a retrieval/non-mutating operation and 'full detailed content' sets expectations about output richness. However, it does not describe return format, scoping rules, or any behavioral caveats (e.g., unavailable turns), which would be valuable given the absent annotations.

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 entire description is one focused sentence with the action and resource front-loaded; every phrase contributes to identifying the tool's target and selection method. No filler or redundant restatement.

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?

For a simple one-parameter retrieval tool with no output schema, the description explains what the agent gets ('full detailed content') and how to address turns ('by sessionId and turnId'). It is slightly incomplete on what the returned content looks like for multiple references, but it is otherwise sufficient given the low complexity.

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?

The schema already describes the references array and its sessionId/turnId properties at 100% coverage, so the description adds little parameter-specific meaning beyond reiterating the identifier-based selection. This meets the baseline for high schema coverage but does not exceed it.

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 names a precise verb ('load'), a specific resource ('specific conversation turns'), and the exact selection keys (sessionId and turnId). This clearly differentiates it from memory search/list siblings: it is a targeted fetch by explicit identifiers, not a discovery tool.

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?

The phrase 'by sessionId and turnId' implies the tool is appropriate when the agent already has exact conversation identifiers and needs full details, so usage context is implied rather than stated. It does not explicitly mention alternatives such as search_context or load_more_context, nor does it state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

moveB

Move a memory entry to another folder, optionally renaming it.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesMemory key
folderNoSource subfolder (default: memory)
newKeyNoOptional new key to rename the memory
toFolderYesDestination subfolder

TDQS

B3.1/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 of behavioral disclosure. It states that the operation moves a memory entry and may rename it, but it does not disclose collision behavior, whether the destination folder must already exist, whether the original source entry is removed, or what the response looks like. For a mutating operation, these are notable gaps.

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 efficient sentence that front-loads the primary action and includes the optional rename behavior. There is no filler, repetition, or unnecessary elaboration.

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 relatively simple four-parameter operation with no output schema, the description and schema together cover the basic mechanics. However, it is only minimally adequate because it lacks usage guidance and behavioral side-effect disclosure, which are important when annotations are absent.

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 schema already documents all four parameters. The description adds little beyond what the schema provides, only echoing the folder-move and optional-rename behavior. Baseline of 3 is appropriate because the schema carries the parameter-meaning burden.

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 states a specific action, resource, and destination: 'Move a memory entry to another folder, optionally renaming it.' This is enough to understand the tool's core purpose. It does not explicitly differentiate from sibling tools like organize_memories, but the move operation is distinctive enough among the listed siblings.

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 gives no guidance on when to use this tool versus alternatives. It does not mention situations where move is preferred over delete+remember, nor does it disambiguate from organize_memories, which might also reorganize memory entries. Usage context is left entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

open_memory_dashboardA

Opens the memory dashboard in the default browser. Starts the dashboard server if it is not already running.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses that the tool opens the default browser and starts the server if needed, covering both observable side effects. It could mention potential blocking or return behavior, but for this simple action it is mostly sufficient.

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 two short sentences with no filler. The primary action is front-loaded, and the conditional server-starting behavior is added as a useful secondary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description is complete. It tells the agent exactly what will happen and the only relevant condition, making it sufficient for invocation.

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?

The input schema has zero parameters, and the baseline for 0-parameter tools is 4. There are no parameter semantics to add, and the description does not need to document parameters that do not exist.

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 verb ('Opens'), the resource ('memory dashboard'), and the medium ('in the default browser'). It also adds the server-starting behavior, which fully distinguishes it from the sibling memory tools.

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 provides clear context for when to use the tool: when the memory dashboard needs to be opened in a browser. It does not mention alternatives or exclusions, but no sibling tool appears to provide the same capability.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

organize_memoriesB

Two-stage workspace memory organizer. Empty call returns existing essence + pending memory files + rules. Call with content to store the organized essence.md.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentNoOrganized essence Markdown body. Key facts should cite sources inline using `> 来源:memory/<folder>/key`.
sourcesNoOptional list of memory/ keys incorporated into the essence, returned in the tool result for tracking.

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 burden and does disclose meaningful stateful behavior: empty call is a read returning essence, pending files, and rules; content call writes essence.md. However, it never discloses write semantics — whether storing overwrites or merges the existing essence, or what happens to 'pending memory files' after incorporation.

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 sentences, roughly 25 words, with the core concept front-loaded and each stage explained in one clause. Every sentence earns its place; a brief note about when this stage should be triggered would make it fully self-contained.

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?

The two-stage behavior is captured, but for a stateful write tool with no annotations and no output schema, the definition omits important context: overwrite/merge semantics, the lifecycle of pending memory files, prerequisites like workspace bootstrapping, and routing relative to the memory siblings. It is adequate with clear gaps.

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%, so the baseline of 3 applies; the schema already documents that content is a Markdown body with inline citation format and that sources is a tracking list of memory/ keys. The description adds light context by tying content to the essence.md artifact, but offers no parameter detail beyond the schema.

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 the resource (workspace memory) and spells out two concrete operations: an empty call returns 'existing essence + pending memory files + rules,' and a content call stores 'the organized essence.md.' This distinguishes it from retrieval-only siblings like recall and search. However, the primary action is framed as a noun phrase ('organizer') rather than an explicit directive verb.

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?

The description gives conditional usage guidance for its own two modes (empty vs. with content), which is useful. But with 19 sibling tools, it never states when to use this consolidation workflow versus alternatives like remember or recall, leaving routing entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recallB

Read a memory entry by key and folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesMemory key
folderNoSubfolder (default: memory)

TDQS

B3.3/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 of behavioral disclosure. It only says 'Read' and mentions key/folder; it does not describe return format, behavior for missing keys, default folder handling beyond the schema, or whether the operation is purely local with no side effects. This is minimal disclosure.

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, focused sentence that leads with the action and resource, then the selection criteria. It contains no filler, repetitions, or irrelevant details, while still being sufficiently informative for such a simple operation.

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 simple read tool with two parameters and no output schema, the description is adequate but thin. It covers the core operation and parameters, but lacks guidance on expected return values, error behavior, or when to use this instead of the many sibling memory tools. The absence of annotations increases the need for more behavioral context than is provided.

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 schema already documents both 'key' and 'folder' adequately. The description simply restates 'by key and folder' without adding extra semantic meaning, such as key format, folder path rules, or what constitutes a valid memory entry. This matches the baseline for full schema coverage.

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 states a specific verb ('Read') and resource ('memory entry') with a precise selection mechanism ('by key and folder'). It is unambiguous and immediately understood, though it does not explicitly call out how it differs from siblings like 'search' or 'list' beyond the key-based nature of the operation.

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?

The description implies the tool should be used when you already know the key and possibly the folder of a memory entry. However, it does not explicitly state when to prefer this over 'search' or 'remember', nor does it mention alternatives or exclusions, leaving usage context to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refine_session_turnsA

Read a session wire.jsonl and generate Refined Turn Summaries. Output is written to refined/.jsonl.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoOptional limit: refine only the most recent N turns
turnIdsNoOptional list of turnIds to refine
sessionIdNoSession identifier (default: current session)
session_idNoAlias for sessionId

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the behavioral burden. It does disclose a side effect: 'Output is written to refined/<sessionId>.jsonl' and implies the source file is only read. However, it does not mention whether the output file is overwritten or appended, what the tool returns, or any other side effects.

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?

Two sentences convey the action, input, and output destination without wasted words. The most important details are front-loaded, and each clause earns its place.

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 tool with no annotations and no output schema, the description is adequate but has clear gaps: it does not describe the return value, file overwrite behavior, or what the refined JSONL will contain. The optional parameters are documented in the schema, so that part is covered.

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 schema already explains each parameter. The description adds no parameter-level detail beyond naming the output path, which partially clarifies sessionId's role. No compensation is needed, but no bonus either.

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 states a specific verb-resource pairing: 'Read a session wire.jsonl' and 'generate Refined Turn Summaries.' It also names the output destination, clearly distinguishing this tool from siblings like load_turn_context and organize_memories. The action and artifact are unambiguous.

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?

The usage context is implied rather than explicit: use this when you need Refined Turn Summaries for a session. It does not state when to avoid this tool or mention alternatives, even though several siblings deal with session/memory context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rememberA

Write or overwrite a memory entry as a Markdown file with YAML frontmatter.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesUnique identifier used as filename base
tagsNoTags stored in YAML frontmatter
folderNoSubfolder under the workspace (default: memory)
themesNoOptional theme names to associate with this memory
contentNoMarkdown body content. For decisions include rationale, impact, and related files. For rules include scope and consequence. For knowledge include scenario and related files/interfaces. For references include URL and relevance. Example decision: "# Use SQLite\n\n## Rationale\n- Single-file deployment\n- No extra service\n\n## Impact\nAll cache reads/writes go through src/cache.js.\n\n## Related files\nsrc/cache.js, docs/cache.md"

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries the full disclosure burden. It does disclose the mutation and destructive-overwrite behavior ('Write or overwrite') and the file format, which is genuinely useful context an agent cannot get elsewhere. However, it does not state what happens to an existing entry beyond overwriting it, whether the action is reversible, or any side effects such as workspace index updates.

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?

A single 16-word sentence that front-loads the verb and resource, then packs in the storage format. There is zero filler; every word contributes, and the essential action is immediately visible.

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 one-line description leaves gaps: no return value information, no warning about the overwrite consequence, and no guidance on when creating vs. overwriting is appropriate. The rich schema compensates substantially for content structure, making this minimally adequate but not complete.

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%, and the schema already documents every parameter — including an unusually detailed content parameter with per-type examples for decisions, rules, knowledge, and references. The tool description's mention of YAML frontmatter aligns with the tags/themes parameters but adds no new parameter semantics beyond what the schema already provides, so the baseline of 3 applies.

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?

States a specific verb pair (write/overwrite), a clear resource (memory entry), and the storage format (Markdown file with YAML frontmatter). This clearly differentiates it from sibling read/search tools like recall, search, and list, and from management tools like delete, move, and organize_memories — an agent can tell them apart without opening schemas.

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?

No explicit when-to-use or when-not-to-use guidance, and no sibling alternatives are named. The write/overwrite verb implies it is for persisting memories while recall/search are for retrieval, but an agent must infer that. The detailed content parameter description covers content formatting for decisions/rules/knowledge/references, but that addresses what to write, not when to choose this tool over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_contextA

Search conversation rounds across all workspace session wires by keywords and optional date range. Default detail: 'normal' keeps output within ~6000 chars. Use detail: 'compact' for a quick overview (no match text, no cluster members). Use detail: 'full' when you need full match text and all cluster members.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of matching rounds to return
queryYesKeywords to search for in conversation rounds
detailNoOutput detail level. 'normal' (default) returns truncated text and cluster members within the output budget. 'compact' returns only references/counts. 'full' disables the budget and returns longer text.
date_toNoOptional end date in YYYY-MM-DD format
date_fromNoOptional start date in YYYY-MM-DD format
max_cluster_sizeNo单个 cluster 最多包含的 turn 数,防止连续讨论过长时上下文爆炸。默认 15。
max_output_charsNoMaximum output length in characters for normal mode. Default 6000. Ignored in compact/full.
cluster_gap_secondsNo相邻 turn 被归为同一「簇」的最大时间间隔(秒)。一个簇代表一段连续的讨论或决策。默认 90 秒;协作节奏慢可适当调大,话题切换快则调小。

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the disclosure burden. It usefully reveals output-budget behavior and how detail levels change the returned content. It does not mention side effects, but 'search' implies a read operation, and the key truncation behavior is clearly disclosed.

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 three sentences with the primary action front-loaded, followed by concise detail-mode guidance. Every sentence adds useful information and there is no filler.

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?

For a search tool with full schema parameter coverage, the description supplies the missing behavioral context: output size, detail-level trade-offs, and cluster-member visibility. It does not describe the result shape for empty results or explicitly address sibling alternatives, but overall it is sufficient for an agent to select and invoke the tool correctly.

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%, so the baseline is 3, but the description adds practical meaning beyond the schema by explaining the trade-offs among compact, normal, and full detail, and by tying normal mode to the 6000-char output budget. This helps an agent choose the right parameter value.

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 states the verb and resource: search conversation rounds across all workspace session wires by keywords and optional date range. It is specific enough to convey the tool's scope, though it does not explicitly differentiate itself from sibling tools like 'search' or 'recall'.

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 gives practical guidance on when to use each detail level: compact for a quick overview, normal as the default with a ~6000-char output budget, and full when complete match text and cluster members are needed. However, it does not explicitly state when to use this tool instead of alternative siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sync_workspace_indexA

Reconciles index.json with the filesystem. Empty call scans and reports mismatches. Call with folderComments to set folder descriptions.

ParametersJSON Schema
NameRequiredDescriptionDefault
folderCommentsNoOptional map of folder paths to comments.

TDQS

A4.2/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 burden. It discloses that an empty call is a read/report operation and that folderComments triggers a write-like action, but it does not state whether changes are persistent, reversible, or what side effects 'set folder descriptions' has on index.json. Some behavior is implied but not fully transparent.

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?

Two concise sentences with no filler. The main operation is front-loaded, and each sentence communicates a distinct usage mode. Nothing is redundant.

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?

For a tool with one optional parameter and no output schema, the description covers both invocation modes and their intended effects. It is slightly incomplete in describing what 'reports mismatches' returns and what exactly gets updated, but it provides enough for an agent to call the tool correctly in either mode.

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 description coverage is 100%, so the baseline is 3. The description adds value by explaining the effect of folderComments ('to set folder descriptions') and contrasting it with the empty-call behavior. This exceeds what the schema alone provides.

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 opens with a specific verb and resource: 'Reconciles index.json with the filesystem.' It also clarifies the two operational modes, so there is no ambiguity about what the tool does or how it differs from the memory- and search-oriented siblings.

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 explicitly distinguishes when to call without arguments ('Empty call scans and reports mismatches') and when to provide folderComments ('to set folder descriptions'). It does not mention alternatives or when-not-to-use this tool relative to siblings, so it falls just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tag_themeA

仔细分析 turn 内容与 theme 确定相关后,将 turn 挂载到 theme。禁止仅凭关键词匹配挂载;必须确认内容 genuinely belongs to the theme 才可关联。如果 theme 不存在会自动创建。

ParametersJSON Schema
NameRequiredDescriptionDefault
themeYesTheme identifier. A theme is a semantic group, not a keyword tag.
turnIdNoOptional turn id within the session
memoryKeyNoOptional memory key to attach
sessionIdNoOptional session id of a conversation turn to attach
memoryTitleNoOptional display title for the memory reference
memoryFolderNoOptional memory folder (default: memory)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It does reveal the significant auto-create-theme behavior, but it does not explain what happens when multiple optional targets are provided, whether the operation is idempotent, or what the return value is.

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 concise and every sentence carries relevant information, including the semantic requirement and auto-creation. The main action is not front-loaded; it appears after a conditional clause, which is a minor structural inefficiency.

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?

The description covers the core operation and the auto-create behavior, which is enough for basic invocation. However, it does not explain parameter selection when both turn and memory fields are available, nor what the tool returns, leaving some ambiguity for an agent given the six-parameter schema and no annotations.

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?

All six parameters already have clear schema descriptions, so the baseline is 3. The tool description adds no parameter-specific detail and even narrows the scope to turns while the schema also supports memory attachment, though the schema itself clarifies those fields.

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 action: attaching a turn to a theme after confirming semantic relevance. It explicitly distinguishes the operation from keyword-based tagging and discloses automatic theme creation, making the purpose specific and unambiguous.

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 gives strong usage guidance: only attach when the content genuinely belongs to the theme, and never on keyword match alone. It does not explicitly route the agent to sibling tools, so it falls just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trace_themeA

Trace the evolution of a theme across sessions and memories. Returns associated turns and memories sorted by time.

ParametersJSON Schema
NameRequiredDescriptionDefault
themeYesTheme identifier
includeTurnContentNoIf true, load full turn content from wire.jsonl (default: false)

TDQS

A3.6/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 burden of behavioral disclosure. It does disclose that results are sorted by time and returns associated turns and memories, but it does not explicitly state whether this is a read-only operation or describe any side effects, performance implications, or data-loading behavior beyond the schema.

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?

Two short sentences with zero wasted words. The core purpose is front-loaded, and the return behavior is stated succinctly in the second sentence.

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?

For a simple two-parameter tool with no output schema, the description adequately explains what is returned and how it is ordered. It is missing some context about possible limitations or when to prefer another tool, but it is broadly complete for the tool's complexity.

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 schema already documents both parameters. The description adds no additional meaning about 'theme' or 'includeTurnContent' beyond what the schema provides, so the baseline of 3 is appropriate.

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 a specific verb ('Trace'), a resource ('evolution of a theme across sessions and memories'), and the output ('associated turns and memories sorted by time'). This distinguishes it from siblings like search or recall, which imply broader retrieval rather than temporal theme evolution.

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 gives no explicit guidance on when to use this tool versus alternatives such as recall, search_context, or list_themes. The only usage signal is implied by the word 'Trace,' but there are no exclusions, prerequisites, or comparisons to other tools.

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. Dates show when Glama detected each change.

  1. 22 tool updatesv0.4.2
    • First observedbootstrap_workspace
    • First observeddelete
    • First observeddelete_search_view
    • First observeddelete_theme
    • First observedget_current_workspace
    • First observedlist
    • First observedlist_search_views
    • First observedlist_tags
    • First observedlist_themes
    • First observedload_more_context
    • First observedload_turn_context
    • First observedmove
    • First observedopen_memory_dashboard
    • First observedorganize_memories
    • First observedrecall
    • First observedrefine_session_turns
    • First observedremember
    • First observedsearch
    • First observedsearch_context
    • First observedsync_workspace_index
    • First observedtag_theme
    • First observedtrace_theme

TDQS

A3.6/5.0
Disambiguation4/5

Tools cluster into clear groups (memory CRUD, context loading, theme management, workspace maintenance) and each has a distinct action/target. Some pairs like search vs search_context or organize_memories vs bootstrap_workspace could require careful reading, but descriptions resolve the boundaries.

Naming Consistency4/5

Almost all names follow a lowercase verb or verb_noun pattern (remember, list_tags, trace_theme, sync_workspace_index). A few generic single-verb names like list, delete, and move are less descriptive but still stylistically consistent.

Tool Count3/5

At 22 tools, this sits in the heavy range, and the server spans several subdomains (memory, context, themes, workspace admin). Each tool has a plausible purpose, but the set feels broader than a tightly scoped memory server.

Completeness4/5

Memory entries have full lifecycle coverage (create/read/search/list/update via overwrite/delete/move), and themes/context are well supported. Minor gaps remain around removing a single turn from a theme or enumerating sessions, but agents can generally accomplish core workflows.

Maintenance

ActivityActive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Persistent memory for AI agents enabling saving, searching, and managing knowledge across sessions with local markdown files.
    2
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to retain memory across sessions by storing conversations locally in Markdown files, allowing personalization and continuity without external servers.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Cross-project memory for Claude Code, enabling local semantic recall and secure, git-versioned markdown storage of reusable knowledge across repositories.
    MIT
  • F
    license
    Not graded
    quality
    F
    maintenance
    Persistent memory for MCP-powered coding agents, allowing LLMs to remember preferences, project context, and decisions across sessions via Markdown files.
    19
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Zehee/kimi-code-memory-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server