Skip to main content
Glama

maimemo-codex-plugin · 在 ChatGPT 桌面版使用墨墨

在 **ChatGPT 桌面版(原 Codex 桌面版)**中,用自然语言连接墨墨背单词:把阅读生词整理成云词本、查看今天还没背完的词、根据真实学习数据做自测。非官方开源插件,使用墨墨官方开放 API。

ChatGPT 桌面版怎么安装

推荐:复制这段话,让 ChatGPT 帮你安装

在 ChatGPT 桌面版或 Codex 的本地聊天中,把这句话发给它:

请帮我安装这个插件:https://github.com/ZiChen-Whisper/maimemo-codex-plugin

助手会读取本仓库的安装说明。安装需要能访问本机文件、执行命令的聊天环境;安装完成后,按连接账号配置自己的墨墨 token。

官方支持的流程:一行添加插件源,再在界面安装

在可用的本地终端执行:

codex plugin marketplace add ZiChen-Whisper/maimemo-codex-plugin --json

这一行只添加并下载插件源,还需要在桌面版点击安装。 无须手动 clone 或运行 npm install,仓库已有打包的服务器文件。

  1. 重新启动 ChatGPT 桌面版。

  2. 打开 Plugins / 插件,在来源选择器中选择 MaiMemo Community(技术名称 maimemo-community)。

  3. 找到 maimemo-codex-plugin,打开详情,点击 + / Install,完成宿主显示的权限提示。

  4. 在 Installed / 已安装确认插件启用。配置 token 后,新开本地 chat 使用。

依据 OpenAI 桌面插件说明和插件源安装说明,核对日期为 2026-10-04。界面文字可能随版本变化。

如果提示 codex 找不到,或旧 CLI 无法解析配置,用上面的安装请求,让本地 ChatGPT 找到桌面版自带的可执行文件。本项目在 Windows 通过内置 CLI 安装过,见验证范围。日常聊天不需要切换到 CLI。

官方支持的安装机制与官方公共目录是两件事。 本项目通过 GitHub 自建源分发,尚未提交 OpenAI 公共目录,因此添加来源前不能靠全局搜索找到它;目前没有可点击即完成首次安装的公共目录链接。

npm / npx 能安装吗?

当前没有发布 npx maimemo-codex-plugin 安装器。完整插件请用上述安装请求或官方 marketplace 流程。

npx skills add ZiChen-Whisper/maimemo-codex-plugin 使用第三方 skills CLI,只装 skill,不配置墨墨 MCP 或 token,不能替代完整插件。npm ci 用于开发者安装依赖,普通桌面用户不用执行。

Related MCP server: DocAgent-MCP

适用范围

包含 24 个 API 工具 + 1 个本地配置检查工具、2 个 skill。

项目

当前情况

ChatGPT 桌面版

主要入口;本地 Codex chat / 可以执行本地工具的工作环境

已验证系统

Windows;安装、MCP 启动与三个真实读取接口已验证

运行依赖

Node.js 22 或更高版本;添加 GitHub 插件源还需要可用的 Git

墨墨账号

自己的开放 API token,与 ChatGPT 登录是两回事

网页、手机端

本项目是本地 stdio MCP,不能直接在这些环境运行

macOS、Linux、其他 MCP 客户端

尚未实机验证;便携配置在 mcp.json

“让 ChatGPT 安装”需要能访问本机文件、执行命令的本地 chat。普通网页聊天不能代办本机安装。桌面某些入口仍显示 Codex,CLI 命令仍叫 codex,仓库名中的 codex 也继续保留。

连接你的墨墨账号

获取并隐藏输入 token

在墨墨背单词 App 打开 我的 → 更多设置 → 实验功能 → 开放 API,取得自己的 token。桌面版安装的权限提示不等于已经连接墨墨;本插件不提供“使用 ChatGPT 登录墨墨”的流程。

可以对本地 ChatGPT 说:

请定位已安装 maimemo-codex-plugin 的 scripts/configure.ps1,给我打开或说明如何使用
本地终端运行它。我会自己在隐藏输入提示中填写 token,不把 token 发到聊天。

已经知道安装位置时,在可操作的 Windows 终端运行,替换为实际路径:

powershell -NoProfile -ExecutionPolicy Bypass -File "<插件安装目录>\scripts\configure.ps1"

默认缓存在 %USERPROFILE%\.codex\plugins\cache\maimemo-community\maimemo-codex-plugin\,在版本子目录里找 scripts\configure.ps1。子目录名因安装方式而异,不要只照抄版本号;自定义 CODEX_HOME 时位置也会变化。

输入时不显示字符,完成后按回车。脚本保存到 %USERPROFILE%\.config\maimemo-codex-plugin\token,限制 Windows 目录权限为当前用户。文件是受权限保护的明文,不是加密凭证保险库。新开 chat 后验证:

使用 maimemo-codex-plugin 检查本地配置,再查询 apple 验证远端 token。
告诉我连接是否成功,不要显示 token,不修改我的数据。

configured=true 只表示本地有 token;成功查询 apple 才验证了远端凭证。

更换或移除 token

重新运行脚本更换 token,传入 -Remove 移除新路径文件。也支持 MAIMEMO_TOKEN 环境变量,启动桌面应用的进程必须能继承它;修改后重启应用。

仍兼容旧目录 .config/maimemo-plugin/token。优先级为环境变量、新文件、旧文件;完全断开时需清除实际使用的来源,-Remove 只移除新文件。不要让助手读取或展示凭证文件。

在桌面聊天里怎么使用

安装、启用并配置后,新开 chat。直接写“使用墨墨插件……”即可;也可键入 @,从选择器选中 maimemo-codex-plugin 或其 skill,再描述需求。应从选择器选中,单纯粘贴 @名称 不等于选中插件。官方调用方式

安装好后,新开一个本地 chat,复制这句话开始:

使用 maimemo-codex-plugin 检查墨墨连接,再查询 resilient 是否被墨墨词库收录。
如果查到释义和例句,请展示;查不到时不要编造。只读取,不修改数据。

以下提示词可直接复制。词本名称是示例,请替换成自己的名称;有同名词本时先选定 ID。

1. 查一个词,并读懂它

