MCP server integration layer for AiCode agent framework. Adapts MCP server tools into the AiCode agent tool ecosystem with namespace management, permission policies, and schema translation.
Two tools with detailed Chinese descriptions and complex parameter schemas, but critical gaps prevent higher scoring. Browser tool has 15+ parameters with types and descriptions, but lacks output schema documentation and error recovery guidance. Terminal tool similarly lacks output schema. Neither tool follows verb_noun naming convention (should be 'control_browser', 'manage_terminal'). Descriptions are lengthy (500+ chars) but written in Chinese, making LLM optimization unclear. No evidence of idempotency hints, confirmation patterns for destructive ops, or structured error responses. Tool definitions appear directly visible in code (McpTool.kt), not inferred.
控制内置浏览器执行自动化操作。支持多标签页(Multi-tab)与后台运行。所有操作支持可选参数 tabId(缺省时作用于当前激活的标签页)。常规操作不会自动截图,需查看页面视觉内容时请显式调用 action="screenshot",截图将自动保存到项目 .aicode 目录。newTab 新建标签页,closeTab 关闭标签页,selectTab 切换标签页,listTabs 列出所有标签页。evaluate 支持 async/Promise,返回原生 JSON(保留 number/boolean/null 类型)。click 使用完整事件链,兼容 React/Vue。fill 使用 native setter + React valueTracker hack。selector 支持 ref= / text= / text*= / role=button[name=xxx] / xpath= / CSS。每次返回 tabId+url+title。getBackbone 返回无障碍树(role/name/ref,已过滤 script/style 与不可见元素),ref 可传给 selector 直接操作元素。select 选原生下拉,dialog 处理 confirm/prompt 对话框,console 取页面控制台日志。
管理常驻后台终端会话页面。支持启动后台命令、按标签发送输入/快捷键、读取输出、列出/关闭标签。耗时长且会自行结束的任务(编译、测试)用 start + notify=true:start 只返回初始输出,结束后系统会主动回调并触发新一轮,勿轮询;常驻服务用 notify=false,需要结果时再 read。中断前台进程用 key=ctrl+c。
No output schema documented for either tool. LLMs cannot plan downstream calls or extract structured data from responses. Browser returns tabId+url+title per code, but this is not formally declared in schema.
Tool names do not start with action verbs. 'browser' and 'terminal' are nouns; should be 'control_browser', 'manage_terminal', or 'execute_browser_action'. LLMs infer intent from verb-first names.
Destructive operations (terminal 'start' with elevate=true, browser 'click' on critical elements) lack confirmation or dry-run patterns. No guidance for agents to verify intent before irreversible actions.
Error responses not documented. No guidance on retryability, user-fixable vs fatal errors, or recovery steps. E.g., what happens if browser navigation fails? Can agent retry or must it ask user?
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | <=2025-11-25 | v2 |
Descriptions in Chinese only. While detailed, LLM optimization typically assumes English. No English fallback or translation provided. Reduces cross-language agent compatibility.