Strong foundation with 16 well-defined tools covering local development workflows. All tools have explicit descriptions (avg 180 chars, within baseline 194) and complete input schemas with typed parameters. Naming follows verb_noun convention (local_bash, local_file_read, local_git_status). Critical gaps: no output schemas documented, no error handling guidance, no tool annotations (readOnlyHint/destructiveHint), and descriptions lack actionable recovery hints. Risk classifications present (READ_ONLY, DESTRUCTIVE, IRREVERSIBLE) but not machine-readable in schema. Parameter descriptions are solid but some lack format constraints (e.g., timeout ranges stated in text, not schema minima/maxima).
认证工具:传入服务启动时控制台生成的 PIN,完成用户认证。用户标识由平台通过请求头自动注入,无需手动传入。认证成功后,当前用户获得所有工具调用权限。
应用 patch,支持两种格式(按内容自动识别)。① 结构化多文件格式:以 "*** Begin Patch" 开头,可在一次调用里新增/修改/删除/重命名多个文件,要改多个文件时优先用它——多文件采用两阶段提交,任一操作失败则整体不落盘,不会留下改了一半的工作区。② 传统 unified diff:需同时传 path,只作用于单个文件。
向服务端终端前的操作者提问并等待回答。【遇到判断不了的事,优先用本工具问,不要凭猜测继续。】终端前的人掌握你无从知晓的信息:哪个配置文件是生效的、这台机器能不能重启服务、该用哪个环境、这个文件能不能覆盖、两个同名目录该改哪个。典型场景:命令或改动有破坏性且不可逆;存在多个都说得通的做法且代价不同;任务描述有歧义;发现现场与预期不符(文件已存在/内容与预期不同)。给出 options 时终端会显示编号供快速选择,比让人手打字更好。若返回 answered:false(无终端、超时或操作者不作答),不要重试,改为在对话中直接问用户,或按最佳判断继续并明确说明你所做的假设。
在本地执行 shell 命令,支持 Windows (cmd/powershell) 和 Unix (bash/sh)。返回 stdout、stderr 和退出码。找文件请用 local_glob、搜内容请用 local_search_files,它们有并发与超时保护,比在这里跑 find/grep 更可靠也更省 token。命令具破坏性或有副作用(删除、覆盖、改动服务状态、对外发请求)而你又不完全确定时,先用 local_ask_user 问操作者。
比较两个文件的差异,输出 unified diff 格式
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., what does local_glob return? file paths only, or metadata?). Baseline: 100% of A+ tools document return types.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) in schema. Risk classifications exist in metadata (READ_ONLY, DESTRUCTIVE, IRREVERSIBLE) but are not machine-readable. MCP spec 2026-07-28 expects these as schema properties for agent safety.
Numeric parameter constraints (timeout, limit, offset, maxDepth) stated in descriptions but not in schema (no minimum/maximum fields). LLMs cannot validate bounds before calling; server must reject invalid values with actionable error messages.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | <=2025-11-25 | v2 |
精确字符串替换编辑文件。old_string 必须在文件中唯一匹配(或使用 replace_all=true 替换全部匹配)
读取本地文件内容,支持文本文件的行范围读取。敏感文件(.env、密钥等)会在响应中标记。
写入或覆盖本地文件。会覆盖已有内容且不可撤销——若不确定该不该覆盖、或不确定该写哪个文件,先用 local_ask_user 问操作者。
查看 git 工作区或暂存区的差异
查看 git 仓库工作区状态(已修改/已暂存/未跟踪文件)
按 glob 模式查找文件,按修改时间倒序返回(最近改动的排在前面)。只看路径不读内容,找文件时比 local_search_files 快得多——「有哪些 xx 文件」用本工具,「哪些文件里包含 xx」才用 local_search_files。支持 ** 跨目录、{a,b} 多选、[abc] 字符类。默认跳过 node_modules/.git/dist 等目录,但模式里显式写了这些目录名时不跳过。
列出目录内容,返回文件和子目录列表
在文件中搜索内容,支持正则表达式和 glob 文件过滤。自动跳过 node_modules / .git / dist / build 等目录。
读回当前会话的任务清单。长任务中途、或不确定进行到哪一步时调用它对齐进度。
写入/覆盖当前会话的任务清单。多步任务建议先列清单再逐项推进:你的上下文可能被压缩,早期定下的计划会丢失,而清单存在服务端,读回来永远完整。每次调用传入完整清单(不是增量),同一时刻建议只让一项处于 in_progress。
从服务端机器发起 HTTP(S) 请求抓取网页或接口内容。关键价值在于「从本机发起」:能访问 localhost 上的开发服务、内网文档站、只对办公网开放的接口——这些你自己够不着。正因如此,每个站点首次访问需服务端操作者在终端确认。若只是查公开资料,用你自身的联网能力更快,不必绕道本工具。
Error handling guidance missing. Descriptions warn about destructive operations (e.g., local_file_write: 'ask user first') but no tool returns structured error responses with recovery hints. Pattern: recovery-guide requires 'what to do next' in error messages.
local_ask_user timeout parameter (default 120000ms, max 600000ms) lacks schema constraints. Also, no documented response schema, does it return {answered: boolean, response: string}? LLMs need to know the structure to parse answers.