使用墨墨插件查询 resilient。确认是否收录,再读取可用的释义、例句和助记。
将 API 返回内容与 AI 补充讲解分开标注,用中文解释适用场景,不保存任何内容。

结果: 聊天里显示词库 ID、拼写及可用素材。基本查词接口只返回 ID 和拼写,其他素材需另查;为空时 AI 可以补写解释,但不能说是墨墨返回的内容。

2. 批量检查一组生词

用墨墨插件批量查询 resilient、sustain、comprise、sustian。
列出输入拼写、是否收录和返回 ID。疑似拼错的词给建议,不擅自替换或加词。

结果: 得到查询与未匹配清单。后续加词使用实际返回的 ID,不能猜测 ID。

3. 从阅读材料提取生词

从这段文章挑出适合六级的词汇,去重、检查词形,再用墨墨插件查询是否收录。
先给候选词清单和中文解释,不创建词本,不加入学习计划。

A resilient economy can sustain growth, but accurate forecasts comprise many uncertain assumptions.

结果: 聊天里显示候选清单。也可以附上自己的文章或文件,助手需要能读取该附件或本地文件。

4. 保存为云词本草稿

把 resilient、sustain、comprise 创建为新的墨墨云词本草稿。
标题:六级阅读生词;简介:本周阅读积累;标签:六级、阅读;状态:未发布。
先核对收录情况,列出未匹配词。成功后返回 ID、标题和状态。这次不加入学习计划。

结果: 真实创建云词本,状态 UNPUBLISHED。需要发布时继续说“将刚才 ID 为……的词本设为已发布,保留内容不变”,再在 App 检查同步结果。失败不能当成已保存。

5. 查看词本,并追加单词

先找词本:

使用墨墨插件列出我的云词本,显示标题、ID 和状态。读取“六级阅读生词”的完整内容。
如果有同名词本,先让我选,不直接修改。

选定后继续:

向刚才选定的词本追加 assumption 和 forecast。先读当前内容,去重,保留已有内容
及其他字段。更新成功后告诉我新加了哪些词,不加入学习计划。

结果: 第二步真实更新词本,不另建词本,不把原来的内容覆盖成两个新词。

6. 加入墨墨学习计划

将 resilient、sustain、comprise 加入我的墨墨学习计划,不提前复习。
先查实际词库 ID,再执行加词。报告 added_count 和未收录的词,不假设全部成功。

结果: 改变学习计划。保存云词本不等于加入学习计划;重复词和容量上限会影响成功数量。

7. 今天背了多少、还剩多少

读取墨墨今日进度,告诉我已完成、今日总量、剩余数量及学习时长,把毫秒换成分钟。
若当天未初始化或同步不完整,说明限制,不猜测数量。

结果: 按真实 finished、total、study_time 汇总。进度接口不直接给新学/复习分项,需要分项时再查今日单词列表。

8. 用未完成的词做自测

用墨墨插件读取今天未完成的词,最多选 10 个,区分新学和复习。只获取了部分列表时
请标明。先出一道中译英题,等我回答再出下一题,不提前展示全部答案。

结果: 在聊天里逐题练习。判分是聊天辅导,不会写回墨墨的记忆等级、答题反馈或打卡记录;当前 API 没有这些写入能力。

9. 查看某个词的学习记录

查我对 resilient 的墨墨学习记录,展示实际返回的学习次数、最近学习时间、下次学习
时间和反馈字段。缺失字段写“未返回”,别把查不到解释成从未学过。

结果: 读取已有记录,不修改复习安排。它不是完整历史事件导出,不能据此编造几周的学习曲线。

10. 看明天计划复习的词

用墨墨插件按北京时间查询明天 00:00:00 到 23:59:59 的下次学习计划。
先查询数量,再列出最多 20 个单词,标明只是列表样本,不提前复习。

结果: 按 next_study_date 筛选记录。“明天”按请求发起日期计算,不是固定示例日期。

11. 编例句,确认后保存

先生成:

为 resilient 写一句适合六级阅读的英文例句,配中文翻译。标明 AI 生成,只展示,
不要保存到墨墨。

确认后继续:

用墨墨插件把刚才那条例句和翻译保存到 resilient 的例句中。来源注明 AI 生成,
标签写“六级”。保存成功后返回实际记录 ID。

结果: 第二步真实创建例句。助记、释义也有对应工具;写入须有明确内容,并填写接口要求的类型或状态。

12. 提前复习已有单词

用墨墨插件将 resilient 和 sustain 提前到现在复习。先确认它们在我的学习记录中,
再执行,返回实际 advanced_count。账号未解锁功能时直接告诉我。

结果: 真实调整复习安排。官方说明需达到 10 级解锁,公测期间仍以实际接口结果为准。

第一次建议这样走

先 1 查词 → 2 批量核对 → 4 建草稿 → 5 查看词本 → 7 看进度 → 8 自测。想真正开始背新词,再做 6 加入学习计划。也可以只用查询与聊天辅导。

写操作需明确对象和动作;工具还要求 confirm=true,由助手根据授权传入。已有清楚授权无须重复询问;该字段只是调用方声明,不代替宿主权限。写入超时先查结果,避免重复创建。

功能与限制

功能

内容

数据影响

查词库

单个拼写、批量拼写或 ID;基本信息为 ID 和拼写

只读

云词本

列表、详情、创建、更新、删除

创建、更新、删除会写入

学习素材

查询、创建、更新、删除例句、助记、释义

创建、更新、删除会写入

学习复盘(公测)

今日进度、今日单词、学习记录

只读

学习操作(公测)

加词、提前复习

改变学习计划

学习接口需 App 开启自动同步,当天打开 App 初始化,公测期间可用性可能变化。不含墨墨记忆卡 Markji、模拟手机按钮、自动答题或自动打卡。写工具已按官方 schema 做本地请求测试,尚未逐一对真实账号写入验收,见验证范围。

连接失败时

现象

怎么处理

添加来源后看不到插件

重启桌面应用,选择 MaiMemo Community;repo 来源需在对应本地项目中查看

已安装,但 @ 找不到或没有工具

确认启用、新开本地 chat;检查 Node、MCP 日志与 chat 运行环境

有两个 skill,却没有墨墨工具

可能只装了 skill;安装完整插件,检查服务器启动

找不到 token

运行安装目录的 configure.ps1,检查旧环境变量是否遮盖新文件

