14 MCP · browserIsolation · 管理本机命名的隔离 Chrome 浏览器。browserIsolation_local_create、materialize 和 instances 管理本地资料、快捷方式和扩展文件;browserIsolation_control_connections、loginState/copy 及页面接口只控制已连接扩展,不会启动 Chrome。browserIsolation_control_research_query 访问并读取已知 URL,不执行搜索。首次使用可能需要手动加载扩展。等待消费
tool /browserIsolation/local/create · 创建或打开命名的隔离 Chrome 实例,并生成或更新桌面快捷方式。新实例可从本机 Chrome 资料复制数据;同名实例沿用已有资料和启动设置。Chrome 会打开扩展管理页;若扩展尚未安装,按返回的 extension.path 手动加载。成功表示本地资料和启动已完成,不表示扩展已经连接。defaultUrl 仅在新建时生效。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "isolationName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "用户明确指定的隔离浏览器名称;沿用上下文中已指定的名称,尚未指定时先询问用户。同名实例复用同一资料目录。"
    },
    "defaultUrl": {
      "type": "string",
      "format": "uri",
      "description": "新建实例时保存的默认启动 URL,须为完整地址;实例已存在时沿用原设置,本次传值不会更新它。"
    },
    "sourceProfileName": {
      "description": "新建时可选复制的本机 Chrome 资料目录名,如 Default 或 Profile 1;复制前须关闭全部 Chrome。省略则使用内置模板,实例已存在时不再复制。",
      "type": "string",
      "pattern": "^(Default|Profile [1-9]\\d*)$"
    }
  },
  "required": [
    "isolationName",
    "defaultUrl"
  ]
}
tool /browserIsolation/local/materialize · 为全部已创建的隔离浏览器生成或更新 Windows 桌面快捷方式,返回快捷方式路径列表;仅更新快捷方式,不启动浏览器。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /browserIsolation/local/instances · 列出本地已创建的隔离浏览器名称、资料目录、默认启动地址和来源 profile(若有),用于查找本地实例;不检查扩展连接状态。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /browserIsolation/control/connections · 启动本机浏览器控制监听,并列出当前已连接扩展的实例名称、连接时间与最近心跳时间;不读取本地资料目录,也不启动 Chrome。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /browserIsolation/control/loginState/copy · 从来源实例向目标实例写入 chatgpt.com 和 openai.com 域下允许复制的 Cookie,覆盖同名、同域、同路径的目标 Cookie。来源没有的目标 Cookie 不会删除,因此不会使两个资料完全同步。两个实例的扩展必须已经连接;返回复制数量和实例名称,不返回 Cookie 值,也不保证目标网站已登录。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "sourceIsolationName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "用户已指定且扩展已连接的来源实例名称;从中读取允许复制的 Cookie。"
    },
    "targetIsolationName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "用户已指定且扩展已连接的目标实例名称,须与来源不同。同名、同域、同路径的 Cookie 会被覆盖;来源没有的目标 Cookie 不会删除。"
    }
  },
  "required": [
    "sourceIsolationName",
    "targetIsolationName"
  ]
}
tool /browserIsolation/control/tabs · 列出指定已连接隔离浏览器全部窗口中的页签,返回 ID、标题、URL、活动状态、加载状态和窗口 ID。扩展离线时返回错误,不会启动 Chrome。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "isolationName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "用户明确指定的隔离浏览器名称;沿用上下文中已指定的名称,尚未指定时先询问用户。同名实例复用同一资料目录。"
    }
  },
  "required": [
    "isolationName"
  ]
}
tool /browserIsolation/control/page · 读取指定已连接页签顶层文档的当前快照,返回标题、URL、最多 30000 字符的正文和 200 个可见交互元素及其 selector。密码输入框的 value 被省略,其他页面文字和输入值可能包含敏感信息。不等待页面加载完成。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "isolationName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "用户明确指定的隔离浏览器名称;沿用上下文中已指定的名称,尚未指定时先询问用户。同名实例复用同一资料目录。"
    },
    "tabId": {
      "description": "指定实例中的页签 ID;可用 browserIsolation_control_tabs 查询。省略时使用最近聚焦窗口的活动页签。",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "isolationName"
  ]
}
tool /browserIsolation/control/navigate · 激活指定已连接浏览器中的现有页签并导航到完整 URL,沿用该浏览器当前资料和会话状态。返回导航请求后的页签信息,不保证站点已登录或页面已加载完成;需要重新读取时调用 browserIsolation_control_page。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "isolationName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "用户明确指定的隔离浏览器名称;沿用上下文中已指定的名称,尚未指定时先询问用户。同名实例复用同一资料目录。"
    },
    "tabId": {
      "description": "指定实例中的页签 ID;可用 browserIsolation_control_tabs 查询。省略时使用最近聚焦窗口的活动页签。",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "url": {
      "type": "string",
      "format": "uri",
      "description": "要在现有页签打开的完整 URL;会替换该页签当前页面。"
    }
  },
  "required": [
    "isolationName",
    "url"
  ]
}
tool /browserIsolation/control/click · 在页签顶层文档中查找首个匹配元素,滚动到该元素、聚焦并调用 click;可能触发页面跳转或表单提交。页面变化后 selector 可能失效,应先重新调用 browserIsolation_control_page。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "isolationName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "用户明确指定的隔离浏览器名称;沿用上下文中已指定的名称,尚未指定时先询问用户。同名实例复用同一资料目录。"
    },
    "tabId": {
      "description": "指定实例中的页签 ID;可用 browserIsolation_control_tabs 查询。省略时使用最近聚焦窗口的活动页签。",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "selector": {
      "type": "string",
      "minLength": 1,
      "description": "顶层文档中的 CSS 选择器,操作首个匹配元素。可先调用 browserIsolation_control_page 获取 selector;页面变化后 selector 可能失效,应重新读取页面。"
    }
  },
  "required": [
    "isolationName",
    "selector"
  ]
}
tool /browserIsolation/control/fill · 设置页签顶层文档中 input、textarea 或 contenteditable 元素的内容,并触发 input 和 change 事件;页面可能据此自动保存或提交。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "isolationName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "用户明确指定的隔离浏览器名称;沿用上下文中已指定的名称,尚未指定时先询问用户。同名实例复用同一资料目录。"
    },
    "tabId": {
      "description": "指定实例中的页签 ID;可用 browserIsolation_control_tabs 查询。省略时使用最近聚焦窗口的活动页签。",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "selector": {
      "type": "string",
      "minLength": 1,
      "description": "顶层文档中的 CSS 选择器,操作首个匹配元素。可先调用 browserIsolation_control_page 获取 selector;页面变化后 selector 可能失效,应重新读取页面。"
    },
    "value": {
      "type": "string",
      "description": "要写入输入框、文本域或 contenteditable 元素的文本。"
    }
  },
  "required": [
    "isolationName",
    "selector",
    "value"
  ]
}
tool /browserIsolation/control/press · 向指定元素或当前焦点元素派发脚本生成的 keydown、keypress、keyup 事件。仅支持单个键,不支持 Ctrl+A 等组合键或修饰键;不保证产生真实按键的默认行为,例如输入文字或按 Enter 提交表单。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "isolationName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "用户明确指定的隔离浏览器名称;沿用上下文中已指定的名称,尚未指定时先询问用户。同名实例复用同一资料目录。"
    },
    "tabId": {
      "description": "指定实例中的页签 ID;可用 browserIsolation_control_tabs 查询。省略时使用最近聚焦窗口的活动页签。",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 32,
      "description": "单个 KeyboardEvent.key 键名,如 Enter、Escape 或 ArrowDown。仅派发脚本事件,不支持 Ctrl+A 等组合键或修饰键。"
    },
    "selector": {
      "description": "可选的顶层文档 CSS 选择器。省略时使用当前焦点元素;未找到有效目标时回退到页面 body。",
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "isolationName",
    "key"
  ]
}
tool /browserIsolation/control/exec · 在指定页签的页面主执行环境求值 JavaScript 表达式,等待 Promise 并返回结果的 type、value 或 unserializableValue。代码可读取页面可见数据、发送网络请求或修改页面;仅在 page、click、fill、press 无法完成时使用。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "isolationName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "用户明确指定的隔离浏览器名称;沿用上下文中已指定的名称,尚未指定时先询问用户。同名实例复用同一资料目录。"
    },
    "tabId": {
      "description": "指定实例中的页签 ID;可用 browserIsolation_control_tabs 查询。省略时使用最近聚焦窗口的活动页签。",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "expression": {
      "type": "string",
      "minLength": 1,
      "description": "在目标页页面主执行环境求值的 JavaScript 表达式。支持返回可 JSON 序列化结果和 Promise;可读取页面可见数据、发送网络请求或修改页面。仅在专用页面操作无法完成时使用。"
    }
  },
  "required": [
    "isolationName",
    "expression"
  ]
}
tool /browserIsolation/control/screenshot · 激活指定页签并聚焦其窗口,截取当前可见区域,返回图像 dataUrl 和页签信息;图像仅包含视口范围。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "isolationName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "用户明确指定的隔离浏览器名称;沿用上下文中已指定的名称,尚未指定时先询问用户。同名实例复用同一资料目录。"
    },
    "tabId": {
      "description": "指定实例中的页签 ID;可用 browserIsolation_control_tabs 查询。省略时使用最近聚焦窗口的活动页签。",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "format": {
      "default": "png",
      "description": "截图图像格式,默认 png。",
      "type": "string",
      "enum": [
        "png",
        "jpeg"
      ]
    },
    "quality": {
      "description": "传给浏览器截图接口的图像质量,整数 0 至 100。省略时使用浏览器默认值。",
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "isolationName"
  ]
}
tool /browserIsolation/control/research/query · 访问并读取已知 URL,不执行搜索。使用指定已连接隔离 Chrome 的当前资料和会话状态,激活指定页签;未提供 tabId 时使用当前活动页签。导航到 url,等待 waitMs 后读取顶层页面快照,返回标题、读取时的 URL、最多 30000 字符的正文和 200 个可交互元素。固定等待不保证站点已登录或页面加载完成;需要重新读取时调用 browserIsolation_control_page。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "isolationName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "用户明确指定的隔离浏览器名称;沿用上下文中已指定的名称,尚未指定时先询问用户。同名实例复用同一资料目录。"
    },
    "tabId": {
      "description": "指定实例中的页签 ID;可用 browserIsolation_control_tabs 查询。省略时使用最近聚焦窗口的活动页签。",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "url": {
      "type": "string",
      "format": "uri",
      "description": "要在指定页签访问的完整 URL。"
    },
    "waitMs": {
      "description": "发出导航请求后等待的毫秒数,默认 1000,范围 0 至 30000。固定等待不保证页面或异步内容加载完成。",
      "type": "integer",
      "minimum": 0,
      "maximum": 30000
    }
  },
  "required": [
    "isolationName",
    "url"
  ]
}
4 MCP · codex-mcpserver · 读取、维护并原子物化 Codex 全局公理公约法规。等待消费
tool /tpl/source · 读取当前 Codex 全局模板 TypeScript 源码;不会修改模板或全局配置文件。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /tpl/source/update · 静态验证并保存 Codex 全局模板 TypeScript 源码,同时登记允许物化;不会执行源码表达式,也不会立即物化文件。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "source": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "source"
  ]
}
tool /tpl/output/filesStatus · 检查 Codex 全局模板输出并生成物化计划;必须在物化前调用;不会修改任何文件。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /tpl/output/materialize · 按最近一次无阻塞且未过期的输出计划,把当前 Codex 全局模板原子写入用户目录的 .codex 受管文件;调用前必须完成源码登记和输出检查。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
2 MCP · templates · 为 AI 提供用户响应模板。等待消费
tool /response/buttonGroup · 以按钮组形式呈现有限选项,返回可由宿主渲染的按钮组模板。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1
    },
    "choices": {
      "minItems": 1,
      "maxItems": 32,
      "type": "array",
      "items": {
        "type": "array",
        "prefixItems": [
          {
            "type": "string",
            "minLength": 1
          },
          {
            "type": "string",
            "minLength": 1
          }
        ]
      }
    }
  },
  "required": [
    "title",
    "choices"
  ]
}
tool /response/copyText · 返回可由宿主展示和复制的完整文本模板,不会自动写入剪贴板。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1
    },
    "text": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "title",
    "text"
  ]
}
10 MCP · debug · 研究、验证并交付不同来源的 preload、补丁和插件。等待消费
tool /debug/browser-extension/preload/source · 返回浏览器控制扩展的 manifest、service worker 源码和公开 RPC 方法。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /debug/browser-extension/preload/verify · 在隔离 JavaScript 上下文中校验浏览器控制扩展的 manifest、service worker 语法、权限和公开 RPC 方法。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "manifest": {
      "type": "object",
      "properties": {
        "manifest_version": {
          "type": "number",
          "const": 3
        },
        "name": {
          "type": "string",
          "minLength": 1
        },
        "version": {
          "type": "string",
          "minLength": 1
        },
        "description": {
          "type": "string",
          "minLength": 1
        },
        "minimum_chrome_version": {
          "type": "string",
          "minLength": 1
        },
        "permissions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "host_permissions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "background": {
          "type": "object",
          "properties": {
            "service_worker": {
              "type": "string",
              "const": "service-worker.js"
            }
          },
          "required": [
            "service_worker"
          ],
          "additionalProperties": false
        },
        "icons": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "string"
          }
        },
        "action": {
          "type": "object",
          "properties": {
            "default_icon": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "string"
              }
            },
            "default_popup": {
              "type": "string"
            },
            "default_title": {
              "type": "string"
            }
          },
          "required": [
            "default_icon",
            "default_popup",
            "default_title"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "manifest_version",
        "name",
        "version",
        "description",
        "minimum_chrome_version",
        "permissions",
        "host_permissions",
        "background",
        "icons",
        "action"
      ],
      "additionalProperties": false
    },
    "source": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "manifest",
    "source"
  ]
}
tool /debug/browser-extension/preload/test · 在隔离的 Chrome API 与 WebSocket 替身中执行 service worker,并验证 tabs RPC 的闭环响应。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "manifest": {
      "type": "object",
      "properties": {
        "manifest_version": {
          "type": "number",
          "const": 3
        },
        "name": {
          "type": "string",
          "minLength": 1
        },
        "version": {
          "type": "string",
          "minLength": 1
        },
        "description": {
          "type": "string",
          "minLength": 1
        },
        "minimum_chrome_version": {
          "type": "string",
          "minLength": 1
        },
        "permissions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "host_permissions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "background": {
          "type": "object",
          "properties": {
            "service_worker": {
              "type": "string",
              "const": "service-worker.js"
            }
          },
          "required": [
            "service_worker"
          ],
          "additionalProperties": false
        },
        "icons": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "string"
          }
        },
        "action": {
          "type": "object",
          "properties": {
            "default_icon": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "string"
              }
            },
            "default_popup": {
              "type": "string"
            },
            "default_title": {
              "type": "string"
            }
          },
          "required": [
            "default_icon",
            "default_popup",
            "default_title"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "manifest_version",
        "name",
        "version",
        "description",
        "minimum_chrome_version",
        "permissions",
        "host_permissions",
        "background",
        "icons",
        "action"
      ],
      "additionalProperties": false
    },
    "source": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "manifest",
    "source"
  ]
}
tool /debug/browser-extension/plugin/create · 把正式浏览器控制扩展复制到尚不存在的明确目录,不修改内置源扩展。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "outputPath": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "outputPath"
  ]
}
tool /debug/browser-extension/plugin/distribute · 把正式浏览器控制扩展打包为尚不存在的 ZIP 分发文件。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "outputPath": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "outputPath"
  ]
}
tool /debug/vscode-cdp/getDebuggerUrl · 仅检查指定工作区是否已有可用 VS Code CDP;成功返回 status、webSocketDebuggerUrl、cdpProcessId 和可用的 vscodeWindowHandle,未找到时返回启动所需的 executablePath、cwd、port,不启动 VS Code。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "cwd": {
      "type": "string",
      "minLength": 1,
      "description": "VS Code 工作区路径"
    }
  },
  "required": [
    "cwd"
  ]
}
tool /debug/vscode-cdp/createDebuggerUrl · 始终为指定工作区创建独立的 VS Code 窗口,使用独立 user-data-dir 和远程调试端口;成功返回 status、webSocketDebuggerUrl、cdpProcessId 和 vscodeWindowHandle,窗口句柄用于后续精确关闭本次窗口,不复用已有窗口。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "cwd": {
      "type": "string",
      "minLength": 1,
      "description": "VS Code 工作区路径"
    }
  },
  "required": [
    "cwd"
  ]
}
tool /debug/vscode-cdp/debuggerUrl · 先获取指定工作区的 VS Code CDP;已有则返回,未找到则创建独立 VS Code 窗口后返回 status、webSocketDebuggerUrl、cdpProcessId 和 vscodeWindowHandle,窗口句柄用于后续精确关闭本次窗口。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "cwd": {
      "type": "string",
      "minLength": 1,
      "description": "VS Code 工作区路径"
    }
  },
  "required": [
    "cwd"
  ]
}
tool /debug/vscode-codex-extension/cdp/patch · cdp方式对 VSCode的Codex插件的WebView的input输入框输入text并提交;成功返回统一 JSON { status: "sent", capability: "codex.input", textLength },不等待或返回 Codex 回复。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "webSocketDebuggerUrl": {
      "type": "string",
      "format": "uri",
      "description": "VS Code Codex WebView 的 WebSocket CDP 调试地址。"
    },
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100000
    }
  },
  "required": [
    "webSocketDebuggerUrl",
    "text"
  ]
}
tool /debug/vscode-codex-extension/preload/patch · 对VSCode的Codex插件的WebView注入preload脚本;并返回 codexExtensionPath、preloadPath 和 preloadSource 给 AI。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "peerIdPrefix": {
      "type": "string",
      "minLength": 1,
      "maxLength": 32,
      "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$"
    },
    "peerjs": {
      "type": "object",
      "properties": {
        "config": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        "host": {
          "type": "string",
          "minLength": 1
        },
        "key": {
          "type": "string",
          "minLength": 1
        },
        "path": {
          "type": "string",
          "pattern": "^\\/[A-Za-z0-9._~-]+(?:\\/[A-Za-z0-9._~-]+)*$"
        },
        "port": {
          "type": "integer",
          "minimum": 1,
          "maximum": 65535
        },
        "secure": {
          "type": "boolean"
        }
      },
      "required": [
        "host",
        "path",
        "port",
        "secure"
      ],
      "additionalProperties": false
    },
    "preloadBundlePath": {
      "type": "string",
      "minLength": 1
    },
    "extensionPath": {
      "type": "string",
      "minLength": 1,
      "description": "已安装的 openai.chatgpt Codex 扩展目录。"
    },
    "outputPath": {
      "type": "string",
      "minLength": 1,
      "description": "尚不存在的补丁扩展输出目录。"
    },
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100000
    }
  },
  "required": [
    "extensionPath",
    "outputPath",
    "text"
  ]
}
11 MCP · packagecli · 管理 Node.js 包、pnpm 工作区、Git 仓库和 GitHub 发布流程。每个工具都要求传入经过验证的绝对目标路径,并返回实际执行结果、变更文件和错误原因。等待消费
tool /packagecli/nodeScript/nodePkgCreate · 根据模板类型在 parentPath 下创建 Node.js 包,并按模板规则完成初始化。name 是包名,tpltype 决定模板;未提供 tpltype 时只返回可选模板,不创建目录。创建成功后返回绝对目标路径、包身份和初始化文件。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "parentPath": {
      "type": "string",
      "minLength": 1,
      "description": "一个已经存在的绝对目录路径。"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 214,
      "pattern": "^[a-z0-9][a-z0-9._-]*$"
    },
    "tpltype": {
      "type": "string",
      "enum": [
        "chrome-extension-application",
        "chrome-preloadextension-application",
        "vscode-extension-application",
        "vscode-preloadextension-application",
        "electron-vite-application",
        "hono-application",
        "react-application"
      ]
    }
  },
  "required": [
    "parentPath",
    "name"
  ]
}
tool /packagecli/nodeScript/nodePkgDetach · 从指定入口文件拆出独立 Node.js 包。targetPath、entryPath 和 entryMore 必须使用绝对路径;mode=bundle 生成打包入口,mode=source 保留源码入口,finalize 控制后续模板收尾。返回输出目录、生成文件和失败原因。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "targetPath": {
      "type": "string",
      "minLength": 1,
      "description": "一个绝对文件系统路径。"
    },
    "entryPath": {
      "type": "string",
      "minLength": 1,
      "description": "一个已经存在的绝对文件路径。"
    },
    "entryMore": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string",
        "minLength": 1,
        "description": "一个已经存在的绝对文件路径。"
      }
    },
    "mode": {
      "type": "string",
      "enum": [
        "bundle",
        "source"
      ]
    },
    "finalize": {
      "default": {},
      "type": "object",
      "properties": {
        "initializePnpmWorkspace": {
          "default": false,
          "type": "boolean"
        },
        "githubRepositoryVisibility": {
          "default": false,
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "public",
                "private"
              ]
            },
            {
              "type": "boolean",
              "const": false
            }
          ]
        },
        "publishTasks": {
          "default": [],
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "npmjs",
              "github-packages",
              "manual-npmjs"
            ]
          }
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "targetPath",
    "entryPath",
    "mode"
  ]
}
tool /packagecli/nodeScript/nodePkgFinalize · 按 tpltype 对已有 Node.js 包执行最终整理:同步模板配置、工作区关系、package 身份和入口文件。targetPath 必须是绝对目录,tpltype 必须来自有限模板枚举;可选 packageName 和收尾选项会覆盖推导值。返回实际修改文件与包身份。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "targetPath": {
      "type": "string",
      "minLength": 1,
      "description": "一个已经存在的绝对目录路径。"
    },
    "packageName": {
      "type": "string",
      "minLength": 1
    },
    "initializePnpmWorkspace": {
      "default": false,
      "type": "boolean"
    },
    "githubRepositoryVisibility": {
      "default": false,
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "public",
            "private"
          ]
        },
        {
          "type": "boolean",
          "const": false
        }
      ]
    },
    "publishTasks": {
      "default": [],
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "npmjs",
          "github-packages",
          "manual-npmjs"
        ]
      }
    },
    "tpltype": {
      "type": "string",
      "enum": [
        "chrome-extension-application",
        "chrome-preloadextension-application",
        "vscode-extension-application",
        "vscode-preloadextension-application",
        "electron-vite-application",
        "hono-application",
        "react-application"
      ]
    }
  },
  "required": [
    "targetPath",
    "tpltype"
  ]
}
tool /packagecli/nodeScript/electronUpdateFinalize · Finalize Electron update
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "targetPath": {
      "type": "string",
      "minLength": 1
    },
    "mainEntryPath": {
      "type": "string",
      "minLength": 1
    },
    "overwrite": {
      "type": "boolean"
    }
  },
  "required": [
    "targetPath",
    "mainEntryPath"
  ]
}
tool /packagecli/nodeScript/nodePackageBinInit · 为指定 Node.js 项目创建 package.json 的 bin 命令入口和包装脚本。entryPath 必须是绝对文件路径,commandName 是命令名;registerGlobal=true 时还会尝试注册全局链接,返回写入文件及注册结果。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "targetPath": {
      "type": "string",
      "minLength": 1,
      "description": "一个已经存在的绝对目录路径。"
    },
    "commandName": {
      "type": "string",
      "minLength": 1
    },
    "entryPath": {
      "type": "string",
      "minLength": 1,
      "description": "一个已经存在的绝对文件路径。"
    },
    "registerGlobal": {
      "default": true,
      "type": "boolean"
    }
  },
  "required": [
    "targetPath",
    "commandName",
    "entryPath"
  ]
}
tool /packagecli/pnpmScript/pnpmDev · 启动、停止或查询 pnpm 开发进程。start 需要绝对项目目录,可同时设置 Git 自动推送分钟数;stop 终止已启动进程;status 返回进程、启动时间和关联任务状态。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "start",
        "stop",
        "status"
      ]
    },
    "targetPath": {
      "type": "string",
      "minLength": 1,
      "description": "一个已经存在的绝对目录路径。"
    },
    "gitAutoPushMinutes": {
      "type": "integer",
      "minimum": 10,
      "maximum": 60
    }
  },
  "required": [
    "action"
  ]
}
tool /packagecli/pnpmScript/pnpmInsert · 把项目 package.json 中指向工作区外部 ../ 路径的 pnpm 依赖插入当前工作区。targetPath 必须是绝对目录;工具会定位工作区根、更新依赖声明并返回修改文件与插入结果。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "targetPath": {
      "type": "string",
      "minLength": 1,
      "description": "一个已经存在的绝对目录路径。"
    }
  },
  "required": [
    "targetPath"
  ]
}
tool /packagecli/gitScript/gitPush · 在指定绝对目录执行 Git 提交并推送。mode=current 处理当前仓库,mode=siblings 扫描并处理工作区下的兄弟仓库;可选择初始化 pnpm 工作区和 GitHub 仓库可见性。该操作会创建提交并访问远端,返回每个仓库的执行结果。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "targetPath": {
      "type": "string",
      "minLength": 1,
      "description": "一个已经存在的绝对目录路径。"
    },
    "mode": {
      "default": "current",
      "type": "string",
      "enum": [
        "current",
        "siblings"
      ]
    },
    "initializePnpmWorkspace": {
      "default": false,
      "type": "boolean"
    },
    "githubRepositoryVisibility": {
      "default": "public",
      "type": "string",
      "enum": [
        "public",
        "private"
      ]
    }
  },
  "required": [
    "targetPath"
  ]
}
tool /packagecli/gitScript/gitAutoPush · 启动、停止或查询 Git 自动提交推送任务。start 需要绝对项目目录,可按分钟周期执行;stop 停止该目录的任务;status 返回当前任务状态。工具会真实修改提交和远端仓库,请确认目标目录与推送权限。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "start",
        "stop",
        "status"
      ]
    },
    "targetPath": {
      "type": "string",
      "minLength": 1,
      "description": "一个绝对文件系统路径。"
    },
    "minutes": {
      "default": 20,
      "type": "integer",
      "minimum": 10,
      "maximum": 60
    },
    "initialPush": {
      "default": true,
      "type": "boolean"
    },
    "initializePnpmWorkspace": {
      "default": false,
      "type": "boolean"
    },
    "githubRepositoryVisibility": {
      "default": "public",
      "type": "string",
      "enum": [
        "public",
        "private"
      ]
    }
  },
  "required": [
    "action"
  ]
}
tool /packagecli/gitScript/gitignoreInit · 在指定绝对项目目录创建或更新 packagecli 约定的 .gitignore。不会删除业务文件;返回目标路径、是否写入以及实际变更内容。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "targetPath": {
      "type": "string",
      "minLength": 1,
      "description": "一个已经存在的绝对目录路径。"
    }
  },
  "required": [
    "targetPath"
  ]
}
tool /packagecli/githubScript/githubPublishYmlInit · 为指定绝对项目目录生成 GitHub Actions 发布配置。根据 tasks 选择 npmjs、GitHub Packages 或手动 npm 发布,并使用 packageName、workingDirectory、githubOwner 覆盖推导值;返回创建或更新的文件列表。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "targetPath": {
      "type": "string",
      "minLength": 1,
      "description": "一个已经存在的绝对目录路径。"
    },
    "packageName": {
      "type": "string",
      "minLength": 1
    },
    "workingDirectory": {
      "type": "string",
      "minLength": 1
    },
    "githubOwner": {
      "type": "string",
      "minLength": 1
    },
    "tasks": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "npmjs",
          "github-packages",
          "manual-npmjs"
        ]
      }
    }
  },
  "required": [
    "targetPath",
    "tasks"
  ]
}
44 MCP · ubuntu-lib · 单远程 Ubuntu 服务基础能力。等待消费
tool /debug/sshForward · 临时调试指定端口的 SSH 内网穿透和 HTTPS Nginx 路由:依次建立远端端口转发与 Nginx 路由,并返回两段状态。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "port"
  ]
}
tool /debug/sshForward/close · 临时调试接口的清理操作:关闭指定端口的 HTTPS Nginx 路由和 SSH 内网穿透。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "port"
  ]
}
tool /vite/list · 读取已登记的 Vite 项目、开发端口、项目路径和 Vite 插件注入常量。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /vite/get · 按开发端口读取一个已登记的 Vite 项目状态。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "port"
  ]
}
tool /apt/ensure · 检查并补齐远端系统所需的 Apt 基础组件。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /docker/ensure · 检查远端 Docker,缺少时完成安装并验证可用性。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /kasmVnc/setup · Ensure one KasmVNC instance is running.
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "index": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "index"
  ]
}
tool /kasmVnc/set · Apply the stored configuration for one KasmVNC instance.
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "index": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "index"
  ]
}
tool /kasmVnc/add · Start one KasmVNC instance using its stored configuration.
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "index": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "index"
  ]
}
tool /kasmVnc/stop · Stop one KasmVNC instance without deleting its configuration.
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "index": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "index"
  ]
}
tool /kasmVnc/del · Remove one KasmVNC instance and its remote service.
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "index": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "index"
  ]
}
tool /certificate/ensure · 为指定域名生成并确保可用的自签名 TLS 证书。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "hostname": {
      "type": "string",
      "pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,}$"
    }
  },
  "required": [
    "hostname"
  ]
}
tool /letsencrypt/ensure · 为指定域名申请或复用 Let's Encrypt 受信任 TLS 证书,并部署到宝塔 Nginx 使用的证书路径;已存在且未临近过期证书会复用。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "hostname": {
      "type": "string",
      "pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,}$"
    }
  },
  "required": [
    "hostname"
  ]
}
tool /sshForward/makeRemote · 按开发端口建立 SSH 远端端口转发
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "port"
  ]
}
tool /sshForward/getRemote · 检查并读取开发端口对应的 SSH 远端端口
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "port"
  ]
}
tool /sshForward/hasRemote · 检查开发端口当前的 SSH 内网穿透句柄及远程监听。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "port"
  ]
}
tool /sshForward/closeRemote · 关闭开发端口对应的 SSH 内网穿透。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "port"
  ]
}
tool /nginx/makeRemote · 按开发端口或远程目录写入 HTTPS Nginx 路由;域名 DNS 需指向 SSH 主机。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "service": {
      "type": "string",
      "enum": [
        "sftp",
        "pm2",
        "sshForward"
      ]
    },
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    },
    "path": {
      "type": "string",
      "pattern": "^\\/(?:[A-Za-z0-9._~-]+\\/)*[A-Za-z0-9._~-]+$"
    }
  },
  "required": [
    "service"
  ]
}
tool /nginx/hasRemote · 检查开发端口对应的 HTTPS Nginx 路由是否已写入。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "service": {
      "type": "string",
      "enum": [
        "sftp",
        "pm2",
        "sshForward"
      ]
    },
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "service",
    "port"
  ]
}
tool /nginx/getRemote · 检查并读取开发端口对应的 HTTPS Nginx 路由配置。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "service": {
      "type": "string",
      "enum": [
        "sftp",
        "pm2",
        "sshForward"
      ]
    },
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "service",
    "port"
  ]
}
tool /nginx/closeRemote · 关闭开发端口对应的 HTTPS Nginx 路由。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "service": {
      "type": "string",
      "enum": [
        "sftp",
        "pm2",
        "sshForward"
      ]
    },
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "service",
    "port"
  ]
}
tool /nodejs/ensure · 确保远端 Node.js 运行环境可用。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /peerjs/state · 读取 PeerJS 连接配置。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /peerjs/ensure · 检查并确保远端 PeerJS 服务处于可用状态。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /pm2/makeRemote · 按开发端口、工作目录和命令创建远端 PM2 进程。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    },
    "cwd": {
      "type": "string",
      "minLength": 1
    },
    "command": {
      "type": "string",
      "minLength": 1
    },
    "environment": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
      },
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "required": [
    "port",
    "cwd",
    "command"
  ]
}
tool /pm2/hasRemote · 检查端口对应的 PM2 进程是否已存在。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "port"
  ]
}
tool /pm2/getRemote · 检查并读取端口对应的 PM2 进程标识。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "port"
  ]
}
tool /pm2/refresh · 刷新端口对应的 PM2 进程状态。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "port"
  ]
}
tool /pm2/stop · 停止端口对应的 PM2 进程。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "port"
  ]
}
tool /pm2/restart · 重启端口对应的 PM2 进程。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "port"
  ]
}
tool /pm2/closeRemote · 关闭端口对应的 PM2 进程。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "port"
  ]
}
tool /sftp/makeRemote · 按开发端口建立并首次同步远程应用目录。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    },
    "localPath": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "port",
    "localPath"
  ]
}
tool /sftp/hasRemote · 检查开发端口对应的远程应用目录是否已分配。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "port"
  ]
}
tool /sftp/getRemote · 检查并读取开发端口对应的远程应用目录。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "port"
  ]
}
tool /ssh/config · 读取 SSH 配置,仅返回主机、端口与用户名,绝不返回密码。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /ssh/execute · 通过已经建立的 SSH 连接执行指定命令并返回执行结果。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "command": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "command"
  ]
}
tool /ssh/hasPort · 查询远端端口是否被占用,并返回监听进程和项目路径。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    }
  },
  "required": [
    "port"
  ]
}
tool /ssh/dispose · 关闭并释放当前 SSH 连接。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /stunServer/setup · 确保远端 STUN 服务处于可用状态。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /stunServer/update · 将 store 中的 STUN 配置应用到远端服务。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /vpnMihomo/setup · 准备 Mihomo 环境;检测到远程服务不健康时,按 store 配置恢复并启动服务。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /vpnMihomo/set · 将 store 中的完整 Mihomo 配置应用到远端并重启服务。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /vpnMihomo/stop · 停止 Ubuntu 云服务器上的 Mihomo 服务。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
tool /vpnMihomo/persist · 空修改当前 Mihomo store,仅用于生成或刷新持久化文件,不改变配置值。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}
5 MCP · zustand-lib · 提供 Zustand 切片约定查询、切片创建、Store 组合、nodeState 扩展和持久化启用。等待消费
tool /zustand/sliceDefinitionRead · 读取指定项目模板的 Zustand 切片约定。返回文件位置、创建器和状态成员命名;不会创建或修改文件。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tpltype": {
      "type": "string",
      "enum": [
        "chrome-extension-background-library",
        "chrome-extension-drawer-library",
        "chrome-extension-preload-library",
        "chrome-extension-web-library",
        "chrome-preloadextension-library",
        "electron-vite-main-library",
        "electron-vite-preload-library",
        "hono-library",
        "react-library",
        "vscode-extension-node-library",
        "vscode-extension-web-library",
        "vscode-preloadextension-library"
      ]
    }
  },
  "required": [
    "tpltype"
  ]
}
tool /zustand/sliceCreate · 在指定项目中创建并校验 Zustand 切片 store.ts;不会覆盖内容不同的现有文件。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "projectPath": {
      "type": "string",
      "minLength": 1
    },
    "sourcePath": {
      "default": ".",
      "type": "string",
      "minLength": 1
    },
    "sliceName": {
      "type": "string",
      "pattern": "^[a-z][A-Za-z0-9]*$"
    },
    "storeSource": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "projectPath",
    "sliceName",
    "storeSource"
  ]
}
tool /zustand/storeCompose · 按指定切片组合 Zustand Store,并确保项目依赖与标准 Store 文件结构。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "projectPath": {
      "type": "string",
      "minLength": 1
    },
    "sourcePath": {
      "default": ".",
      "type": "string",
      "minLength": 1
    },
    "sliceNames": {
      "default": [],
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[a-z][A-Za-z0-9]*$"
      }
    },
    "storeKind": {
      "type": "string",
      "enum": [
        "vanilla",
        "react"
      ]
    }
  },
  "required": [
    "projectPath"
  ]
}
tool /zustand/nodeStateLeafAdd · 向标准 Zustand nodeState.ts 增加宿主事实字段,并重新组合 Store。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "projectPath": {
      "type": "string",
      "minLength": 1
    },
    "sourcePath": {
      "default": ".",
      "type": "string",
      "minLength": 1
    },
    "source": {
      "type": "string",
      "enum": [
        "import.meta.dirname",
        "import.meta.url",
        "process.platform",
        "process.env"
      ]
    },
    "environmentVariable": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "projectPath",
    "source"
  ]
}
tool /zustand/persistEnable · 为已有标准 Zustand Store 启用 cwd 持久化并更新组合结果。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "projectPath": {
      "type": "string",
      "minLength": 1
    },
    "sourcePath": {
      "default": ".",
      "type": "string",
      "minLength": 1
    },
    "name": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "projectPath"
  ]
}
29 MCP · chrome-devtools-mcp · 启动 Chrome DevTools MCP,供 AI 检查和操作真实网页。等待消费
tool /click · 在已有最新页面快照且需要单击元素时使用;必填快照中的 uid,可选双击和返回新快照;成功执行点击并返回页面结果;会改变页面且可能触发外部请求;uid 过期或元素不可交互时失败,重新获取快照并确认页面状态后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "uid": {
      "type": "string",
      "description": "The uid of an element on the page from the page content snapshot"
    },
    "dblClick": {
      "type": "boolean",
      "description": "Set to true for double clicks. Default is false."
    },
    "includeSnapshot": {
      "type": "boolean",
      "description": "Whether to include a snapshot in the response. Default is false."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId",
    "uid"
  ]
}
tool /close_page · 需要关闭指定浏览器页签时使用;必填 list_pages 返回的 pageId,且不能关闭最后一个页签;成功关闭页签;会丢弃该页未保存的页面状态;页签不存在或为最后一页时失败,重新列出页签并选择有效目标。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "The ID of the page to close. Call list_pages to list pages."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId"
  ]
}
tool /drag · 在最新页面快照中需要把一个元素拖到另一个元素时使用;必填 from_uid 和 to_uid;成功完成拖放并可返回新快照;会改变页面且可能触发外部副作用;uid 过期或目标不可拖放时失败,重新获取快照后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "from_uid": {
      "type": "string",
      "description": "The uid of the element to drag"
    },
    "to_uid": {
      "type": "string",
      "description": "The uid of the element to drop into"
    },
    "includeSnapshot": {
      "type": "boolean",
      "description": "Whether to include a snapshot in the response. Default is false."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId",
    "from_uid",
    "to_uid"
  ]
}
tool /emulate · 需要在当前页临时模拟网络、CPU、位置、UA、配色、视口或请求头时使用;仅提供要设置或清除的字段;成功更新浏览器仿真状态;不修改站点持久数据但会影响后续页面行为和请求;参数无效时失败,按 schema 修正后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "networkConditions": {
      "type": "string",
      "enum": [
        "Offline",
        "Slow 3G",
        "Fast 3G",
        "Slow 4G",
        "Fast 4G"
      ],
      "description": "Throttle network. Omit to disable throttling."
    },
    "cpuThrottlingRate": {
      "type": "number",
      "minimum": 1,
      "maximum": 20,
      "description": "Represents the CPU slowdown factor. Omit or set the rate to 1 to disable throttling"
    },
    "geolocation": {
      "type": "string",
      "description": "Geolocation (`<latitude>,<longitude>`) to emulate. Latitude between -90 and 90. Longitude between -180 and 180. Omit to clear the geolocation override."
    },
    "userAgent": {
      "type": "string",
      "description": "User agent to emulate. Set to empty string to clear the user agent override."
    },
    "colorScheme": {
      "type": "string",
      "enum": [
        "dark",
        "light",
        "auto"
      ],
      "description": "Emulate the dark or the light mode. Set to \"auto\" to reset to the default."
    },
    "viewport": {
      "type": "string",
      "description": "Emulate device viewports '<width>x<height>x<devicePixelRatio>[,mobile][,touch][,landscape]'. 'touch' and 'mobile' to emulate mobile devices. 'landscape' to emulate landscape mode."
    },
    "extraHttpHeaders": {
      "type": "string",
      "description": "Extra HTTP headers as a JSON string object, e.g. {\"X-Custom\": \"value\", \"Authorization\": \"Bearer token\"}. Headers are included into every HTTP request originating from the page and persist across navigations until cleared. Pass an empty string to clear all extra headers."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId"
  ]
}
tool /evaluate_script · 需要在当前页执行页面内 JavaScript 时使用;必填可执行函数文本,可选元素 uid 参数、输出文件和对话框策略;成功返回可 JSON 序列化结果或保存结果;脚本可修改页面、文件并访问外部网络;语法、序列化、权限或页面错误时失败,修正脚本或页面状态后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "function": {
      "type": "string",
      "description": "A JavaScript function declaration to be executed by the tool in the target page.\nExample without arguments: `() => document.title` or `async () => await fetch(\"example.com\")`.\nExample with arguments: `(el) => el.innerText`\n"
    },
    "args": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "The uid of an element on the page from the page content snapshot"
      },
      "description": "An optional list of arguments to pass to the function."
    },
    "filePath": {
      "type": "string",
      "description": "The absolute or relative path to a file to save the script output to. If omitted, the output is returned inline."
    },
    "dialogAction": {
      "type": "string",
      "description": "Handle dialogs while execution. \"accept\", \"dismiss\", or string for response of window.prompt. Defaults to accept."
    },
    "waitForStableDom": {
      "type": "boolean",
      "description": "Whether to wait for the DOM to settle. Pass false if the script only reads data. Defaults to true."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId",
    "function"
  ]
}
tool /fill · 需要给最新快照中的单个输入、文本域、选择框或开关赋值时使用;必填 uid 和 value;成功更新元素并可返回新快照;会改变页面表单状态;uid 过期或值不适合元素时失败,重新获取快照并修正值后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "uid": {
      "type": "string",
      "description": "The uid of an element on the page from the page content snapshot"
    },
    "value": {
      "type": "string",
      "description": "The value to fill in. \"true\" or \"false\" for checkboxes and toggles, \"true\" for radio buttons."
    },
    "includeSnapshot": {
      "type": "boolean",
      "description": "Whether to include a snapshot in the response. Default is false."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId",
    "uid",
    "value"
  ]
}
tool /fill_form · 需要一次填写多个表单元素时使用;必填 elements,每项含最新快照中的 uid 和 value;成功批量更新表单并可返回快照;会改变页面状态;任一 uid 过期或值无效时失败,重新获取快照并提交修正后的完整元素集合。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "elements": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "uid": {
            "type": "string",
            "description": "The uid of the element to fill out"
          },
          "value": {
            "type": "string",
            "description": "Value for the element. \"true\" or \"false\" for checkboxes and toggles, \"true\" for radio buttons."
          }
        },
        "required": [
          "uid",
          "value"
        ],
        "additionalProperties": false
      },
      "description": "Elements from snapshot to fill out."
    },
    "includeSnapshot": {
      "type": "boolean",
      "description": "Whether to include a snapshot in the response. Default is false."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId",
    "elements"
  ]
}
tool /get_console_message · 已通过 list_console_messages 得到消息编号并需查看单条详情时使用;必填 msgid;成功返回对应控制台消息;只读取当前页观察结果;编号不存在时失败,重新列出消息后使用有效编号。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "msgid": {
      "type": "number",
      "description": "The msgid of a console message on the page from the listed console messages"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId",
    "msgid"
  ]
}
tool /get_network_request · 已通过 list_network_requests 得到请求编号或已在 DevTools 选中请求并需查看详情时使用;reqid 可选,保存请求或响应正文时提供文件路径;成功返回请求详情或写入指定文件;写文件可能覆盖内容;编号、路径或正文不可用时失败,重新列出请求或修正路径后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "reqid": {
      "type": "number",
      "description": "The reqid of the network request. If omitted returns the currently selected request in the DevTools Network panel."
    },
    "requestFilePath": {
      "type": "string",
      "description": "The absolute or relative path to a .network-request file to save the request body to. If omitted, the body is returned inline."
    },
    "responseFilePath": {
      "type": "string",
      "description": "The absolute or relative path to a .network-response file to save the response body to. If omitted, the body is returned inline."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId"
  ]
}
tool /handle_dialog · 当前页面存在 JavaScript 对话框时使用;必填 accept 或 dismiss,可选 promptText;成功处理当前对话框;会推进页面交互状态;没有对话框或动作无效时失败,确认页面对话框状态后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "action": {
      "type": "string",
      "enum": [
        "accept",
        "dismiss"
      ],
      "description": "Whether to dismiss or accept the dialog"
    },
    "promptText": {
      "type": "string",
      "description": "Optional prompt text to enter into the dialog."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId",
    "action"
  ]
}
tool /hover · 需要在最新快照中的元素上触发悬停状态时使用;必填 uid;成功移动指针并可返回新快照;不直接提交数据但可能触发页面脚本或请求;uid 过期时失败,重新获取快照后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "uid": {
      "type": "string",
      "description": "The uid of an element on the page from the page content snapshot"
    },
    "includeSnapshot": {
      "type": "boolean",
      "description": "Whether to include a snapshot in the response. Default is false."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId",
    "uid"
  ]
}
tool /lighthouse_audit · 需要审计当前页的可访问性、SEO、最佳实践或 agentic browsing 时使用;可选 mode、device 和报告目录,navigation 模式会重载页面;成功返回审计结果并可写报告;会改变页面运行状态和文件系统;页面、浏览器或输出路径失败时恢复目标页和路径后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "mode": {
      "default": "navigation",
      "description": "\"navigation\" reloads & audits. \"snapshot\" analyzes current state.",
      "type": "string",
      "enum": [
        "navigation",
        "snapshot"
      ]
    },
    "device": {
      "default": "desktop",
      "description": "Device to emulate.",
      "type": "string",
      "enum": [
        "desktop",
        "mobile"
      ]
    },
    "outputDirPath": {
      "type": "string",
      "description": "Directory for reports. If omitted, uses temporary files."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId"
  ]
}
tool /list_console_messages · 需要查看当前页自最近导航以来的控制台消息时使用;可选分页、类型、保留历史和 service worker 过滤;成功返回消息列表及编号;只读取页面观察结果;页签不可用时重新选择有效页面后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "pageSize": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Maximum number of messages to return. When omitted, returns all messages."
    },
    "pageIdx": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Page number to return (0-based). When omitted, returns the first page."
    },
    "types": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "log",
          "debug",
          "info",
          "error",
          "warn",
          "dir",
          "dirxml",
          "table",
          "trace",
          "clear",
          "startGroup",
          "startGroupCollapsed",
          "endGroup",
          "assert",
          "profile",
          "profileEnd",
          "count",
          "timeEnd",
          "verbose",
          "issue"
        ]
      },
      "description": "Filter messages to only return messages of the specified resource types. When omitted or empty, returns all messages."
    },
    "includePreservedMessages": {
      "default": false,
      "description": "Set to true to return the preserved messages over the last 3 navigations.",
      "type": "boolean"
    },
    "includeStackTraces": {
      "default": false,
      "description": "Set to true to include the stack trace for each message when available. Increases the response size.",
      "type": "boolean"
    },
    "serviceWorkerId": {
      "type": "string",
      "description": "Filter messages to only return messages of the specified service worker."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId"
  ]
}
tool /list_network_requests · 需要查看当前页自最近导航以来的网络请求时使用;可选分页、资源类型和保留历史过滤;成功返回请求列表及编号;只读取网络观察结果;页签不可用时重新选择有效页面后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "pageSize": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Maximum number of requests to return. When omitted, returns all requests."
    },
    "pageIdx": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Page number to return (0-based). When omitted, returns the first page."
    },
    "resourceTypes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "document",
          "stylesheet",
          "image",
          "media",
          "font",
          "script",
          "texttrack",
          "xhr",
          "fetch",
          "prefetch",
          "eventsource",
          "websocket",
          "manifest",
          "signedexchange",
          "ping",
          "cspviolationreport",
          "preflight",
          "fedcm",
          "other"
        ]
      },
      "description": "Filter requests to only return requests of the specified resource types. When omitted or empty, returns all requests."
    },
    "includePreservedRequests": {
      "default": false,
      "description": "Set to true to return the preserved requests over the last 3 navigations.",
      "type": "boolean"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId"
  ]
}
tool /list_pages · 需要取得隔离浏览器中现有页签及当前选中页时使用;无输入;成功返回页签 ID、URL 和选择状态;不修改浏览器;browser transport 不可用时恢复浏览器进程后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  }
}
tool /navigate_page · 需要让当前页打开 URL、前进、后退或重载时使用;必填 type,URL 导航时提供 url,handleBeforeUnload 使用 accept 或 dismiss,可选缓存、初始化脚本和超时;成功完成导航;可能丢失页面状态并访问外部网络;导航或超时失败时确认 URL、页面和网络后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "type": {
      "type": "string",
      "enum": [
        "url",
        "back",
        "forward",
        "reload"
      ],
      "description": "Navigate the page by URL, back or forward in history, or reload."
    },
    "url": {
      "type": "string",
      "description": "Target URL (only type=url)"
    },
    "ignoreCache": {
      "type": "boolean",
      "description": "Whether to ignore cache on reload."
    },
    "handleBeforeUnload": {
      "type": "string",
      "enum": [
        "accept",
        "dismiss"
      ],
      "description": "Whether to auto accept or beforeunload dialogs triggered by this navigation. Default is accept."
    },
    "initScript": {
      "type": "string",
      "description": "A JavaScript script to be executed on each new document before any other scripts for the next navigation."
    },
    "timeout": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Maximum wait time in milliseconds. If set to 0, the default timeout will be used."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId"
  ]
}
tool /new_page · 需要新建页签并加载地址时使用;必填 url,可选后台模式、隔离上下文和超时;成功返回新页签并加载目标;会创建浏览器状态并访问外部网络;URL、网络或超时失败时修正输入后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "URL to load in a new page."
    },
    "background": {
      "type": "boolean",
      "description": "Whether to open the page in the background without bringing it to the front. Default is false (foreground)."
    },
    "isolatedContext": {
      "type": "string",
      "description": "If specified, the page is created in an isolated browser context with the given name. Pages in the same browser context share cookies and storage. Pages in different browser contexts are fully isolated (useful for clean-slate testing of cookies and authentication)."
    },
    "timeout": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Maximum wait time in milliseconds. If set to 0, the default timeout will be used."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "url"
  ]
}
tool /performance_analyze_insight · 性能 trace 已产生 insight set 且需要分析其中一个 insight 时使用;必填 trace 返回的 insightSetId 和 insightName;成功返回该洞察的详细分析;只读取已有 trace;标识不存在时重新取得 trace 结果并使用其中的有效标识。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "insightSetId": {
      "type": "string",
      "description": "The id for the specific insight set. Only use the ids given in the \"Available insight sets\" list."
    },
    "insightName": {
      "type": "string",
      "description": "The name of the Insight you want more information on. For example: \"DocumentLatency\" or \"LCPBreakdown\""
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId",
    "insightSetId",
    "insightName"
  ]
}
tool /performance_start_trace · 需要记录当前页性能 trace 时使用;可选 reload、autoStop 和输出文件;成功启动或完成 trace 并返回性能洞察;可能重载页面并写文件;已有 trace、页面或路径错误时停止旧 trace、恢复页面和路径后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "reload": {
      "default": true,
      "description": "Determines if, once tracing has started, the target page should be automatically reloaded. Navigate the page to the right URL using the navigate_page tool BEFORE starting the trace if reload or autoStop is set to true.",
      "type": "boolean"
    },
    "autoStop": {
      "default": true,
      "description": "Determines if the trace recording should be automatically stopped.",
      "type": "boolean"
    },
    "filePath": {
      "type": "string",
      "description": "The absolute file path, or a file path relative to the current working directory, to save the raw trace data. For example, trace.json.gz (compressed) or trace.json (uncompressed)."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId"
  ]
}
tool /performance_stop_trace · 已有活动性能 trace 且需要停止时使用;可选输出文件路径;成功停止 trace 并返回结果或保存文件;会结束记录并可能写文件;没有活动 trace 或路径无效时确认 trace 状态和路径后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "filePath": {
      "type": "string",
      "description": "The absolute file path, or a file path relative to the current working directory, to save the raw trace data. For example, trace.json.gz (compressed) or trace.json (uncompressed)."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId"
  ]
}
tool /press_key · 需要在当前页发送键或组合键时使用;必填 key,可选返回新快照;成功派发键盘输入;会改变页面且可能触发提交、导航或外部动作;页面未聚焦或键值无效时重新选择页面、聚焦元素并重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "key": {
      "type": "string",
      "description": "A key or a combination (e.g., \"Enter\", \"Control+A\", \"Control++\", \"Control+Shift+R\"). Modifiers: Control, Shift, Alt, Meta"
    },
    "includeSnapshot": {
      "type": "boolean",
      "description": "Whether to include a snapshot in the response. Default is false."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId",
    "key"
  ]
}
tool /resize_page · 需要调整当前页视口尺寸时使用;必填 width 和 height;成功调整窗口尺寸;只改变隔离浏览器视口;尺寸无效或页签不可用时修正尺寸或重新选择页面后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "width": {
      "type": "number",
      "description": "Page width"
    },
    "height": {
      "type": "number",
      "description": "Page height"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId",
    "width",
    "height"
  ]
}
tool /select_page · 需要把现有页签设为后续 browser 调用上下文时使用;必填 list_pages 返回的 pageId,可选置前;成功更新当前选中页;不修改页面内容;页签不存在时重新列出页签后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "The ID of the page to select. Call list_pages to get available pages."
    },
    "bringToFront": {
      "type": "boolean",
      "description": "Whether to focus the page and bring it to the top."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId"
  ]
}
tool /take_heapsnapshot · 需要分析当前页 JavaScript 内存分布或泄漏时使用;必填输出 .heapsnapshot 文件路径;成功捕获并写入堆快照;会创建或覆盖本地文件且可能短暂暂停页面;路径或浏览器失败时修正路径并恢复页面后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "filePath": {
      "type": "string",
      "description": "A path to a .heapsnapshot file to save the heapsnapshot to."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId",
    "filePath"
  ]
}
tool /take_screenshot · 需要取得当前页或快照元素的像素图时使用;可选格式、质量、uid、fullPage 和输出路径;成功返回图片或写入文件;写文件时可能覆盖内容;uid、页面或路径失败时重新获取快照或修正路径后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "format": {
      "default": "png",
      "description": "Type of format to save the screenshot as. Default is \"png\"",
      "type": "string",
      "enum": [
        "png",
        "jpeg",
        "webp"
      ]
    },
    "quality": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Compression quality for JPEG and WebP formats (0-100). Higher values mean better quality but larger file sizes. Ignored for PNG format."
    },
    "uid": {
      "type": "string",
      "description": "The uid of an element on the page from the page content snapshot. If omitted, takes a page screenshot."
    },
    "fullPage": {
      "type": "boolean",
      "description": "If set to true takes a screenshot of the full page instead of the currently visible viewport. Incompatible with uid."
    },
    "filePath": {
      "type": "string",
      "description": "The absolute path, or a path relative to the current working directory, to save the screenshot to instead of attaching it to the response."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId"
  ]
}
tool /take_snapshot · 需要读取当前页可交互结构并取得后续元素 uid 时使用;可选 verbose 和输出路径;成功返回最新可访问性树快照或写入文件;写文件时可能覆盖内容;页面或路径失败时重新选择页面或修正路径后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "verbose": {
      "type": "boolean",
      "description": "Whether to include all possible information available in the full a11y tree. Default is false."
    },
    "filePath": {
      "type": "string",
      "description": "The absolute path, or a path relative to the current working directory, to save the snapshot to instead of attaching it to the response."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId"
  ]
}
tool /type_text · 已有聚焦输入位置且需要模拟键盘输入时使用;必填 text,可选提交键;成功输入文本并可提交;会改变页面并可能触发外部动作;焦点丢失或页面变化时重新定位并聚焦元素后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "text": {
      "type": "string",
      "description": "The text to type"
    },
    "submitKey": {
      "type": "string",
      "description": "Optional key to press after typing. E.g., \"Enter\", \"Tab\", \"Escape\""
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId",
    "text"
  ]
}
tool /upload_file · 需要通过最新快照中的文件输入元素上传本地文件时使用;必填 uid 和 filePath;成功把文件交给页面并可返回快照;会读取本地文件并可能向外部站点上传;元素、路径或权限失败时重新获取快照并确认文件后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "uid": {
      "type": "string",
      "description": "The uid of the file input element or an element that will open file chooser on the page from the page content snapshot"
    },
    "filePaths": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "One or more files paths to upload. File paths have to be local to the browser instance (not the MCP)."
    },
    "includeSnapshot": {
      "type": "boolean",
      "description": "Whether to include a snapshot in the response. Default is false."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId",
    "uid",
    "filePaths"
  ]
}
tool /wait_for · 需要等待当前页出现一个或多个目标文本时使用;必填非空 text 数组,可选超时;成功在任一文本出现时返回页面状态;只观察页面;超时或页签不可用时检查文本、页面和超时设置后重试。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "Targets a specific page by ID."
    },
    "text": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Non-empty list of texts. Resolves when any value appears on the page."
    },
    "timeout": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Maximum wait time in milliseconds. If set to 0, the default timeout will be used."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pageId",
    "text"
  ]
}
2 MCP · context7 · 查询 Context7 提供的最新技术文档和代码示例。等待消费
tool /resolve-library-id · 将库名解析为 Context7 可用的库 ID。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "What to look up in the library's documentation. This is used to rank library results by relevance to what the user is trying to accomplish. The query is sent to the Context7 API for processing. Do not include any sensitive or confidential information such as API keys, passwords, credentials, personal data, or proprietary code in your query."
    },
    "libraryName": {
      "type": "string",
      "description": "Library name to search for and retrieve a Context7-compatible library ID. Use the official library name with proper punctuation — e.g., 'Next.js' instead of 'nextjs', 'Customer.io' instead of 'customerio', 'Three.js' instead of 'threejs'."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭连接;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新建立连接。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "query",
    "libraryName"
  ]
}
tool /query-docs · 查询指定库的最新技术文档和代码示例。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "libraryId": {
      "type": "string",
      "description": "Exact Context7-compatible library ID (e.g., '/mongodb/docs', '/vercel/next.js', '/supabase/supabase', '/vercel/next.js/v16.2.9') retrieved from 'resolve-library-id' or directly from user query in the format '/org/project' or '/org/project/version'."
    },
    "query": {
      "type": "string",
      "description": "What to look up in the library's documentation, scoped to a single concept. Be specific and include relevant details, but keep each query to one topic — if the user's question spans multiple distinct concepts, make a separate call per concept instead of combining them, unless the question is about how the concepts interact. Good: 'How to set up authentication with JWT in Express.js' or 'React useEffect cleanup function examples'. Bad (too vague): 'auth' or 'hooks'. Bad (too broad): 'routing and auth and caching in Next.js'. The query is sent to the Context7 API for processing. Do not include any sensitive or confidential information such as API keys, passwords, credentials, personal data, or proprietary code in your query."
    },
    "language": {
      "type": "string",
      "description": "Programming language the user is writing code in, such as 'Python', 'TypeScript', 'Go', or 'C#'. Ranks code examples in that language first. Leave it out when the language is unknown or does not apply."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭连接;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新建立连接。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "libraryId",
    "query"
  ]
}
28 MCP · serena · 基于 Serena LSP 后端提供代码索引;先调用 activate_project 选择项目,空闲关闭后再次调用时需重新选择。等待消费
tool /create_text_file · 创建文件或覆盖已有文件,写入指定内容。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "relative_path": {
      "type": "string",
      "title": "Relative Path",
      "description": "The relative path to the file to create."
    },
    "content": {
      "type": "string",
      "title": "Content",
      "description": "The (appropriately encoded) content to write to the file."
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "relative_path",
    "content",
    "source_project"
  ]
}
tool /replace_content · 在文件中按文本或正则表达式替换内容,可限制替换次数。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "relative_path": {
      "type": "string",
      "title": "Relative Path",
      "description": "The relative path to the file."
    },
    "needle": {
      "type": "string",
      "title": "Needle",
      "description": "The string or regex pattern to search for.\nIf `mode` is \"literal\", this string will be matched exactly.\nIf `mode` is \"regex\", this string will be treated as a regular expression (syntax of Python's `re` module,\nwith flags DOTALL and MULTILINE enabled)."
    },
    "repl": {
      "type": "string",
      "title": "Repl",
      "description": "The replacement string (verbatim).\nIf mode is \"regex\", the string can contain backreferences to matched groups in the needle regex,\nspecified using the syntax $!1, $!2, etc. for groups 1, 2, etc."
    },
    "mode": {
      "type": "string",
      "enum": [
        "literal",
        "regex"
      ],
      "title": "Mode",
      "description": "Either \"literal\" or \"regex\", specifying how the `needle` parameter is to be interpreted."
    },
    "allow_multiple_occurrences": {
      "default": false,
      "title": "Allow Multiple Occurrences",
      "description": "Whether to allow matching and replacing multiple occurrences.\nIf false and multiple occurrences are found, an error will be returned.",
      "type": "boolean"
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "relative_path",
    "needle",
    "repl",
    "mode",
    "source_project"
  ]
}
tool /replace_in_files · 在多个文件中批量替换匹配内容。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "needle": {
      "type": "string",
      "title": "Needle",
      "description": "The string (mode \"literal\") or regular expression (mode \"regex\"; Python `re`\nsyntax with DOTALL and MULTILINE) to search for."
    },
    "repl": {
      "type": "string",
      "title": "Repl",
      "description": "The replacement string. In regex mode, backreferences to matched groups can be\nspecified as $!1, $!2, etc."
    },
    "mode": {
      "type": "string",
      "enum": [
        "literal",
        "regex"
      ],
      "title": "Mode",
      "description": "Either \"literal\" or \"regex\", specifying how `needle` is to be interpreted."
    },
    "relative_path": {
      "default": "",
      "title": "Relative Path",
      "description": "Only consider this file or directory (default: the whole project).",
      "type": "string"
    },
    "paths_include_glob": {
      "default": "",
      "title": "Paths Include Glob",
      "description": "Optional glob (relative to the project root, e.g. \"src/**/*.java\")\nrestricting which files are considered.",
      "type": "string"
    },
    "paths_exclude_glob": {
      "default": "",
      "title": "Paths Exclude Glob",
      "description": "Optional glob of files to exclude; takes precedence over the include glob.",
      "type": "string"
    },
    "dry_run": {
      "default": false,
      "title": "Dry Run",
      "description": "If True, do not modify anything; return the prospective changes as a list of\ndiffs with occurrence ids.",
      "type": "boolean"
    },
    "occurrence_ids": {
      "default": null,
      "title": "Occurrence Ids",
      "description": "Optional list of occurrence ids (obtained from a dry run) to which the\nreplacement is restricted; if any id is unknown or stale, NOTHING is changed. If omitted,\nall occurrences are replaced.",
      "anyOf": [
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "type": "null"
        }
      ]
    },
    "expected_count": {
      "default": -1,
      "title": "Expected Count",
      "description": "Optional guard for calls without occurrence_ids: the number of\noccurrences you expect to be replaced. If the actual count differs, nothing is changed and\nthe list of prospective changes is returned. -1 disables the guard.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "max_answer_chars": {
      "default": -1,
      "title": "Max Answer Chars",
      "description": "If the output exceeds this many characters, a shortened version is\nreturned. -1 uses the configured default.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "needle",
    "repl",
    "mode",
    "source_project"
  ]
}
tool /replace_symbol_body · 用新内容替换指定符号的完整定义。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "name_path": {
      "type": "string",
      "title": "Name Path",
      "description": "Name path of the symbol whose body to replace."
    },
    "relative_path": {
      "type": "string",
      "title": "Relative Path",
      "description": "The relative path to the file containing the symbol."
    },
    "body": {
      "type": "string",
      "title": "Body",
      "description": "The new symbol body. The symbol body is the definition of a symbol\nin the programming language, including e.g. the signature line for functions.\nDepending on the language, it may or may not include a preceding docstring or other preceding annotations."
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "name_path",
    "relative_path",
    "body",
    "source_project"
  ]
}
tool /insert_after_symbol · 在指定符号定义之后插入代码。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "name_path": {
      "type": "string",
      "title": "Name Path",
      "description": "Name path of the symbol after which to insert content."
    },
    "relative_path": {
      "type": "string",
      "title": "Relative Path",
      "description": "The relative path to the file containing the symbol."
    },
    "body": {
      "type": "string",
      "title": "Body",
      "description": "The body/content to be inserted. The inserted code shall begin with the next line after\nthe symbol."
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "name_path",
    "relative_path",
    "body",
    "source_project"
  ]
}
tool /insert_before_symbol · 在指定符号定义之前插入代码。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "name_path": {
      "type": "string",
      "title": "Name Path",
      "description": "Name path of the symbol before which to insert content."
    },
    "relative_path": {
      "type": "string",
      "title": "Relative Path",
      "description": "The relative path to the file containing the symbol."
    },
    "body": {
      "type": "string",
      "title": "Body",
      "description": "The body/content to be inserted before the line in which the referenced symbol is defined."
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "name_path",
    "relative_path",
    "body",
    "source_project"
  ]
}
tool /read_file · 读取项目中的文件内容,可指定起始行和行数。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "relative_path": {
      "type": "string",
      "title": "Relative Path",
      "description": "The relative path to the file to read."
    },
    "start_line": {
      "default": 0,
      "title": "Start Line",
      "description": "The 0-based index of the first line to be retrieved, negative values count from the end of the file.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "end_line": {
      "default": null,
      "title": "End Line",
      "description": "The 0-based index of the last line to be retrieved (inclusive). If None, read until the end of the file.",
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    },
    "max_answer_chars": {
      "default": -1,
      "title": "Max Answer Chars",
      "description": "If the file (chunk) is longer than this number of characters,\nno content will be returned. Don't adjust unless there is really no other way to get the content\nrequired for the task.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "relative_path",
    "source_project"
  ]
}
tool /list_dir · 列出项目目录中的文件和子目录。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "relative_path": {
      "type": "string",
      "title": "Relative Path",
      "description": "The relative path to the directory to list; pass \".\" to scan the project root."
    },
    "recursive": {
      "type": "boolean",
      "title": "Recursive",
      "description": "Whether to scan subdirectories recursively."
    },
    "skip_ignored_files": {
      "default": false,
      "title": "Skip Ignored Files",
      "description": "Whether to skip files and directories that are ignored.",
      "type": "boolean"
    },
    "max_answer_chars": {
      "default": -1,
      "title": "Max Answer Chars",
      "description": "If the output is longer than this number of characters,\nno content will be returned. -1 means the default value from the config will be used.\nDon't adjust unless there is really no other way to get the content required for the task.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "relative_path",
    "recursive",
    "source_project"
  ]
}
tool /find_file · 按文件名掩码递归查找已激活项目中的文件。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "file_mask": {
      "type": "string",
      "title": "File Mask",
      "description": "The filename or file mask (using the wildcards * or ?) to search for."
    },
    "relative_path": {
      "type": "string",
      "title": "Relative Path",
      "description": "The relative path to the directory to search in; pass \".\" to scan the project root."
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "file_mask",
    "relative_path",
    "source_project"
  ]
}
tool /search_for_pattern · 在已激活项目中搜索文本或正则表达式,可限定文件范围。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "substring_pattern": {
      "type": "string",
      "title": "Substring Pattern",
      "description": "Regular expression to search for."
    },
    "context_lines_before": {
      "default": 0,
      "title": "Context Lines Before",
      "description": "Number of context lines to include before each match.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "context_lines_after": {
      "default": 0,
      "title": "Context Lines After",
      "description": "Number of context lines to include after each match.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "paths_include_glob": {
      "default": "",
      "title": "Paths Include Glob",
      "description": "Optional glob (relative to project root, e.g. ``\"src/**/*.ts\"``) restricting which files are searched.",
      "type": "string"
    },
    "paths_exclude_glob": {
      "default": "",
      "title": "Paths Exclude Glob",
      "description": "Optional glob to exclude files; takes precedence over `paths_include_glob`.",
      "type": "string"
    },
    "relative_path": {
      "default": "",
      "title": "Relative Path",
      "description": "Restricts the search to this file or subdirectory of the project root.",
      "type": "string"
    },
    "restrict_search_to_code_files": {
      "default": false,
      "title": "Restrict Search To Code Files",
      "description": "Whether to search only files containing analyzable code symbols\n(useful when looking for class/method definitions); otherwise also search non-code files.",
      "type": "boolean"
    },
    "multiline": {
      "default": true,
      "title": "Multiline",
      "description": "Whether to apply multi-line matching (default: True), enabling the flags re.DOTALL and re.MULTILINE.",
      "type": "boolean"
    },
    "max_answer_chars": {
      "default": -1,
      "title": "Max Answer Chars",
      "description": "If the output exceeds this many characters, a progressively shortened summary is returned instead.\n``-1`` uses the configured default.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "substring_pattern",
    "source_project"
  ]
}
tool /get_symbols_overview · 获取文件中的顶层符号概览,用于快速了解代码结构。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "relative_path": {
      "type": "string",
      "title": "Relative Path",
      "description": "The relative path to the file to get the overview of."
    },
    "depth": {
      "default": -1,
      "title": "Depth",
      "description": "Depth up to which descendants shall be retrieved.\nDefault (-1) results in a language specific choice: 1 for java and kotlin and 0 for other languages.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "max_answer_chars": {
      "default": -1,
      "title": "Max Answer Chars",
      "description": "If the overview is longer than this number of characters,\nno content will be returned. -1 means the default value from the config will be used.\nDon't adjust unless there is really no other way to get the content required for the task.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "relative_path",
    "source_project"
  ]
}
tool /find_symbol · 按 Serena name path 查找已激活项目中的符号定义。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "name_path_pattern": {
      "type": "string",
      "title": "Name Path Pattern",
      "description": "The name path matching pattern (see above)."
    },
    "depth": {
      "default": 0,
      "title": "Depth",
      "description": "Depth up to which descendants shall be retrieved (e.g. use 1 to also retrieve immediate children;\nfor the case where the symbol is a class, this will return its methods).\nIgnored if `include_body=True`. Default 0.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "relative_path": {
      "default": "",
      "title": "Relative Path",
      "description": "(optional) restrict search to this file or directory. If None, searches entire codebase.\nIf a directory is passed, the search will be restricted to the files in that directory.\nIf a file is passed, the search will be restricted to that file.",
      "type": "string"
    },
    "include_body": {
      "default": false,
      "title": "Include Body",
      "description": "Whether to include the symbol's source code. Use judiciously.",
      "type": "boolean"
    },
    "include_info": {
      "default": false,
      "title": "Include Info",
      "description": "Whether to include additional info (hover-like, typically including docstring and signature),\nabout the symbol (ignored if include_body is True). Info is never included for child symbols.\nNote: Depending on the language, this can be slow (e.g., C/C++).",
      "type": "boolean"
    },
    "include_kinds": {
      "default": [],
      "title": "Include Kinds",
      "description": "(optional) limits results to the given LSP symbol kinds (integers).",
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      }
    },
    "exclude_kinds": {
      "default": [],
      "title": "Exclude Kinds",
      "description": "(optional) list of LSP symbol kinds (integers) to exclude.",
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      }
    },
    "substring_matching": {
      "default": false,
      "title": "Substring Matching",
      "description": "If True, use substring matching for the last element of the pattern, such that\n\"Foo/get\" would match \"Foo/getValue\" and \"Foo/getData\".",
      "type": "boolean"
    },
    "max_matches": {
      "default": -1,
      "title": "Max Matches",
      "description": "Maximum number of permitted matches. If exceeded, a shortened result is returned\nwhich allows refining the search. -1 (default) means no limit. Set to 1 if you search for a single symbol.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "max_answer_chars": {
      "default": -1,
      "title": "Max Answer Chars",
      "description": "Max result length; -1 for default.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "name_path_pattern",
    "source_project"
  ]
}
tool /find_referencing_symbols · 查找已激活项目中引用指定符号的位置。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "name_path": {
      "type": "string",
      "title": "Name Path",
      "description": "Name path of the symbol."
    },
    "relative_path": {
      "type": "string",
      "title": "Relative Path",
      "description": "The relative path to the file containing the symbol for which to find references."
    },
    "include_kinds": {
      "default": [],
      "title": "Include Kinds",
      "description": "(optional) limits results to the given LSP symbol kinds (integers).",
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      }
    },
    "exclude_kinds": {
      "default": [],
      "title": "Exclude Kinds",
      "description": "Optional list of LSP symbol kinds (integers) to exclude.",
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      }
    },
    "max_answer_chars": {
      "default": -1,
      "title": "Max Answer Chars",
      "description": "Max result length; -1 for default.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "name_path",
    "relative_path",
    "source_project"
  ]
}
tool /find_implementations · 查找指定接口、抽象类或符号的实现。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "name_path": {
      "type": "string",
      "title": "Name Path",
      "description": "The symbol's name path."
    },
    "relative_path": {
      "type": "string",
      "title": "Relative Path",
      "description": "The relative path to the file containing the symbol for which to find implementations.\nNote that here you can't pass a directory but must pass a file."
    },
    "include_info": {
      "default": false,
      "title": "Include Info",
      "description": "Whether to include additional info (hover-like, typically including docstring and signature),\nabout the implementing symbols.",
      "type": "boolean"
    },
    "include_kinds": {
      "default": [],
      "title": "Include Kinds",
      "description": "(optional) limits results to the given LSP symbol kinds (integers).",
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      }
    },
    "exclude_kinds": {
      "default": [],
      "title": "Exclude Kinds",
      "description": "(optional) list of LSP symbol kinds (integers) to exclude.",
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      }
    },
    "max_answer_chars": {
      "default": -1,
      "title": "Max Answer Chars",
      "description": "Max result length; -1 for default.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "name_path",
    "relative_path",
    "source_project"
  ]
}
tool /find_declaration · 查找指定符号的声明位置。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "relative_path": {
      "type": "string",
      "title": "Relative Path",
      "description": "The relative path to the source file containing the symbol for which to find the declaration."
    },
    "regex": {
      "type": "string",
      "title": "Regex",
      "description": "A regular expression with one group, where the group matches the symbol for which to perform the lookup.\nFor example, to find the declaration of the `process` method in a call like `obj.process()`,\npass an expression like \"obj\\.(process)\\(process_input_arg=37\\)\".\nPrefer regexes with sufficiently large context around the group to render the match unambiguous.\nUses Python syntax with MULTILINE and DOTALL flags enabled."
    },
    "containing_symbol_name_path": {
      "default": null,
      "title": "Containing Symbol Name Path",
      "description": "Optional name path of a containing symbol whose body shall be searched instead of the full file.",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "include_body": {
      "default": false,
      "title": "Include Body",
      "description": "Whether to include the symbol's body in the result. Default False.",
      "type": "boolean"
    },
    "include_info": {
      "default": false,
      "title": "Include Info",
      "description": "Whether to include additional info (hover-like). Default False.",
      "type": "boolean"
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "relative_path",
    "regex",
    "source_project"
  ]
}
tool /get_diagnostics_for_file · 获取指定文件的语言服务诊断信息,包括错误和警告。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "relative_path": {
      "type": "string",
      "title": "Relative Path",
      "description": "The relative path to the file to inspect."
    },
    "start_line": {
      "default": 0,
      "title": "Start Line",
      "description": "The first 0-based line to include. Defaults to 0.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "end_line": {
      "default": -1,
      "title": "End Line",
      "description": "The last 0-based line to include. Defaults to -1, which means until the end of the file.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "min_severity": {
      "default": 4,
      "title": "Min Severity",
      "description": "Minimum LSP severity to include, where 1=Error, 2=Warning, 3=Information, 4=Hint.\nDiagnostics with lower-or-equal numeric severity are returned.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "max_answer_chars": {
      "default": -1,
      "title": "Max Answer Chars",
      "description": "Max result length; -1 for default.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "relative_path",
    "source_project"
  ]
}
tool /rename_symbol · 重命名符号,并同步更新项目中的引用。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "name_path": {
      "type": "string",
      "title": "Name Path",
      "description": "Name path of the symbol to rename."
    },
    "relative_path": {
      "type": "string",
      "title": "Relative Path",
      "description": "The relative path to the file containing the symbol to rename."
    },
    "new_name": {
      "type": "string",
      "title": "New Name",
      "description": "The new name for the symbol."
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "name_path",
    "relative_path",
    "new_name",
    "source_project"
  ]
}
tool /safe_delete_symbol · 检查引用后安全删除指定符号。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "name_path_pattern": {
      "type": "string",
      "title": "Name Path Pattern",
      "description": "Name path of the symbol to delete."
    },
    "relative_path": {
      "type": "string",
      "title": "Relative Path",
      "description": "The relative path to the file containing the symbol to delete."
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "name_path_pattern",
    "relative_path",
    "source_project"
  ]
}
tool /write_memory · 将信息写入 Serena 项目记忆。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "memory_name": {
      "type": "string",
      "title": "Memory Name",
      "description": "Memory name."
    },
    "content": {
      "type": "string",
      "title": "Content",
      "description": "Memory content, utf8-encoded."
    },
    "max_chars": {
      "default": -1,
      "title": "Max Chars",
      "description": "See other tools.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "memory_name",
    "content",
    "source_project"
  ]
}
tool /read_memory · 读取指定的 Serena 项目记忆。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "memory_name": {
      "type": "string",
      "title": "Memory Name"
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "memory_name",
    "source_project"
  ]
}
tool /list_memories · 列出当前 Serena 项目的所有记忆。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "topic": {
      "default": "",
      "title": "Topic",
      "type": "string"
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "source_project"
  ]
}
tool /delete_memory · 删除指定的 Serena 项目记忆。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "memory_name": {
      "type": "string",
      "title": "Memory Name"
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "memory_name",
    "source_project"
  ]
}
tool /rename_memory · 重命名指定的 Serena 项目记忆。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "old_name": {
      "type": "string",
      "title": "Old Name"
    },
    "new_name": {
      "type": "string",
      "title": "New Name"
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "old_name",
    "new_name",
    "source_project"
  ]
}
tool /edit_memory · 编辑指定的 Serena 项目记忆内容。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "memory_name": {
      "type": "string",
      "title": "Memory Name",
      "description": "The name of the memory."
    },
    "needle": {
      "type": "string",
      "title": "Needle",
      "description": "The string or regex pattern to search for. In regex mode, be careful to not replace too much!\nIf `mode` is \"literal\", this string will be matched exactly.\nIf `mode` is \"regex\", this string will be treated as a regular expression (syntax of Python's `re` module,\nwith the MULTILINE and DOTALL flags enabled)."
    },
    "repl": {
      "type": "string",
      "title": "Repl",
      "description": "The replacement string (verbatim)."
    },
    "mode": {
      "type": "string",
      "enum": [
        "literal",
        "regex"
      ],
      "title": "Mode",
      "description": "Either \"literal\" or \"regex\", specifying how the `needle` parameter is to be interpreted."
    },
    "allow_multiple_occurrences": {
      "default": false,
      "title": "Allow Multiple Occurrences",
      "description": "Whether to allow matching and replacing multiple occurrences.\nIf false and multiple occurrences are found, an error will be returned.",
      "type": "boolean"
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "memory_name",
    "needle",
    "repl",
    "mode",
    "source_project"
  ]
}
tool /execute_shell_command · 在当前项目上下文中执行 Shell 命令。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "command": {
      "type": "string",
      "title": "Command",
      "description": "The shell command to execute."
    },
    "cwd": {
      "default": null,
      "title": "Cwd",
      "description": "The working directory to execute the command in. If None, the project root will be used.",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "capture_stderr": {
      "default": true,
      "title": "Capture Stderr",
      "description": "Whether to capture and return stderr output.",
      "type": "boolean"
    },
    "max_answer_chars": {
      "default": -1,
      "title": "Max Answer Chars",
      "description": "If the output is longer than this number of characters,\nno content will be returned. -1 means using the default value, don't adjust unless there is no other way to get the content\nrequired for the task.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "command",
    "source_project"
  ]
}
tool /activate_project · 按项目名称或绝对目录激活项目,后续索引和查询使用该项目;连接因空闲关闭后需重新激活。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "title": "Project",
      "description": "The name of a registered project to activate or a path to a project directory."
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "project",
    "source_project"
  ]
}
tool /get_current_config · 查看 Serena 当前项目和语言后端配置。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "source_project"
  ]
}
tool /onboarding · 执行 Serena 项目初始化引导,建立代码索引所需的项目配置。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "Serena 项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "source_project"
  ]
}
9 MCP · computer-use · 启动 Computer Use MCP,控制本机桌面应用。等待消费
tool /click · 点击桌面应用控件或屏幕坐标。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "app": {
      "type": "string",
      "description": "App name or bundle identifier"
    },
    "click_count": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Number of clicks. Defaults to 1"
    },
    "click_method": {
      "type": "string",
      "enum": [
        "auto",
        "accessibility",
        "app_post",
        "sky_click",
        "global"
      ],
      "description": "Click implementation: auto (default), accessibility, app_post, sky_click, or global. Accessibility requires element_index. Windows supports app_post through HWND messages and does not currently support sky_click or global."
    },
    "element_index": {
      "type": "string",
      "description": "Element index to click"
    },
    "mouse_button": {
      "type": "string",
      "enum": [
        "left",
        "right",
        "middle"
      ],
      "description": "Mouse button to click. Defaults to left."
    },
    "x": {
      "type": "number",
      "description": "X coordinate in screenshot pixel coordinates"
    },
    "y": {
      "type": "number",
      "description": "Y coordinate in screenshot pixel coordinates"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "app"
  ]
}
tool /drag · 在屏幕坐标之间拖动鼠标。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "app": {
      "type": "string",
      "description": "App name or bundle identifier"
    },
    "from_x": {
      "type": "number",
      "description": "Start X coordinate"
    },
    "from_y": {
      "type": "number",
      "description": "Start Y coordinate"
    },
    "to_x": {
      "type": "number",
      "description": "End X coordinate"
    },
    "to_y": {
      "type": "number",
      "description": "End Y coordinate"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "app",
    "from_x",
    "from_y",
    "to_x",
    "to_y"
  ]
}
tool /get_app_state · 获取指定应用的最新截图和无障碍界面树。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "app": {
      "type": "string",
      "description": "App name or bundle identifier"
    },
    "max_tree_depth": {
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991,
      "description": "Maximum accessibility tree depth to render. Defaults to 64."
    },
    "max_tree_nodes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991,
      "description": "Maximum accessibility tree nodes to render. Defaults to 1200."
    },
    "text_limit": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 1,
          "maximum": 9007199254740991
        },
        {
          "type": "string",
          "const": "max"
        }
      ],
      "description": "Maximum text characters to return. Use \"max\" for full text. Defaults to 500."
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "app"
  ]
}
tool /list_apps · 列出当前运行或最近使用过的桌面应用。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  }
}
tool /perform_secondary_action · 执行无障碍控件提供的次级操作。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "description": "Secondary accessibility action name"
    },
    "app": {
      "type": "string",
      "description": "App name or bundle identifier"
    },
    "element_index": {
      "type": "string",
      "description": "Element identifier"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "action",
    "app",
    "element_index"
  ]
}
tool /press_key · 发送键盘按键或组合键。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "app": {
      "type": "string",
      "description": "App name or bundle identifier"
    },
    "key": {
      "type": "string",
      "description": "Key or key-combination to press"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "app",
    "key"
  ]
}
tool /scroll · 滚动应用中的可滚动元素。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "app": {
      "type": "string",
      "description": "App name or bundle identifier"
    },
    "direction": {
      "type": "string",
      "description": "Scroll direction: up, down, left, or right"
    },
    "element_index": {
      "type": "string",
      "description": "Element identifier"
    },
    "pages": {
      "type": "number",
      "description": "Number of pages to scroll. Fractional values are supported. Defaults to 1"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "app",
    "direction",
    "element_index"
  ]
}
tool /set_value · 设置无障碍控件的值。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "app": {
      "type": "string",
      "description": "App name or bundle identifier"
    },
    "element_index": {
      "type": "string",
      "description": "Element identifier"
    },
    "value": {
      "type": "string",
      "description": "Value to assign"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "app",
    "element_index",
    "value"
  ]
}
tool /type_text · 向当前焦点位置输入文本。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "app": {
      "type": "string",
      "description": "App name or bundle identifier"
    },
    "text": {
      "type": "string",
      "description": "Literal text to type"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "app",
    "text"
  ]
}
14 MCP · filesystem · 在允许的项目目录内读取和维护文件、目录及基础文件系统数据。等待消费
tool /read_file · 读取允许目录内的文件内容。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "tail": {
      "type": "number",
      "description": "If provided, returns only the last N lines of the file"
    },
    "head": {
      "type": "number",
      "description": "If provided, returns only the first N lines of the file"
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "本次操作的项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path",
    "source_project"
  ]
}
tool /read_text_file · 读取允许目录内的单个文本文件。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "tail": {
      "type": "number",
      "description": "If provided, returns only the last N lines of the file"
    },
    "head": {
      "type": "number",
      "description": "If provided, returns only the first N lines of the file"
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "本次操作的项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path",
    "source_project"
  ]
}
tool /read_media_file · 读取允许目录内的图片、音频等媒体文件。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "本次操作的项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path",
    "source_project"
  ]
}
tool /read_multiple_files · 批量读取多个允许目录内的文件。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "paths": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of file paths to read. Each path must be a string pointing to a valid file within allowed directories."
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "本次操作的项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "paths",
    "source_project"
  ]
}
tool /write_file · 创建或完整覆盖允许目录内的文件。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "content": {
      "type": "string"
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "本次操作的项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path",
    "content",
    "source_project"
  ]
}
tool /edit_file · 对允许目录内的文本文件执行精确编辑。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "edits": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "oldText": {
            "type": "string",
            "description": "Text to search for - must match exactly"
          },
          "newText": {
            "type": "string",
            "description": "Text to replace with"
          }
        },
        "required": [
          "oldText",
          "newText"
        ],
        "additionalProperties": {}
      }
    },
    "dryRun": {
      "default": false,
      "description": "Preview changes using git-style diff format",
      "type": "boolean"
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "本次操作的项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path",
    "edits",
    "source_project"
  ]
}
tool /create_directory · 在允许范围内创建目录。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "本次操作的项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path",
    "source_project"
  ]
}
tool /list_directory · 列出目录中的直接子项。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "本次操作的项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path",
    "source_project"
  ]
}
tool /list_directory_with_sizes · 列出目录子项及其大小。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "sortBy": {
      "default": "name",
      "description": "Sort entries by name or size",
      "type": "string",
      "enum": [
        "name",
        "size"
      ]
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "本次操作的项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path",
    "source_project"
  ]
}
tool /directory_tree · 递归查看目录树结构。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "excludePatterns": {
      "default": [],
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "本次操作的项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path",
    "source_project"
  ]
}
tool /move_file · 移动或重命名文件、目录。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "source": {
      "type": "string"
    },
    "destination": {
      "type": "string"
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "本次操作的项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "source",
    "destination",
    "source_project"
  ]
}
tool /search_files · 按 glob 在允许目录内递归搜索文件。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "pattern": {
      "type": "string"
    },
    "excludePatterns": {
      "default": [],
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "本次操作的项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path",
    "pattern",
    "source_project"
  ]
}
tool /get_file_info · 获取文件或目录的元数据。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "本次操作的项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path",
    "source_project"
  ]
}
tool /list_allowed_directories · 查看当前允许访问的目录范围。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "source_project": {
      "type": "string",
      "minLength": 1,
      "description": "本次操作的项目根目录,使用绝对路径。"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "source_project"
  ]
}
28 MCP · desktop-commander · 执行桌面工作区命令、进程和系统级开发操作。等待消费
tool /get_config · 查看 Desktop Commander 当前配置。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "origin": {
      "type": "string",
      "enum": [
        "ui",
        "llm"
      ]
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  }
}
tool /set_config_value · 修改 Desktop Commander 的单个配置项。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "key": {
      "type": "string"
    },
    "value": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "type": "null"
        }
      ]
    },
    "origin": {
      "type": "string",
      "enum": [
        "ui",
        "llm"
      ]
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "key",
    "value"
  ]
}
tool /read_file · 读取单个文件或 URL 内容。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "isUrl": {
      "default": false,
      "type": "boolean"
    },
    "offset": {
      "default": 0,
      "type": "number"
    },
    "length": {
      "default": 1000,
      "type": "number"
    },
    "sheet": {
      "type": "string"
    },
    "range": {
      "type": "string"
    },
    "options": {
      "type": "object",
      "properties": {},
      "additionalProperties": {}
    },
    "origin": {
      "type": "string",
      "enum": [
        "ui",
        "llm"
      ]
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path"
  ]
}
tool /read_multiple_files · 并行读取多个文件。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "paths": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "paths"
  ]
}
tool /write_file · 创建、重写或追加文件。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "content": {
      "type": "string"
    },
    "mode": {
      "default": "rewrite",
      "type": "string",
      "enum": [
        "rewrite",
        "append"
      ]
    },
    "origin": {
      "type": "string",
      "enum": [
        "ui",
        "llm"
      ]
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path",
    "content"
  ]
}
tool /write_pdf · 创建或修改 PDF 文件。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "content": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "insert"
                  },
                  "pageIndex": {
                    "type": "number"
                  },
                  "markdown": {
                    "type": "string"
                  },
                  "sourcePdfPath": {
                    "type": "string"
                  },
                  "pdfOptions": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": {}
                  }
                },
                "required": [
                  "type",
                  "pageIndex"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "delete"
                  },
                  "pageIndexes": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": [
                  "type",
                  "pageIndexes"
                ],
                "additionalProperties": false
              }
            ]
          }
        }
      ]
    },
    "outputPath": {
      "type": "string"
    },
    "options": {
      "type": "object",
      "properties": {},
      "additionalProperties": {}
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path",
    "content"
  ]
}
tool /create_directory · 创建目录。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path"
  ]
}
tool /list_directory · 列出文件和目录。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "depth": {
      "default": 2,
      "type": "number"
    },
    "origin": {
      "type": "string",
      "enum": [
        "ui",
        "llm"
      ]
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path"
  ]
}
tool /move_file · 移动或重命名文件、目录。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "source": {
      "type": "string"
    },
    "destination": {
      "type": "string"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "source",
    "destination"
  ]
}
tool /start_search · 启动可分页的文件内容搜索。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "pattern": {
      "type": "string"
    },
    "searchType": {
      "default": "files",
      "type": "string",
      "enum": [
        "files",
        "content"
      ]
    },
    "filePattern": {
      "type": "string"
    },
    "ignoreCase": {
      "default": true,
      "type": "boolean"
    },
    "maxResults": {
      "type": "number"
    },
    "includeHidden": {
      "default": false,
      "type": "boolean"
    },
    "contextLines": {
      "default": 5,
      "type": "number"
    },
    "timeout_ms": {
      "type": "number"
    },
    "earlyTermination": {
      "type": "boolean"
    },
    "literalSearch": {
      "default": false,
      "type": "boolean"
    },
    "origin": {
      "type": "string",
      "enum": [
        "ui",
        "llm"
      ]
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path",
    "pattern"
  ]
}
tool /get_more_search_results · 获取下一批搜索结果。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "sessionId": {
      "type": "string"
    },
    "offset": {
      "default": 0,
      "type": "number"
    },
    "length": {
      "default": 100,
      "type": "number"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "sessionId"
  ]
}
tool /stop_search · 停止正在进行的搜索。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "sessionId": {
      "type": "string"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "sessionId"
  ]
}
tool /list_searches · 列出当前活动的搜索会话。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  }
}
tool /get_file_info · 获取文件或目录的元数据。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "path"
  ]
}
tool /edit_block · 按匹配规则精确替换文件内容块。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "file_path": {
      "type": "string"
    },
    "old_string": {
      "type": "string"
    },
    "new_string": {
      "type": "string"
    },
    "expected_replacements": {
      "default": 1,
      "type": "number"
    },
    "range": {
      "type": "string"
    },
    "content": {},
    "options": {
      "type": "object",
      "properties": {},
      "additionalProperties": {}
    },
    "origin": {
      "type": "string",
      "enum": [
        "ui",
        "llm"
      ]
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "file_path"
  ]
}
tool /start_process · 启动本机命令或长时间运行的进程。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "command": {
      "type": "string"
    },
    "timeout_ms": {
      "type": "number"
    },
    "shell": {
      "type": "string"
    },
    "verbose_timing": {
      "type": "boolean"
    },
    "origin": {
      "type": "string",
      "enum": [
        "ui",
        "llm"
      ]
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "command",
    "timeout_ms"
  ]
}
tool /read_process_output · 读取进程输出和状态。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pid": {
      "type": "number"
    },
    "timeout_ms": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "length": {
      "type": "number"
    },
    "verbose_timing": {
      "type": "boolean"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pid"
  ]
}
tool /interact_with_process · 向运行中的进程发送输入。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pid": {
      "type": "number"
    },
    "input": {
      "type": "string"
    },
    "timeout_ms": {
      "type": "number"
    },
    "wait_for_prompt": {
      "type": "boolean"
    },
    "verbose_timing": {
      "type": "boolean"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pid",
    "input"
  ]
}
tool /force_terminate · 强制结束终端会话。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pid": {
      "type": "number"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pid"
  ]
}
tool /list_sessions · 列出活动终端会话。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  }
}
tool /list_processes · 查看当前系统进程。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  }
}
tool /kill_process · 终止指定系统进程。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "pid": {
      "type": "number"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "pid"
  ]
}
tool /get_usage_stats · 查看工具调用次数和耗时统计。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  }
}
tool /get_recent_tool_calls · 查看最近的工具调用记录。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "maxResults": {
      "default": 50,
      "type": "number",
      "minimum": 1,
      "maximum": 1000
    },
    "toolName": {
      "type": "string"
    },
    "since": {
      "type": "string",
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  }
}
tool /give_feedback_to_desktop_commander · 打开 Desktop Commander 反馈页面。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  }
}
tool /get_prompts · 获取 Desktop Commander 提供的 onboarding 提示。
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "const": "get_prompt"
    },
    "promptId": {
      "type": "string"
    },
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  },
  "required": [
    "action",
    "promptId"
  ]
}
resource /Desktop Commander File Preview · Markdown-first preview surface for read_file structured content.
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  }
}
resource /Desktop Commander Config Editor · Interactive editor for Desktop Commander configuration values.
Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "source_timeout": {
      "default": 10,
      "description": "source_timeout 是空闲超时秒数,不是固定生命周期:一次调用结束后开始倒计时;在倒计时结束前的每次新调用都会重新开始完整倒计时。只有连续 source_timeout 秒没有调用时才关闭进程;调用进行中不会关闭。可选 10、30、60、300 或 600,默认 10。关闭后下一次调用会重新启动进程。",
      "type": "number",
      "enum": [
        10,
        30,
        60,
        300,
        600
      ]
    }
  }
}