Kimi Code Memory MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Kimi Code Memory MCP Serverremember that we decided to use SQLite for the cache layer"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Kimi Code Memory MCP Server
一个为 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 串联成主题线。
下面是一段真实的 Kimi Code CLI 会话动图,使用 kimi-memory。用户先后要求总结 MCP 记忆服务器的演进历史、以及 E2E 测试工具的演进历史;Agent 跨会话召回相关记忆与对话 turns,并生成结构化总结。
相关工具:tag_theme、trace_theme、list_themes、search_context、refine_session_turns、load_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-setup 是 kimi-code-memory-mcp-server 包提供的 bin(registry 上没有同名独立包),二选一:
# 已按上文全局安装:bin 已在 PATH 上,直接运行
kimi-memory-setup
# 未全局安装:让 npx 从包中解析该 bin
npx -p kimi-code-memory-mcp-server kimi-memory-setup它会完成:
检测
~/.kimi-code目录。在
~/.kimi-code/AGENTS.md顶部注入记忆协议规则。将
memory-manageSkill 安装到~/.kimi-code/skills/memory-manage。在
~/.kimi-code/mcp.json中添加kimi-memoryMCP 服务器配置。
预览变更而不写入文件:
kimi-memory-setup --dry-run后续如需移除注入的配置:
kimi-memory-setup --undo配置 Kimi Code CLI(手动)
如果你希望手动配置,编辑 ~/.kimi-code/mcp.json 并添加服务器。
如果你用 npm install -g 安装,使用全局 node_modules 中 dist/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 环境变量覆盖存储根目录。
环境变量
变量 | 用途 |
| 覆盖默认存储根目录 |
| 覆盖默认的 |
|
|
| 是否在 MCP 服务器启动时自动启动仪表盘。默认 |
| 仪表盘起始端口,默认 |
| 仪表盘绑定地址,默认 |
工具列表
工具 | 用途 |
| 写入一条 Markdown 记忆 |
| 按 key 读取记忆 |
| 在记忆中关键词搜索 |
| 列出记忆,支持按 folder / tag 过滤和 limit 限制 |
| 列出所有标签 |
| 删除记忆 |
| 移动或重命名记忆 |
| 将 |
| 从磁盘重建 |
| 加载上下文、精要和记忆树 |
| 加载更早的对话轮次 |
| 跨所有会话 wire 搜索 |
| 加载指定轮次详情 |
| 将轮次或记忆关联到主题 |
| 追溯主题演化 |
| 列出主题 |
| 删除主题关联文件 |
| 列出保存的搜索视图 |
| 删除搜索视图(可选级联删除关联精炼轮次) |
| 在浏览器中打开记忆仪表盘 |
| 生成精炼轮次摘要 |
Prompts
本服务器同时提供可复用的 MCP Prompt,供客户端在调用工具前拉取:
Prompt | 用途 |
| 修改文件前,先检查与其相关的历史决策 |
| 追溯某个主题在多次会话中的演化 |
| 总结当前会话,并建议值得挂载的主题 |
Resources
本服务器暴露以下 MCP Resource URI,客户端可按需读取:
URI 模式 | 说明 |
| 读取 |
| 读取某个主题的关联摘要(Markdown 格式) |
| 读取工作区精要 |
可视化仪表盘
提供独立的 Web 仪表盘,用于查看工作区记忆、主题时间线和近期决策。
启动方式
随 MCP 服务器自动启动(默认)
kimi-code-memory-mcp-server启动后会自动在后台启动仪表盘,并尝试打开浏览器。默认地址:http://127.0.0.1:58628若端口被占用,会自动尝试
58629–58637。如需禁用自动启动:
export KIMI_MEMORY_AUTO_VIS=0手动独立启动
安装包后:
kimi-memory-vis从源码运行:
npx tsx src/vis-cli.ts常用选项:
kimi-memory-vis --port 8080 # 指定端口 kimi-memory-vis --no-open # 不自动打开浏览器 kimi-memory-vis --workspace /path # 查看其他工作区在对话中让 Agent 打开
让 Agent 调用记忆工具:
mcp__kimi-memory__open_memory_dashboard
环境变量
变量 | 用途 |
| 是否在 MCP 服务器启动时自动启动仪表盘。默认 |
| 仪表盘起始端口,默认 |
| 仪表盘绑定地址,默认 |
仪表盘功能
工作区概览与
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
相关文档
docs/ARCHITECTURE.md—— 系统设计与数据流docs/three-layer-memory-model.zh-CN.md—— 本服务器背后的记忆模型理论docs/search-logic.zh-CN.md——search与search_context的实现逻辑docs/CONTRIBUTING.zh-CN.md—— 如何贡献
许可证
MIT
Available Tools
22 toolsbootstrap_workspaceB
Session bootstrap: loads workspace context, essence, notes refs, and a memory index tree with recent changes marked [new].
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | If true, return recent context even when the current session already has turns. | |
| summary_rounds | No | Number of preceding rounds to return as summaries. | |
| detailed_rounds | No | Number of most recent rounds to return in full detail. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Memory key | |
| folder | No | Subfolder (default: memory) |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Search view file key (e.g. search-abc123.json without extension) | |
| deleteRefinedTurns | No | If true, also delete all refined turns referenced by this view. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| theme | Yes | Theme identifier to delete |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Filter to entries containing this tag | |
| limit | No | Maximum number of entries to return (default: all) | |
| folder | No | Filter to a specific subfolder |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of recent views to return |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of older rounds to return. | |
| before_turn_id | Yes | Exclusive turn id; return rounds older than this. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| references | Yes | Array of { sessionId, turnId } references identifying the conversation rounds to load |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Memory key | |
| folder | No | Source subfolder (default: memory) | |
| newKey | No | Optional new key to rename the memory | |
| toFolder | Yes | Destination subfolder |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| content | No | Organized essence Markdown body. Key facts should cite sources inline using `> 来源:memory/<folder>/key`. | |
| sources | No | Optional list of memory/ keys incorporated into the essence, returned in the tool result for tracking. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Memory key | |
| folder | No | Subfolder (default: memory) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional limit: refine only the most recent N turns | |
| turnIds | No | Optional list of turnIds to refine | |
| sessionId | No | Session identifier (default: current session) | |
| session_id | No | Alias for sessionId |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Unique identifier used as filename base | |
| tags | No | Tags stored in YAML frontmatter | |
| folder | No | Subfolder under the workspace (default: memory) | |
| themes | No | Optional theme names to associate with this memory | |
| content | No | Markdown 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
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.
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.
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.
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.
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.
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.
searchA
Case-insensitive keyword search across memory titles and contents.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Keyword to search | |
| folder | No | Limit search to a subfolder |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It adds a useful behavioral detail—case-insensitive matching—beyond what the input schema states. However, no annotations are provided, and the description does not disclose whether the search is read-only, how results are returned, whether partial matches are supported, or if there are result limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no fluff: the action, target, and key behavioral trait are all stated immediately. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter search tool, the description is adequate for basic invocation, especially given full schema coverage. However, with no output schema, no annotations, and closely related sibling tools ('search_context', 'recall'), the description could be more complete by noting result shape, limitations, or a pointer to alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameter names and descriptions already document 'query' and 'folder'. The description adds context by specifying that the query searches titles and contents case-insensitively, but it adds no detail about query syntax, wildcards, or folder path format beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('search'), a resource ('memory titles and contents'), and a behavioral qualifier ('Case-insensitive'). It clearly distinguishes from list-like siblings, but it does not explicitly distinguish itself from closely related siblings such as 'search_context' or 'recall'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for keyword matching over memory titles/contents, but it gives no explicit guidance on when to prefer it over alternatives like 'search_context' or 'recall'. It states what it searches, but not when it should or should not be used relative to siblings.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of matching rounds to return | |
| query | Yes | Keywords to search for in conversation rounds | |
| detail | No | Output 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_to | No | Optional end date in YYYY-MM-DD format | |
| date_from | No | Optional start date in YYYY-MM-DD format | |
| max_cluster_size | No | 单个 cluster 最多包含的 turn 数,防止连续讨论过长时上下文爆炸。默认 15。 | |
| max_output_chars | No | Maximum output length in characters for normal mode. Default 6000. Ignored in compact/full. | |
| cluster_gap_seconds | No | 相邻 turn 被归为同一「簇」的最大时间间隔(秒)。一个簇代表一段连续的讨论或决策。默认 90 秒;协作节奏慢可适当调大,话题切换快则调小。 |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| folderComments | No | Optional map of folder paths to comments. |
TDQS
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.
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.
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.
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.
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.
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 不存在会自动创建。
| Name | Required | Description | Default |
|---|---|---|---|
| theme | Yes | Theme identifier. A theme is a semantic group, not a keyword tag. | |
| turnId | No | Optional turn id within the session | |
| memoryKey | No | Optional memory key to attach | |
| sessionId | No | Optional session id of a conversation turn to attach | |
| memoryTitle | No | Optional display title for the memory reference | |
| memoryFolder | No | Optional memory folder (default: memory) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| theme | Yes | Theme identifier | |
| includeTurnContent | No | If true, load full turn content from wire.jsonl (default: false) |
TDQS
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.
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.
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.
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.
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.
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.
22 tool updates
v0.4.2- First observed
bootstrap_workspace - First observed
delete - First observed
delete_search_view - First observed
delete_theme - First observed
get_current_workspace - First observed
list - First observed
list_search_views - First observed
list_tags - First observed
list_themes - First observed
load_more_context - First observed
load_turn_context - First observed
move - First observed
open_memory_dashboard - First observed
organize_memories - First observed
recall - First observed
refine_session_turns - First observed
remember - First observed
search - First observed
search_context - First observed
sync_workspace_index - First observed
tag_theme - First observed
trace_theme
TDQS
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.
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.
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.
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
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
Portable AI memory shared across models and harnesses - plain markdown you own.
- TaprootOAuthcom.taproothq
Persistent memory layer for AI tools. Save and recall notes across Claude and other MCP clients.
Markdown workspace for AI agents: read, write, organize, and share markdown documents.
- HeirmosOAuthcom.heirmos
Persistent memory shared across Claude, ChatGPT, Grok and other MCP clients.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenancePersistent memory for AI agents enabling saving, searching, and managing knowledge across sessions with local markdown files.2-
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to retain memory across sessions by storing conversations locally in Markdown files, allowing personalization and continuity without external servers.MIT
- AlicenseNot gradedqualityCmaintenanceCross-project memory for Claude Code, enabling local semantic recall and secure, git-versioned markdown storage of reusable knowledge across repositories.MIT
- FlicenseNot gradedqualityFmaintenancePersistent memory for MCP-powered coding agents, allowing LLMs to remember preferences, project context, and decisions across sessions via Markdown files.19-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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