401

token 可能无效或过期,重新配置后查 apple

403

检查账号权限和接口开放情况

429

等待再试;多个客户端共用账号频控

学习数据为空或不准

在墨墨 App 开启自动同步并打开 App 初始化,再查询

写入超时

先查实际词本或记录,确定是否已保存,再决定重试

按进程串行调用,间隔至少 2 秒,不自动重试写操作。官方频控为 10 秒 20 次、60 秒 40 次、背单词 5 小时 2000 次;例句、助记、释义每天最多合计创建 600 条。多个进程与持续调用仍可能触发累计限制。

CLI 与开发者入口

使用新版 CLI 直接安装

codex plugin marketplace add ZiChen-Whisper/maimemo-codex-plugin --json
codex plugin add maimemo-codex-plugin@maimemo-community --json

配置 token 后,新开桌面 chat 或 CLI 会话。修改源码时可先 clone,再将本地目录作为来源:

git clone https://github.com/ZiChen-Whisper/maimemo-codex-plugin.git
cd maimemo-codex-plugin
codex plugin marketplace add . --json
codex plugin add maimemo-codex-plugin@maimemo-community --json

Git 来源用 codex plugin marketplace upgrade maimemo-community 刷新,然后在 Plugins 核对新版本并更新/重新安装。刷新来源和更新已安装副本是两步;本地目录来源修改源文件后重新安装。

开发验证

npm ci
npm test
npm run build
npm run smoke
node scripts/smoke.mjs --live

--live 只查询 apple、词本列表和今日进度,输出状态与响应字段名,不打印私人内容。源码或 schema 变更后重新 build,并提交同步的 server/dist/。

参数见 docs/tools.md。schema 来自官方 YML,原始导出不随仓库发布。重新生成需 Python 和 PyYAML:

python scripts/generate_catalog.py <你的官方YML路径>
npm run build

隐私与许可证

请求只发送到 https://open.maimemo.com/open,拒绝重定向,token 只用于 Authorization。插件无遥测,不在磁盘记录 API 响应。词本与学习数据会进入发起调用的 AI chat;聊天同步由宿主设置决定。

自编代码采用 MIT。接口名称、schema 和说明来自墨墨官方文档,墨墨商标及服务归原权利人;MIT 不授权使用墨墨服务或第三方内容。依赖许可证见 THIRD_PARTY_NOTICES.md。

Available Tools

25 tools
maimemo_add_wordsB
Destructive

添加单词(公测)

公测期间不保证可用性和可能会随时调整,需要在 App 中开启自动同步

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes暂无文档
confirmYes用户已明确授权本次写入。须为 true。

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, non-idempotent, and openWorld, so the safety profile is partially covered. The description usefully adds a beta instability warning and the auto-sync prerequisite, but it never explains what the 'destructive' aspect actually means or how this affects existing study data/records.

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?

Very short and front-loaded: purpose first, then the beta caveat. Minimal waste, though the HTML-wrapped beta notice is slightly heavier than necessary for a title-less tool.

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?

With no output schema, a fully described input schema, and annotations carrying the safety hints, the description covers the basics plus the beta warning. It stops short of explaining the effect on the user's study list/progress, which matters for a mutation tool flagged destructive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both the nested words array (max 1000, ID sourced via the query API) and advance/confirm are fully documented in the schema. The description adds nothing about parameters, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource ('添加单词' / add words), which an agent can map to a write operation on vocabulary. However, it does not distinguish this from sibling tools like maimemo_list_vocabulary, maimemo_get_vocabulary, or maimemo_advance_study, leaving the agent to infer the boundary.

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 only contextual constraint given is a prerequisite ('需要在 App 中开启自动同步'), not when-to-use or when-not-to-use guidance. No alternatives are named, and there is no statement about when adding words is appropriate versus other vocabulary operations.

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

maimemo_advance_studyA
Destructive

提前复习(公测) 将单词提前到当下马上复习,需要升级到 10 级解锁提前复习功能

公测期间不保证可用性和可能会随时调整,需要在 App 中开启自动同步

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes暂无文档
confirmYes用户已明确授权本次写入。须为 true。

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, idempotentHint=false, and openWorldHint=true, and the description adds context beyond them: the feature is in beta, availability is not guaranteed, behavior may change, and two concrete preconditions (level 10, App auto-sync). It still does not spell out the scheduling consequences of advancing words or what a failure looks like, so not a 5.

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?

Three short lines, front-loaded with the operation name and effect, followed by prerequisites and caveats. The embedded <b> HTML tags and parenthetical '(公测)' add minor noise but nothing is wasted.

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 destructive, non-idempotent beta mutation with a nested body object and no output schema, the description covers the effect, the unlock prerequisite, sync requirement, and instability warning. What remains thin is the voc_ids input and what a successful advance does to the study schedule long-term.

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 reported at 100% and 'confirm' carries its own description ('用户已明确授权本次写入。须为 true。'). The description adds nothing about voc_ids (max 1000, empty sub-description) or the confirm gate, so the baseline 3 for schema-documented parameters applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: moving words forward for immediate review ('将单词提前到当下马上复习'), which is clearly actionable and distinct from bulk-import siblings like maimemo_add_words or read-only ones like maimemo_get_today_items. It does not explicitly name a sibling to contrast with, so it stops short of a 5.

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?

Gives real prerequisites (must be level 10 to unlock, auto-sync must be enabled in the App), which is meaningful when-to-use context. However, it never states when to prefer this over alternatives such as maimemo_get_today_items or maimemo_add_words, and no exclusions are given, so guidance is only partial.

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

maimemo_connection_statusA
Read-only

检查本地 token 是否配置(不显示 token,也不验证远端有效性)。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover readOnlyHint and openWorldHint=false, so the safety profile is set. The description adds genuinely useful behavioral context beyond them: the token is never displayed and remote validity is not verified, which prevents misinterpretation of the result.

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 compact sentence leads with the core action and appends two scoping caveats. Nothing is redundant and every clause carries information.

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?

With no output schema and zero parameters, the description supplies the essential scope of the check. It could briefly indicate what the result conveys (configured vs not), but for a trivial connectivity check it is nearly complete.

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?

Parameter count is 0, so there is nothing to document and the baseline of 4 applies. Schema coverage is trivially 100% and no enum or nested objects exist to explain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource: it checks whether the local token is configured. It also scopes the check by denying two things (no token display, no remote validation), which cleanly separates it from the data-operation siblings. It falls short of 5 only because no sibling alternative is named, though none is really needed here.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: an agent can infer this belongs in a diagnostic/prerequisite step before making authenticated calls. There is no explicit 'use this when...' or mention of alternatives, but the negative scoping ('does not validate remote') gives some decision context.

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

maimemo_create_interpretationD
Destructive

创建释义

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes暂无文档
confirmYes用户已明确授权本次写入。须为 true。

TDQS

D1.8/5.0
Behavior1/5

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

Annotations already disclose destructiveHint=true, idempotentHint=false, and openWorldHint=true, but the description adds no behavioral context of its own — nothing about write authorization, side effects on existing interpretations, or what the confirm flag implies behaviorally. It does not contradict the annotations, but it contributes nothing beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four characters is technically brief, but this is under-specification rather than conciseness — there is no front-loaded structure or useful information to be concise about. A single label is not a structured description.

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

Completeness2/5

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

For a mutating tool with a required confirm authorization flag and nested object parameters, the description omits the write-authorization requirement, the meaning of the required nested interpretation payload, and any return-value expectation (no output schema exists). Rich schema coverage partially compensates, but the description itself is inadequate.

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%, with the nested interpretation object, voc_id, status enum, and the required confirm flag all documented in the schema itself. Per the baseline rule, a 3 is appropriate since the description adds no parameter meaning of its own but the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is '创建释义' — essentially a Chinese restatement of the tool name maimemo_create_interpretation, with no additional specificity. It conveys a verb+resource but adds nothing an agent couldn't infer from the name, and offers no differentiation from siblings like maimemo_update_interpretation or maimemo_delete_interpretation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance whatsoever on when to use this tool versus maimemo_update_interpretation, maimemo_add_words, or other creation siblings. No prerequisites, no context, no exclusions are stated.

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

maimemo_create_noteC
Destructive

创建助记

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes暂无文档
confirmYes用户已明确授权本次写入。须为 true。

TDQS

C2.5/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true, so the safety profile is covered structurally. The description adds nothing on top: it does not mention that writes require the confirm=true authorization flag, does not explain the destructive impact, and does not note any idempotency behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short line with no waste, but its brevity stems from under-specification rather than disciplined conciseness. There is nothing front-loaded because there is almost nothing at all.

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

Completeness2/5

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

For a destructive mutation tool with nested objects and no output schema, the description is far too thin. It omits the confirm-gate requirement, the nested body.note structure, and the vocabulary-linking semantics, leaving the agent reliant entirely on structured fields.

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 all fields (voc_id, note_type, note, confirm) are documented in the schema, so baseline is 3. The description adds no meaning beyond the schema, which is acceptable here but not value-adding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '创建助记' states a verb plus resource and is distinguishable from siblings like maimemo_create_interpretation or maimemo_create_notepad by the resource '助记'. However, it is bare-bones and gives no scope detail (e.g. that it attaches a mnemonic to a vocabulary id) beyond the name itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus maimemo_update_note or the create_* interpretation/phrase siblings. The only implicit usage signal is the verb 'create', with no prerequisites or exclusions stated.

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

maimemo_create_notepadC
Destructive

创建云词本

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes暂无文档
confirmYes用户已明确授权本次写入。须为 true。

TDQS

C2.7/5.0
Behavior2/5

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

The annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true and idempotentHint=false, so the safety profile is covered structurally. The description adds nothing beyond that: it never mentions the mandatory user-authorization gate (confirm must be true), that retries are not idempotent, or what the write does. With annotations carrying the burden, the description earns only minimal credit for adding no new context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single line is not wasteful, but this is under-specification rather than conciseness. For a tool with a nested object payload and a write-authorization parameter, one sentence is far too thin to be considered appropriately sized.

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

Completeness2/5

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

The tool has a nested object schema, two required parameters, a destructive write annotation and no output schema. The critical behavioral fact that the agent must have explicit user authorization before setting confirm=true is nowhere in the description; it appears only inside the schema's field description, making the definition incomplete for a destructive 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 baseline is 3: title, brief, content, tags and the status enum are all documented in the schema itself. The description contributes no additional meaning about the nested body structure or the confirm flag, but it does not need to.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource (创建云词本 / create cloud notepad), which is unambiguous on its own and lets an agent distinguish it from maimemo_update_notepad, delete_notepad, get_notepad and list_notepads. It does not explicitly name any sibling or clarify scope, which is what separates a 4 from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no statement of prerequisites, and no mention of how this differs from maimemo_update_notepad or maimemo_create_note. The agent must infer entirely from the name that this is for brand-new notepads.

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

maimemo_create_phraseC
Destructive

创建例句

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes暂无文档
confirmYes用户已明确授权本次写入。须为 true。

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true, and idempotentHint=false, so safety behavior is partly covered. The description adds no behavioral context such as required confirmation, side effects, overwrite behavior, or error conditions. It does not contradict the annotations, but it also contributes nothing beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short and front-loads the core action, but it is under-specified rather than genuinely concise. For a destructive tool with nested required parameters and a confirmation flag, a four-character description does not earn its place as sufficient documentation.

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

Completeness2/5

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

Given the tool's complexity, nested required body object, required confirm flag, destructive annotation, and many CRUD siblings, the description is incomplete. The schema and annotations carry much of the burden, but the description does not explain when to use this tool, what it writes, or how confirm interacts with the call.

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 documents the nested phrase fields and the required confirm flag. The description adds no additional parameter meaning, syntax, or constraints. With high schema coverage, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '创建例句' states a specific verb and resource: create an example sentence. It clearly distinguishes the operation from sibling actions like list, update, and delete. However, it does not explicitly differentiate itself from those siblings or explain scope beyond the basic purpose.

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 when-to-use guidance, no alternatives, and no prerequisites. An agent must infer usage from the tool name and sibling naming conventions alone. This is minimal, non-misleading but insufficient for a destructive write operation.

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

maimemo_delete_interpretationC
Destructive

删除释义

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes释义 id
confirmYes用户已明确授权本次写入。须为 true。

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the agent knows this is a destructive mutation. The description adds nothing beyond that – no warning about permanence, no note about the confirm requirement's authorization implications, no error behavior. With annotations carrying the safety profile, the description contributes no additional behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two words with no waste, but this is under-specification rather than conciseness – it lacks the substance a destructive tool needs. Brevity here is a deficit, not a virtue.

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

Completeness2/5

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

For a destructive delete tool with no output schema, the description should at minimum state what gets deleted and any irreversibility. Annotations cover the safety hints, but the description leaves the operation's scope and consequences entirely unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (id, confirm) are fully documented in the schema including the const:true authorization requirement. The description adds no parameter meaning, but the schema does the heavy lifting, making baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '删除释义' is essentially the tool name (delete interpretation) restated in Chinese, with no scope, target, or elaboration. An agent knows the verb and resource only because the name already says it. This is tautological rather than genuinely clarifying.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use, when-not-to-use, or alternative mentioned. Siblings such as maimemo_update_interpretation and maimemo_delete_phrase exist, but nothing routes the agent between them. Nothing in the description helps decide when this tool applies.

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

maimemo_delete_noteC
Destructive

删除助记

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes助记 id
confirmYes用户已明确授权本次写入。须为 true。

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false. The description adds no behavioral context such as permanence, confirmation requirements, side effects, or authorization needs beyond repeating the delete action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single short phrase is front-loaded and has no wasted words. However, it is extremely bare for a destructive operation, so conciseness is achieved at the cost of useful structure.

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

Completeness2/5

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

For a destructive write tool with no output schema, the description omits what exactly is deleted, what happens to related data, and why confirm is required. Annotations cover safety hints, but the description remains insufficiently complete for confident invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with both id and confirm documented directly in the schema, so the baseline is 3. The description adds no parameter meaning 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?

States a specific verb (删除) and resource (助记), distinguishing it from create/update/list siblings by action. However, it does not explicitly differentiate it from the other delete tools or clarify whether 助记 maps exactly to the note resource.

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?

Provides no guidance on when to use deletion instead of alternatives such as update or list, and no prerequisites or cautions beyond what the annotations already imply. The agent receives no routing context from the description itself.

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

maimemo_delete_notepadC
Destructive

删除云词本

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes云词本 id
confirmYes用户已明确授权本次写入。须为 true。

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is fully covered by structured data. The description adds no further behavioral context such as permanence of deletion, absence of undo, or auth requirements, effectively only restating the purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short phrase with no wasted words and the purpose is front-loaded, so it is maximally compact. However, the brevity verges on under-specification for a destructive operation rather than being a model of efficient structure.

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 rich annotations (destructive, non-idempotent) plus a complete schema with a mandatory confirm flag cover most of what an agent needs before invoking. The description contributes nothing about irreversibility, scope of deletion, or recovery, leaving it minimally adequate rather than 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%; both 'id' (云词本 id) and the required 'confirm' flag are documented in the schema, including the authorization semantics of confirm. Per the baseline rule for high coverage, the description adds nothing beyond the schema and a 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '删除云词本' (delete cloud notepad) gives a clear verb+resource pair that an agent can map directly to the tool's intent. It is unambiguous on its own but does not differentiate itself from related siblings such as maimemo_delete_phrase or maimemo_delete_note beyond naming the resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives (e.g., get_notepad to verify before deleting). A single phrase of purpose text leaves usage entirely to inference.

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

maimemo_delete_phraseC
Destructive

删除例句

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes例句 id
confirmYes用户已明确授权本次写入。须为 true。

TDQS

C2.5/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the safety profile is covered structurally. The description adds nothing beyond that—no note that deletion is permanent, no mention that the confirm flag is a required authorization, no side-effect context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single terse fragment with no wasted words, which is structurally clean. However, its brevity reflects under-specification rather than disciplined conciseness, since no useful context is conveyed.

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

Completeness2/5

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

For an irreversible destructive delete tool with no output schema, the description omits any statement of irreversibility or authorization semantics. Although the parameters are fully documented in the schema and safety flags live in annotations, the description should at minimum signal that this permanently removes a phrase.

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%: 'id' is documented as the phrase id and 'confirm' is documented as the required write authorization. The description contributes no additional parameter meaning, so the baseline of 3 applies since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '删除例句' states a clear verb (删除) and resource (例句), but it essentially translates the tool name rather than adding distinct meaning. It does not differentiate this tool from sibling delete operations (delete_interpretation, delete_note, delete_notepad), so an agent gains little beyond the name itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, no prerequisites, and no note about irreversibility. The agent must infer usage entirely from the tool name and the destructive annotation.

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

maimemo_get_notepadC
Read-onlyIdempotent

获取云词本

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes云词本 id

TDQS

C2.2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, covering the safety profile. The description adds no further behavioral context such as what is returned, error behavior for a missing id, or remote-fetch semantics implied by openWorldHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single terse fragment with no waste, but this is under-specification rather than conciseness. There is no structure to front-load because there is no substantive content.

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

Completeness2/5

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

For a read tool with no output schema, the description should at least indicate what a notepad record contains or what happens for an invalid id. Annotations cover the safety profile, but the description leaves the agent with only the parameter name to reason from.

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% with a single 'id' parameter documented as the cloud notepad id. The description adds nothing beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '获取云词本' is essentially the tool name (maimemo_get_notepad) restated in Chinese, so it is a tautology rather than an independent statement of purpose. It gives no indication of how it differs from siblings like maimemo_list_notepads or maimemo_get_vocabulary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of prerequisites, and no reference to the alternative maimemo_list_notepads for enumerating notepads. Nothing misleading, but nothing helpful either.

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

maimemo_get_study_progressA
Read-onlyIdempotent

获取今日学习进度(公测) 如果当日未打开 App 进行初始化则无法准确计算总数

公测期间不保证可用性和可能会随时调整,需要在 App 中开启自动同步

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description adds genuinely new behavioral context: it is a public beta with no availability guarantee subject to change, and accurate totals require same-day App initialization plus enabled auto-sync. These are real operational caveats beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and the text is short, but it carries HTML markup (<b> tags) and stray escape artifacts ('\ \') that add noise without meaning. A cleaner plain sentence would serve the agent better.

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 no-parameter read tool with no output schema, the description covers the accuracy caveat, the beta stability warning, and the sync prerequisite — enough for an agent to call it and interpret results sensibly. Only the exact return shape is unspecified, which is a minor gap here.

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?

Zero parameters, so there is no parameter semantics to explain; baseline 4 applies. The description correctly spends no words on inputs.

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?

States a specific verb and resource ('获取今日学习进度' / get today's study progress), which an agent can distinguish from siblings like get_today_items or query_study_records. No explicit sibling differentiation or scope statement, but the purpose is 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?

Provides precondition context ('当日未打开 App 进行初始化则无法准确计算总数', requires auto-sync enabled) which tells the agent when results are reliable. However, it never states when to use this tool versus alternatives such as get_today_items or query_study_records, leaving selection to inference.

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

maimemo_get_today_itemsA
Read-onlyIdempotent

获取今日学习单词(公测) 如果当日未打开 App 进行初始化则无法获取

公测期间不保证可用性和可能会随时调整,需要在 App 中开启自动同步

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes暂无文档

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, open-world, non-destructive behavior, so the safety bar is lower. The description adds genuine extra context beyond that: the daily App-initialization dependency, beta-phase instability, and the auto-sync requirement. It stops short of describing return format, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose is front-loaded, which is good, but the escaped newlines and bold-HTML beta disclaimer consume space with formatting noise rather than added substance. It is adequate but not tight.

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 read-only listing tool with full schema coverage and rich annotations, the description supplies the missing operational context (App initialization dependency, beta caveats, sync requirement). With no output schema, some return-shape information is absent, but the essentials for correct invocation are present.

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 limit, is_new, voc_ids, spellings, and is_finished are already fully documented in the schema, including the mutual exclusivity of voc_ids and spellings. The description adds no parameter meaning beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('获取今日学习单词' – get today's study words) with scope ('今日'), so an agent immediately knows what is retrieved. However it does not distinguish itself from siblings like maimemo_query_study_records or maimemo_get_study_progress, leaving overlap ambiguity.

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?

Gives practical prerequisites: cannot retrieve if the App was not opened/initialized that day, and auto-sync must be enabled in the App. This is useful usage context, but it never names or contrasts an alternative sibling tool, so the agent must infer when to pick this over query_study_records.

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

maimemo_get_vocabularyC
Read-onlyIdempotent

获取单词

ParametersJSON Schema
NameRequiredDescriptionDefault
spellingYes单词拼写

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds no behavioral context of its own — nothing about lookup failure behavior (e.g., what happens when the word does not exist) or any auth/rate constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The phrase is short but that brevity reflects under-specification rather than economy — it is too thin to be useful and contains no front-loaded scoping or purpose information.

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

Completeness2/5

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

This is a simple one-parameter read tool with no output schema, so requirements are modest, but the description still fails to state what is returned (definitions, study state, translations) or how lookups behave for unknown words. The agent is left to infer the tool's contract entirely from the name and 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% and there is only one required parameter ('spelling', documented as '单词拼写'), so the schema fully carries parameter semantics. The description adds nothing beyond it, which meets the baseline of 3 for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '获取单词' (get word) essentially restates the tool name maimemo_get_vocabulary without adding specificity. It does not distinguish this single-word lookup from the sibling maimemo_list_vocabulary, nor indicate what data about the word is retrieved.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as maimemo_list_vocabulary or maimemo_get_notepad. No prerequisites, context, or exclusions are stated.

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

maimemo_list_interpretationsA
Read-onlyIdempotent

获取释义 获取单词下自己创建的释义

ParametersJSON Schema
NameRequiredDescriptionDefault
voc_idYes单词 id

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description usefully discloses a behavioral filter — results are limited to the caller's own self-created interpretations rather than all definitions — but says nothing about ordering, result shape, or whether an empty result is possible.

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?

Very short and front-loaded, with the scoping detail in the second line. The two lines partially restate each other (获取释义 / 获取单词下自己创建的释义), which is mild redundancy rather than bloat, so it stays efficient overall.

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 read-only list tool with full annotation coverage and no output schema, the description supplies what an agent needs: the resource, the scoping word parameter, and the self-created filter. Remaining gaps (pagination/ordering) are minor given the tool's simplicity.

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 there is a single documented parameter (voc_id = 单词 id), so the baseline of 3 applies. The description's phrase 单词下 confirms that voc_id scopes to a vocabulary word but adds no format, ID-source, or constraint 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 gives a clear verb+resource (get interpretations / 释义) and adds a meaningful scope: only interpretations the user created under a given vocabulary word. This distinguishes it from create/update/delete interpretation siblings, though it never names them explicitly. The opening line alone is a near-tautology, but the second line carries the real specification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer it should call this to view its own interpretations for a word, and that mutation tools are the alternatives. There is no explicit statement of when to prefer this over maimemo_get_vocabulary or other list tools, and no prerequisites called out.

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

maimemo_list_notepadsC
Read-onlyIdempotent

查询云词本

ParametersJSON Schema
NameRequiredDescriptionDefault
idsNo词本 id 列表
limitNo查询数量
offsetNo查询跳过

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that — no mention of pagination behavior, filtering semantics, or result ordering for a listing endpoint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short, but this is under-specification rather than conciseness — a single fragment with no front-loaded scope, constraints, or usage cue. Nothing is wasted because almost nothing is said.

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

Completeness2/5

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

For a three-parameter listing tool with full schema coverage and annotations, the description still omits pagination expectations, default limits, and how it differs from get_notepad. An agent could call it, but with notable guesswork about result set shape and filtering.

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%, with ids, limit, and offset each documented in the schema, so the baseline of 3 applies. The description contributes no additional meaning about how ids interact with limit/offset or what filtering is applied.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The phrase '查询云词本' identifies a read/list operation on notepads, so the basic verb+resource is present. However, it says nothing to distinguish this from the sibling maimemo_get_notepad (single fetch) or maimemo_list_notes, leaving the agent to infer scope from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus maimemo_get_notepad, maimemo_list_notes, or the create/update/delete notepad siblings. The only weak hint is that it is a list-style tool, which the name already conveys.

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

maimemo_list_notesB
Read-onlyIdempotent

获取助记 获取单词下自己创建的助记

ParametersJSON Schema
NameRequiredDescriptionDefault
voc_idYes单词 id

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the meaningful scope detail that only notes created by the current user are returned. It does not describe return shape, pagination, or behavior when a word has no notes.

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 very short lines, with the resource front-loaded and the scope qualifier second. The second line largely restates the first with the 'self-created' qualifier, a minor redundancy, but there is no wasted text.

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-only list tool with full schema coverage and rich annotations, this is nearly sufficient. The remaining gap is that no output schema exists and the description never hints at what a returned note contains or how results are ordered or limited.

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 single parameter voc_id is documented in the schema as '单词 id'. The description corroborates this by tying retrieval to a word ('单词下'), but adds no format, ID-source, or validation detail beyond the schema. Baseline 3 applies when the schema does the heavy lifting.

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 gives a clear verb+resource: '获取' (retrieve) '助记' (notes/mnemonics), and adds the scope '单词下自己创建的' (created by yourself under a word). This lets an agent distinguish it from list_interpretations, which operates on a different resource. However, it never names or contrasts a sibling tool explicitly, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus alternatives such as list_interpretations, create_note, or update_note. The phrase '自己创建的' implies a personal-scope filter, but no conditions, prerequisites, or exclusions are given.

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

maimemo_list_phrasesB
Read-onlyIdempotent

获取例句 获取单词下自己创建的例句

ParametersJSON Schema
NameRequiredDescriptionDefault
voc_idYes单词 id

TDQS

B3.2/5.0
Behavior3/5

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

The annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds useful scoping context that only user-created example sentences under a word are returned, but it does not describe return format, pagination, or other behavioral details.

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 short and front-loaded, with the specific scoping detail in the second line. The first line is slightly generic and partly redundant with the second, but overall it is efficient.

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 read-only tool with one fully documented required parameter and annotations covering safety, the description is mostly complete. It lacks usage guidance against sibling tools, but no output schema is needed for the agent to invoke it correctly.

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 only parameter voc_id already has a clear schema description ('单词 id'). The tool description adds no additional syntax or semantic detail beyond what the schema provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: retrieve example sentences under a word, specifically those created by the user. It is clear what the tool returns, though it does not explicitly name sibling alternatives such as getting interpretations or vocabulary details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description only says what is retrieved; it gives no explicit guidance on when to use this tool versus alternatives like maimemo_list_interpretations or maimemo_get_vocabulary. There are no exclusions or conditions for selecting it.

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

maimemo_list_vocabularyA
Read-onlyIdempotent

查询单词 查询条件互斥,只能生效一个

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes暂无文档

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds the mutual-exclusivity behavior of the filters, which is real added context, but says nothing about result size, pagination, or return shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short lines, zero filler, with the core purpose front-loaded followed by the key constraint. It is efficient, though extremely terse for a tool with a nested body object.

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-only list tool with full annotation coverage and no output schema, the description covers the essential constraint but omits anything about volume/limits or the shape of returned entries. It is minimally adequate rather than complete.

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 and the schema already documents ids and spellings (max 1000 each). The description adds material meaning beyond the schema by stating the two filters are mutually exclusive and only one will be honored, which the schema does not express.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource ("查询单词" / query words), which tells the agent this retrieves vocabulary entries. However, it provides no differentiation from siblings such as maimemo_get_vocabulary or maimemo_list_notes, leaving the agent to guess which lookup path applies.

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?

"查询条件互斥,只能生效一个" gives a concrete invocation constraint (only one filter can take effect), which is useful. But there is no guidance on when to choose this tool over maimemo_get_vocabulary or other listing siblings, so usage is only partially covered.

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

maimemo_query_study_recordsA
Read-onlyIdempotent

查询学习记录(公测) 查询场景举例

  • 获取规划总量:as_count=true

  • 获取未来某天要背的单词数:next_study_date: {end: "2026-04-01T00:00:00+08:00"}, as_count=true

  • 获取未来某天要背的单词列表:next_study_date: {end: "2026-04-01T00:00:00+08:00"}

    \

公测期间不保证可用性和可能会随时调整,需要在 App 中开启自动同步

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes暂无文档

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish readOnlyHint, idempotentHint and non-destructive behavior, so the safety profile is covered. The description adds non-annotation value by disclosing beta status, no availability guarantee, possible changes, and the prerequisite that auto-sync must be enabled in the App.

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?

Purpose is front-loaded and the examples are dense and useful, but the trailing beta warning carries stray formatting (backslash, <b> tags) that adds noise without adding information beyond the warning itself.

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?

With no output schema, the description's examples implicitly communicate the two return shapes (aggregate count vs. record list) and the beta caveat warns about reliability, which is enough for an agent to call and interpret it. Pagination/limit behavior is left entirely to the schema.

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, but the worked examples show how parameters combine in practice (as_count with next_study_date.end to return a count vs. omitting as_count to return the list), which is meaning the schema alone does not convey. It does not explain limit or tag semantics 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 opening line '查询学习记录' states a clear verb+resource, and the three scenario examples sharpen what 'study records' actually covers (planning totals, upcoming study counts, upcoming word lists). It does not explicitly contrast itself with the nearby sibling maimemo_get_study_progress, so it stops short of a 5.

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?

Usage is conveyed through three concrete call scenarios rather than prose when/when-not rules: use as_count=true for totals, next_study_date.end for future-day counts or lists. That gives an agent clear selection context, but no exclusion or alternative-tool guidance is offered.

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

maimemo_update_interpretationC
Destructive

更新释义

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes释义 id
bodyYes暂无文档
confirmYes用户已明确授权本次写入。须为 true。

TDQS

C2.1/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond the name — it does not mention that this is a destructive write requiring authorization, what gets overwritten, or the mandatory confirm flag.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is technically brief, but it is under-specified rather than concise — a bare restatement of the tool's action with no front-loaded context or structure. Brevity here reflects missing information, not efficiency.

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

Completeness1/5

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

For a destructive, non-idempotent write tool with a nested body object and a mandatory confirm=true authorization parameter, the description is wholly inadequate. Nothing about the write semantics, the confirmation requirement, or the nested update payload is conveyed.

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 id, the nested body.interpretation fields, and the confirm authorization flag. The description contributes no additional parameter meaning, which is the baseline 3 when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The phrase '更新释义' names a specific verb (更新/update) and resource (释义/interpretation), so the basic action is identifiable. However, it offers no differentiation from siblings like maimemo_create_interpretation or maimemo_delete_interpretation beyond the verb, and adds no scope or field detail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance whatsoever on when to use this tool versus the create/delete/list interpretation siblings. No prerequisites, no exclusions, no conditions are stated.

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

maimemo_update_noteD
Destructive

更新助记

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes助记 id
bodyYes暂无文档
confirmYes用户已明确授权本次写入。须为 true。

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare the full safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true), and "更新" is consistent with them, so there is no contradiction. However, the description adds nothing beyond the annotations — no note that this overwrites existing mnemonic content, and no mention of the explicit user-authorization requirement encoded in confirm.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

At four characters this is under-specification rather than conciseness. There is no wasted padding, but there is also no front-loaded context an agent can act on.

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

Completeness1/5

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

For a destructive, non-idempotent mutation tool with nested objects, a required authorization flag, and no output schema, a bare "更新助记" leaves the agent without any of the context needed to invoke it responsibly.

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 of 3 applies even though the description contributes no parameter detail. The nested body/note descriptions are largely mechanical (one even says "暂无文档"), but the structured schema does the explaining.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

"更新助记" (update mnemonic) simply restates the tool name maimemo_update_note in Chinese, giving no additional specificity about what is being updated or how it differs from maimemo_create_note / maimemo_delete_note. It is a tautology of the identifier rather than a clarifying statement of purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance whatsoever on when to use this tool versus its siblings (create_note, delete_note, update_interpretation, etc.), nor any mention of prerequisites. The only implicit cue is the required confirm parameter from the schema, which the description itself never references.

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

maimemo_update_notepadC
Destructive

更新云词本

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes云词本 id
bodyYes暂无文档
confirmYes用户已明确授权本次写入。须为 true。

TDQS

C2.5/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, but the description adds nothing on top of them. It never mentions that the schema allows status=DELETED (a destructive semantic), that 'confirm' must be explicitly true, or that the operation is non-idempotent, so a mutation tool ships with essentially no behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short phrase with no filler, so there is no wasted text. But the sentence is so minimal that it barely earns its place and reads as under-specification rather than disciplined brevity.

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

Completeness2/5

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

For a destructive, non-idempotent write with a required confirmation flag and a nested object containing a DELETE-capable status enum and no output schema, the description is far too thin. An agent gets no warning about the DELETED semantics or the authorization requirement, which are the highest-risk aspects of this call.

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%, with all three parameters and the nested notepad object fully annotated in the schema, so the baseline of 3 applies. The description contributes no additional parameter meaning beyond what the structured fields already provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a verb (更新) and a resource (云词本), so the basic operation is identifiable. However it offers no scope detail and no differentiation from near-identical siblings such as maimemo_update_note, maimemo_create_notepad, or maimemo_delete_notepad, so an agent must infer the boundary from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use, when-not-to-use, or alternative-tool guidance. Nothing tells the agent how this differs from maimemo_update_note or why one would choose it over create/delete_notepad, 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.

maimemo_update_phraseC
Destructive

更新例句

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes例句 id
bodyYes暂无文档
confirmYes用户已明确授权本次写入。须为 true。

TDQS

C2.2/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing about what is overwritten, whether the nested body replaces or merges existing fields, or the required authorization semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short, but this is under-specification rather than conciseness; there is no front-loaded explanation of scope, constraints, or the nested phrase payload an agent must construct.

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

Completeness2/5

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

For a destructive mutation tool with a required nested object and a mandatory confirm flag, the description omits everything an agent needs beyond the safety hints: what the update affects, how body nesting works, and when this tool is the right choice over its siblings.

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 parameters (id, body, confirm) are documented in the schema itself, establishing the baseline of 3. The description contributes no additional meaning, and notably the nested body object carries only "暂无文档" in the schema, which the description does not compensate for.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

"更新例句" states a specific verb (更新) and resource (例句), so an agent knows the operation type. However, it gives no scope or detail and does nothing to distinguish this tool from siblings like maimemo_update_interpretation or maimemo_update_note, which follow the same pattern.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance whatsoever about when to use this tool versus the create/list/delete phrase siblings, nor any prerequisite or context. The entire description is a four-character label.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 25 tool updatesv0.1.2
    • First observedmaimemo_add_words
    • First observedmaimemo_advance_study
    • First observedmaimemo_connection_status
    • First observedmaimemo_create_interpretation
    • First observedmaimemo_create_note
    • First observedmaimemo_create_notepad
    • First observedmaimemo_create_phrase
    • First observedmaimemo_delete_interpretation
    • First observedmaimemo_delete_note
    • First observedmaimemo_delete_notepad
    • First observedmaimemo_delete_phrase
    • First observedmaimemo_get_notepad
    • First observedmaimemo_get_study_progress
    • First observedmaimemo_get_today_items
    • First observedmaimemo_get_vocabulary
    • First observedmaimemo_list_interpretations
    • First observedmaimemo_list_notepads
    • First observedmaimemo_list_notes
    • First observedmaimemo_list_phrases
    • First observedmaimemo_list_vocabulary
    • First observedmaimemo_query_study_records
    • First observedmaimemo_update_interpretation
    • First observedmaimemo_update_note
    • First observedmaimemo_update_notepad
    • First observedmaimemo_update_phrase

TDQS

C2.8/5.0

Scored across 25 tools

Disambiguation4/5

Tools are organized by distinct resources (interpretation, note, notepad, phrase, vocabulary) with clear CRUD actions. Minor potential confusion exists between note (助记) and notepad (云词本), and among get/list/query read variants, but descriptions generally clarify intent.

Naming Consistency4/5

Almost all tools follow the maimemo_verb_noun snake_case pattern. Minor deviations include singular/plural inconsistency (get_notepad vs list_notepads), connection_status lacking a verb, and mixed read verbs like list/get/query.

Tool Count3/5

At 25 tools, the server is borderline heavy for its scope. Each operation is distinct, but many CRUD families could potentially be consolidated, and the count exceeds the ideal 3-15 range.

Completeness4/5

The surface covers CRUD for interpretations, notes, notepads, and phrases, plus vocabulary lookup and study features. Minor gaps include no create/update vocabulary and no detailed get for note/interpretation/phrase, and several study tools are beta.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers