WPS Office MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WPS Office MCPWhat is the current selection in the active WPS document?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WPS Office MCP
面向 Windows 的 WPS Office Model Context Protocol(MCP)桥接器。它通过本机 PowerShell 与 WPS COM 自动化接口,让 Codex 或其他 stdio MCP 客户端检查 WPS Writer、Spreadsheets 和 Presentation 的活动对象与内容。
当前发行版:
1.0.0-hardened.1。默认compact配置仅发布 29 个明确选择的 读取/检查工具;不会默认开放编辑、保存、删除、导出或任意方法调用。
本仓库是可重新部署的源码包,不包含 WPS Office、账号、许可证、用户文档、真实路径、 访问令牌或日志。使用者需要自行安装并合法使用 WPS Office。
设计目标
以最小权限连接当前 Windows 用户会话中的 WPS Office。
默认只读:compact allowlist 覆盖连接、Writer、Spreadsheets 和 Presentation 检查。
移除通用
wps_execute_method分发器,避免绕过工具级边界。compact 工具附带 MCP 只读、非破坏、幂等和闭合世界提示。
日志目录可配置,请求参数默认脱敏,stdio stdout 默认保持纯净。
源码、锁文件、安装/启动脚本和 CI 均可从全新克隆重建。
Related MCP server: Sky Windows Remote Executor
调用链
Codex / MCP client
│ MCP over stdio
▼
WPS MCP server ── compact allowlist / schema validation / redacted logging
│
▼
PowerShell bridge (`scripts/wps-com.ps1`)
│ Windows COM
▼
WPS Writer (`Kwps`) / Spreadsheets (`Ket`) / Presentation (`Kwpp`)完整模块关系、配置档和信任边界见 架构说明。
运行要求
Windows 10/11;COM 模式不支持 Linux。
已安装且可由当前 Windows 用户启动的 WPS Office。
Node.js 18 或更高版本,附带 npm。
Codex 或其他支持 stdio MCP 的客户端。
PowerShell 5.1 或 PowerShell 7。
安装与启动
克隆仓库或解压 Release 后,在普通 PowerShell 中运行:
Set-ExecutionPolicy -Scope Process Bypass
.\scripts\setup.ps1该脚本执行锁文件安装、TypeScript 构建和公开包隐私检查。网络受限环境可以在依赖已缓存
时运行 npm ci --offline,但不得删除完整性校验或改用未锁定依赖。
手动调试 stdio 服务器:
.\scripts\start.ps1正常使用时由插件根目录的 .mcp.json 启动 dist/index.js。如果客户端不支持相对
cwd,请在该客户端的私有配置中填写自己的安装目录;不要提交该文件。
配置
.env.example 只列出可选变量与安全默认值,不含任何用户信息。服务本身读取进程环境;
可以在 MCP 客户端配置中设置这些变量,或在启动前由用户自己的脚本设置。
变量 | 默认值 | 说明 |
|
|
|
|
| 私有日志目录;已被 Git 忽略 |
|
| 保持 0,避免记录文档文本、路径或密码 |
|
| 保持 stdout 纯净,避免破坏 stdio MCP |
|
| 日志详细程度 |
|
| MCP 调试开关 |
默认 29 工具
领域 | 数量 | 内容 |
连接与通用 | 9 | 连通性、活动对象、应用信息、选区 |
Writer | 6 | 活动/已打开文档、正文、段落、查找、修订状态 |
Spreadsheets | 7 | 已打开工作簿、单元格/公式/信息、工作表、选区、区域读取 |
Presentation | 7 | 已打开演示、页数、页面信息/备注/文本框/标题、文本查找 |
实际 allowlist 以 .mcp.json 和
src/server/mcp-server.ts 中的 COMPACT_TOOL_NAMES 为准,两处均应保持 29 项且由 CI
校验。完整工具实现仍保留在源码中,只有显式设置 WPS_MCP_TOOL_PROFILE=full 才会注册
写入型目录。
授权与风险
WPS Office 是独立产品,本仓库不提供或绕过其软件许可。
COM 调用运行在当前 Windows 用户权限下,可访问该用户已打开的文档。
full配置能够改写、删除、保存、导出、保护或关闭文件,不属于默认安全配置。不应把文档密码放入
.env、日志、Issue、CI 或示例;需要密码的写工具只应在受控的 临时调用中接收。启用 full 前,应取得用户明确授权、确认目标文档并建立可恢复副本。
公开 Issue 和测试夹具不得包含真实文档、账号、路径、注释作者或业务数据。
安全报告和部署建议见 SECURITY.md。
开发与测试
npm ci
npm run build
npm run verify:publicnpm run verify:public 检查用户目录、私钥材料、明显的嵌入式凭据和误纳入的私有 .env。
真实 COM 冒烟测试必须在 Windows 与 WPS Office 上人工执行:先打开一个不含隐私的临时
文档,只测试 compact 工具,不应在 CI 中启动桌面 Office 或上传测试文档。
仓库结构
wps/
├─ .codex-plugin/plugin.json Codex 插件清单
├─ .mcp.json 可移植、29 工具 compact 配置
├─ .env.example 无私密值的环境变量模板
├─ skills/wps-office/ Codex 工作流与风险边界
├─ src/
│ ├─ server/ MCP 服务器、注册表与 profile 过滤
│ ├─ client/ WPS 客户端与 PowerShell 进程桥接
│ ├─ tools/ Writer / Excel / PPT / common 工具
│ ├─ types/ 协议和 WPS 类型
│ └─ utils/ 日志与错误处理
├─ scripts/
│ ├─ wps-com.ps1 Windows COM 实现
│ ├─ setup.ps1 / setup.cmd 锁定依赖与构建
│ ├─ start.ps1 / start.cmd 安全默认启动
│ └─ verify-public-package.mjs 隐私和发布边界检查
├─ docs/architecture.md 调用链和信任模型
├─ package.json / package-lock.json
└─ .github/workflows/ci.yml 构建、清单和隐私检查上游与版本
本发行版基于 lc2panda/wps-skills
提交 a82533662268b3245f93d8685bc45dffede048b6。保留原项目 MIT License 和作者归属,
并以 -hardened.1 标识本地安全配置差异。完整说明见 NOTICE.md、
HARDENING.md 和 CHANGELOG.md。
贡献
贡献前请阅读 CONTRIBUTING.md。任何新增工具必须说明它属于读取还是 写入能力、是否具有破坏性、应在哪个 profile 发布,以及如何避免记录敏感参数。
项目采用 MIT License。
Available Tools
29 toolswps_check_connectionBRead-onlyIdempotent
检查WPS Office连接状态
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. However, the description does not explain what 'connection status' means or what the tool returns (e.g., a boolean, a status object, or details). With no output schema, the description should clarify the result format, but it only restates the purpose. The description adds minimal behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence in Chinese that directly states the tool's function. It is front-loaded with the purpose, contains no filler, and is appropriately sized for a tool with no parameters. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and annotations covering safety, the description is adequate but not complete. It lacks information about the return value or any error states, which an agent would need to interpret the result. Additionally, it does not differentiate from potentially similar siblings like wps_common_ping or wps_common_wire_check, which could lead to incorrect tool selection. Given the simplicity, a 3 reflects these gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the schema is empty, so there is nothing to document. The description adds no parameter-specific meaning because none exist. The baseline for 0 parameters is 4, and the description does not create any ambiguity about inputs. It fully covers the input side.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('检查' / check) and resource ('WPS Office连接状态' / WPS Office connection status). It distinguishes the tool from document-specific siblings (e.g., wps_get_active_document) but does not explicitly differentiate it from other connectivity-check siblings like wps_common_ping or wps_common_wire_check, which might overlap in purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention wps_common_ping or wps_common_wire_check as potential alternatives, nor any preconditions or scenarios where this tool is preferred. The only hint is the name, but the description itself offers no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_common_get_app_infoARead-onlyIdempotent
获取WPS应用的基本信息。
使用场景:
"WPS是什么版本"
"查看WPS信息"
"获取应用状态"
特点:
返回WPS版本号、构建信息
返回当前打开的文档信息
返回运行平台信息
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds value by specifying what information is returned (version, build, open documents, platform), which is especially important since there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a main statement, usage scenarios, and feature bullets. It is concise, front-loaded, and every line adds relevant information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool with strong annotations, the description fully covers what the agent needs to know: what the tool does, when to use it, and what it returns. No critical information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%, so there is nothing for the description to add about parameter meaning. The baseline of 4 applies for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves basic WPS application information and enumerates specific return contents: version/build info, currently open documents, and platform info. This distinguishes it from sibling tools like connectivity checks or document-specific getters, so an agent can identify it without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides concrete usage scenarios such as 'WPS是什么版本' and '获取应用状态', giving clear context for when to invoke this tool. It does not explicitly exclude alternatives or name sibling tools, but the scenarios are specific enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_common_get_selected_textARead-onlyIdempotent
获取当前文档中选中的文本内容。
使用场景:
"读取我选中的内容"
"获取当前选区的文字"
"看看我选了什么"
特点:
返回当前选区的纯文本内容
适用于Word、Excel、PPT
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that it returns '纯文本内容' (plain text) of the current selection, which informs the agent about the output format, and specifies that it works for Word, Excel, and PPT, clarifying its scope. No contradictions with annotations; it adds context beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured. It leads with the primary purpose in the first sentence, then uses bullet points to list usage scenarios and features. Each sentence serves a purpose: stating what it does, giving examples of user requests, and describing the return type and applicability. There is no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (no parameters, no output schema) and the description covers the key aspects: what it returns (plain text), where it works (Word, Excel, PPT), and typical usage scenarios. It doesn't mention edge cases like 'no selection' or error behavior, but these are minor and not critical for an agent to call it correctly. Given the simplicity and strong annotations, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema coverage is 100% by definition. The description does not need to explain any parameters, and it doesn't. The baseline for 0 parameters is 4, and since there is nothing to clarify, this score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '获取当前文档中选中的文本内容' (get the text selected in the current document). It explicitly lists the supported applications (Word, Excel, PPT) and gives concrete usage examples, making it easy to distinguish from the more specialized sibling tools like wps_excel_get_selection or wps_word_get_document_text. The verb 'get' and resource 'selected text' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage scenarios with example user utterances ('读取我选中的内容', '获取当前选区的文字', '看看我选了什么') that indicate when to invoke this tool. It also states that it applies across Word, Excel, and PPT, implying it is the common choice for reading selection across all these apps. It does not explicitly name alternatives or exclusion conditions, but the cross-app scope gives enough context to select it over app-specific tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_common_pingARead-onlyIdempotent
检测WPS应用连接状态。
使用场景:
"WPS连上了吗"
"检查一下WPS是否在线"
"测试WPS连接"
特点:
快速检测WPS加载项是否可达
返回连接状态信息
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that it is fast and returns connection status information, which is useful context but not substantial beyond the annotations. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured. It leads with the primary purpose, then provides bullet-pointed use cases and features. Every sentence adds value, and the formatting makes it easy to scan quickly. No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple ping tool with no parameters and no output schema, the description is largely complete. It states what it does, when it is used, and what it returns (connection status). It could specify the exact format of the return value, but for a connectivity check, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the input schema is empty with 100% schema description coverage. Since there are no parameters to explain, the description does not need to compensate. The baseline for 0 params is 4, and no additional parameter information is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: detecting WPS application connection status. It provides concrete use-case examples (e.g., 'WPS连上了吗') and a feature bullet ('快速检测WPS加载项是否可达'). However, it does not differentiate from sibling tools like wps_check_connection or wps_common_wire_check, which likely serve similar purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives example user queries but no guidance on when to prefer this tool over alternatives. There is no mention of alternatives, exclusion criteria, or context where another sibling would be more appropriate. The agent is left to infer usage from the generic ping description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_common_wire_checkARead-onlyIdempotent
检查与WPS加载项之间的通信线路状态。
使用场景:
"检查通信状态"
"诊断连接问题"
"通信线路是否正常"
特点:
比ping更详细的通信诊断
返回线路延迟、协议状态等信息
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that it returns latency and protocol status ('返回线路延迟、协议状态等信息'), which is useful behavioral context beyond the annotations. However, it doesn't detail what 'more detailed' means operationally or any side effects, though none are expected for a read-only check.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured with a clear main statement, use cases, and feature bullets. It front-loads the purpose and keeps each line informative. Minor redundancy exists between the main statement and the use cases, but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only diagnostic tool with no output schema, the description covers the purpose, use cases, and expected return information (latency, protocol status). It doesn't specify exact output format or error behavior, but given the tool's simplicity and annotation coverage, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is trivially complete (100% coverage). The description adds context about what the tool checks and returns, which is meaningful for a no-parameter tool. Baseline 4 is appropriate since there are no parameters to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks communication line status with WPS add-ins, using a specific verb ('检查') and resource ('与WPS加载项之间的通信线路状态'). It distinguishes itself from siblings by noting it is more detailed than ping, though it doesn't explicitly name the sibling wps_common_ping.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases ('检查通信状态', '诊断连接问题', '通信线路是否正常') and contrasts with ping ('比ping更详细的通信诊断'), giving an agent clear context for when to use this tool. It doesn't explicitly state when not to use it or name alternatives, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_excel_get_cell_infoARead-onlyIdempotent
获取单元格的详细信息(值、公式、格式等)。
| Name | Required | Description | Default |
|---|---|---|---|
| cell | Yes | 单元格地址,如 A1 | |
| sheet | Yes | 工作表名称 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the scope of returned content (value, formula, format, etc.) but does not disclose behavior for invalid cells or the exact output structure. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with no wasted words. The core action and return scope are front-loaded clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with two required parameters, the description is sufficient for selection and basic invocation. However, with no output schema, it could be more explicit about what 'format' includes, leaving some ambiguity about the exact detailed information returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional parameter-level meaning beyond the schema; it does not clarify cell address semantics or sheet naming conventions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: retrieve detailed cell information (value, formula, format, etc.). It meaningfully distinguishes the tool from sibling tools like wps_excel_get_cell_value and wps_excel_get_formula, which focus on individual aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when comprehensive cell details are needed, but it does not explicitly name alternatives or state when to prefer a simpler getter. No exclusions or conditions are provided, so the usage guidance is more implied than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_excel_get_cell_valueCRead-onlyIdempotent
获取Excel指定单元格的值。
| Name | Required | Description | Default |
|---|---|---|---|
| col | Yes | 列号(从1开始) | |
| row | Yes | 行号(从1开始) | |
| sheet | Yes | 工作表名称 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no behavioral context beyond the purpose, such as the dependence on the active workbook or the return type. No contradiction with annotations, but the description contributes nothing extra to behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words. It is efficiently structured and front-loaded with the core action. However, it is so minimal that it omits important context, which affects completeness rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the tool is simple, the description is incomplete given the many siblings. It fails to specify that the tool operates on the active workbook, does not describe the return value format (especially with no output schema), and does not distinguish it from wps_get_cell_value. An agent could easily choose the wrong tool or call it incorrectly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all three parameters (sheet, row, col) with 100% coverage. The description itself does not add any meaning beyond what the schema already conveys. Per calibration, a baseline of 3 is appropriate when the schema fully documents parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb '获取' (get) and the resource 'Excel指定单元格的值' (value of a specified cell in Excel), which is clear. However, it does not differentiate from the sibling tool wps_get_cell_value, which appears to serve a similar purpose, and it does not clarify that it operates on the active workbook. This ambiguity prevents a higher score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention that it operates on the active workbook, nor does it compare with wps_get_cell_value or wps_excel_read_range. The description implies usage for fetching a single cell value but offers no exclusions or context for selecting this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_excel_get_formulaBRead-onlyIdempotent
获取Excel指定单元格的公式。
| Name | Required | Description | Default |
|---|---|---|---|
| cell | Yes | 单元格地址,如 A1、B2 | |
| sheet | Yes | 工作表名称 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no extra behavioral context (e.g., what happens if the cell has no formula, or whether it returns an error). With annotations present, the bar is lower, but the description contributes nothing beyond the bare function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no redundant words. It is front-loaded with the core action and resource, achieving maximum conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only getter with two well-documented parameters and no output schema, the description is functionally complete. It tells the agent exactly what the tool does. The only minor gap is not describing the return format (e.g., returns a formula string), but this is not critical given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both parameters (sheet and cell) described in the schema. The description does not add any additional parameter-level detail beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (获取/get) and resource (Excel cell formula), making the purpose unambiguous. It clearly distinguishes from sibling tools like wps_get_cell_value and wps_excel_get_cell_info by specifying 'formula'. However, it does not explicitly name alternatives, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention context, prerequisites, or scenarios where another tool would be more appropriate. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_excel_get_open_workbooksARead-onlyIdempotent
获取当前所有已打开的Excel工作簿列表。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no additional behavioral context such as return format, ordering, or behavior when no workbooks are open. It is not contradictory, but it adds minimal value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that is front-loaded with the key information. There is no redundant or filler content; every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list operation with no output schema, the description adequately states what the tool returns: a list of all open Excel workbooks. It does not detail the list element structure or edge cases, but the complexity is low and the annotations cover safety.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the input schema is empty, so schema coverage is effectively 100%. With no parameters to document, the description has no extra burden here; baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: '获取当前所有已打开的Excel工作簿列表' (get list of all currently open Excel workbooks). It is distinct from siblings like wps_get_active_workbook by using 'all open' rather than 'active', though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing to enumerate open workbooks, but it provides no explicit when-to-use guidance, no exclusions, and no mention of sibling tools. Usage is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_excel_get_selectionARead-onlyIdempotent
获取当前Excel中选中区域的信息,包括范围地址、行列数等。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful context about what information is returned (range address, row/column counts), though it does not disclose edge cases like empty selections or what '等' includes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, compact sentence that front-loads the core purpose and immediately lists example output contents. Every word earns its place with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only tool, the description provides enough context for an agent to understand what it does and what kind of result to expect. It does not fully enumerate the return structure, but the examples and the tool's simple nature make this a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the description does not need to explain parameter semantics. The baseline of 4 applies because no parameter information is missing and the schema coverage is trivially 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('获取') and resource ('当前Excel中选中区域的信息') and names concrete returned aspects (范围地址, 行列数). It is clearly distinguishable from sibling tools like wps_excel_read_range, which targets a specified range rather than the current selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as wps_excel_read_range or wps_common_get_selected_text. The use case is implied by the name and description, but explicit routing or exclusions are absent, which matters given the large sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_excel_get_sheet_listARead-onlyIdempotent
获取当前工作簿的所有工作表列表,包含名称、索引和是否为活动工作表。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds the behavioral detail that it returns name, index, and active-sheet status, which is useful. However, it does not disclose what happens if no workbook is open (e.g., error vs empty list), which would be valuable context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the main action and then lists the returned fields. Every word earns its place; there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only, idempotent tool, the description is nearly complete. It states the resource, the returned fields, and the scope ('current workbook'). The only missing piece is the behavior when no workbook is open, but given the simplicity and the strong annotation coverage, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides no parameter semantics to clarify. The description compensates by specifying exactly what the returned list contains (name, index, active status), which is the only semantic information an agent needs. Baseline 4 for zero-param tools is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: retrieving the list of all worksheets in the current workbook, including name, index, and active status. It uses a specific verb ('获取') and resource ('当前工作簿的所有工作表列表'), and the detail about what fields are returned distinguishes it from sibling tools like wps_excel_get_open_workbooks or wps_get_active_workbook.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: it operates on the 'current workbook', which tells the agent it should be used when the active workbook's sheet list is needed. However, it does not explicitly state when to prefer this over alternatives like wps_excel_get_open_workbooks or wps_get_active_workbook, nor does it mention any prerequisites (e.g., a workbook must be open).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_excel_read_rangeBRead-onlyIdempotent
读取Excel指定范围的单元格数据,返回二维数组格式的数据。
| Name | Required | Description | Default |
|---|---|---|---|
| range | Yes | 要读取的范围,如 A1:C10、B2:D5 | |
| sheet | No | 工作表名称,不填则使用当前活动工作表 | |
| include_header | No | 是否将第一行作为表头返回,默认false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation as read-only, idempotent, and non-destructive. The description adds the return format as a 2D array, but it does not clarify whether values or formulas are returned, or how include_header affects the output beyond what the schema states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the purpose and output format. It contains no filler or redundant information, though it could add slightly more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple read operation and the schema covers parameters, but there is no output schema and no mention of whether returned values are computed values or formulas, or how empty cells are handled. This leaves some ambiguity for an agent deciding between this and formula-related siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the parameters. The description adds no extra meaning about range syntax, sheet selection, or header behavior beyond what is already in the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads a specified Excel range and returns data in 2D array format. This distinguishes it from single-cell or formula-oriented siblings, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool instead of wps_excel_get_cell_value, wps_excel_get_formula, or wps_excel_get_selection. The intended usage is only implied by the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_get_active_documentBRead-onlyIdempotent
获取当前打开的WPS文字文档信息
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the bar is lower. However, the description adds essentially no behavioral context beyond 'get info': no mention of what happens when no document is open, whether it returns a summary or full document, or any edge-case behavior. It does not contradict annotations but contributes little beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no wasted words; the core operation is front-loaded. It is appropriately sized for a 0-parameter read-only tool, though it could carry slightly more substantive detail without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 0-param read-only tool with strong annotations, it is mostly complete. However, '信息' (information) is vague, and with no output schema the agent cannot anticipate what fields to expect. The unresolved near-duplicate sibling wps_word_get_active_document also leaves a real gap in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0 parameters and 100% coverage, so the baseline is 4. There are no parameters to document, and the description correctly implies the tool needs no arguments. Nothing is missing in this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '获取当前打开的WPS文字文档信息' (Get info about the currently open WPS Word document) has a clear verb (获取/get) + specific resource (current open WPS Word document) + purpose (information). It distinguishes itself from workbook and presentation siblings via '文字' (Word), but there's a confusing near-duplicate sibling wps_word_get_active_document that the description doesn't disambiguate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives, no exclusions, and no prerequisites are stated. The description doesn't help an agent decide between this tool and the near-duplicate wps_word_get_active_document or the other active_* siblings; it relies entirely on external sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_get_active_presentationBRead-onlyIdempotent
获取当前打开的WPS演示文稿信息
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, covering the safety profile. The description adds no behavioral context beyond a restatement of the function, such as behavior when no presentation is open, error handling, or any side effects. Since the description carries no extra value beyond the annotations, it scores low on this dimension.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words. It is appropriately front-loaded and immediately conveys the core function. There is no unnecessary elaboration or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal for a tool with no output schema and no parameters. While it conveys the core purpose, it does not specify what information is returned (e.g., presentation name, slide count, metadata). Given the sibling tools and the getter nature, an agent might need more detail to know if this tool satisfies their need, especially since the output schema is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is 100% (vacuously). Per the baseline for a zero-parameter tool, the description is not required to add parameter details, and it correctly avoids irrelevant information. The description does not mislead about parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool retrieves information about the currently open WPS presentation, which is a specific verb and resource. It clearly distinguishes from siblings like wps_ppt_get_open_presentations (which lists all presentations) and wps_ppt_get_slide_count (which targets slides). However, the vague term '信息' (information) leaves the exact scope of the return value unspecified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention that this is for a single active presentation or when to prefer it over wps_ppt_get_open_presentations. There is no exclusion or condition stated, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_get_active_workbookARead-onlyIdempotent
获取当前打开的WPS表格工作簿信息
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only the 'currently open' scoping and does not describe return shape or side effects, but for a simple getter this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless getter with safety annotations, the description is largely complete. The only gap is that '信息' (information) is unspecified, but the tool name and context make the intent clear enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%, so there is nothing for the description to compensate for. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('获取' / get) and resource ('当前打开的WPS表格工作簿信息' / currently open WPS spreadsheet workbook info). This clearly distinguishes it from sibling tools targeting active documents or presentations, and from tools listing all open workbooks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase '当前打开的' (currently open) implies this is for the active workbook, but the description gives no explicit guidance on when to prefer it over alternatives like wps_excel_get_open_workbooks or wps_get_active_document. Usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_get_cell_valueBRead-onlyIdempotent
读取指定单元格的值
| Name | Required | Description | Default |
|---|---|---|---|
| col | Yes | 列号(从1开始) | |
| row | Yes | 行号(从1开始) | |
| sheet | Yes | 工作表名称或索引 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds little beyond repeating the read operation, and it does not disclose behavior such as return format, empty-cell handling, or errors, but no contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that is front-loaded and free of filler. It could add sibling differentiation, but for what it contains it is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read operation with fully documented parameters and strong safety annotations, the description is minimally adequate. However, it does not explain the relationship to wps_excel_get_cell_value, and without an output schema it also omits what value format the agent should expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter (sheet, row, col) has a meaningful description in the schema, so the description does not need to add parameter details. It adds no extra semantics, matching the baseline for well-covered schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '读取指定单元格的值' clearly states the verb (read) and resource (a specified cell's value), so an agent knows exactly what operation the tool performs. However, it does not differentiate this tool from the sibling wps_excel_get_cell_value, which appears to serve the same purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as wps_excel_get_cell_value or wps_excel_read_range. There are no stated conditions, exclusions, or context for selection, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_ppt_find_ppt_textARead-onlyIdempotent
在演示文稿中搜索指定文本。
返回包含目标文本的幻灯片页码和形状信息。
使用场景:
"搜索PPT中的某段文字"
"查找包含关键词的幻灯片"
"找到所有提到xxx的位置"
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | 要搜索的文本内容 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation read-only, idempotent, and non-destructive. The description adds useful beyond-annotation context by stating that results include slide page numbers and shape information. It does not disclose details like whether the search covers the active presentation only or whether headers/notes are included, so it is not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core purpose before giving example use cases. The three use-case bullets are somewhat repetitive, but they add practical guidance for intent matching without bloating the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter search tool with safety annotations, the essential behavior is covered, and the return type is partially described. However, it does not specify whether the search runs against the active presentation or all open presentations, nor does it define the shape information structure, which could lead to incorrect usage when multiple presentation documents are open.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter with a clear description and 100% coverage. The description's use-case bullets such as '关键词' and '位置' add mild semantic color but do not meaningfully extend what the schema already tells the agent about the 'text' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation ('在演示文稿中搜索指定文本') and the resource (a presentation), and additionally specifies the output: slide page numbers and shape information. This is enough to distinguish it from siblings like wps_word_find_in_document, which targets Word documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '使用场景' section gives concrete example phrasings for when an agent should call this tool, which helps intent matching. However, it does not explicitly mention alternatives or state when not to use it, though the presentation-specific wording makes the context reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_ppt_get_open_presentationsARead-onlyIdempotent
获取当前所有已打开的演示文稿列表。
使用场景:
"有哪些PPT打开着"
"列出所有演示文稿"
"查看打开的PPT"
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile of this read-only listing operation. The description adds only that it reflects the currently-open state, which is modest extra context, so 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded with the main statement, followed by three brief usage examples. The examples are slightly redundant but useful, and every sentence earns its place without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A simple, parameterless, read-only listing tool with annotations covering safety and a clear purpose. It is adequately complete for an agent to call correctly; the only minor gap is not explicitly distinguishing it from wps_get_active_presentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to document. The 0-param baseline of 4 applies and there is no gap to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: getting the list of all currently open presentations (演示文稿). It clearly communicates a list operation, which distinguishes it from sibling wps_get_active_presentation (single active doc), though it does not name that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides three concrete user-query examples ('有哪些PPT打开着', '列出所有演示文稿', '查看打开的PPT') that indicate when to invoke this tool. It gives clear trigger context but does not state when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_ppt_get_slide_countARead-onlyIdempotent
获取演示文稿中的幻灯片总数。
使用场景:
"一共有多少页幻灯片"
"PPT有几页"
"查看幻灯片数量"
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already communicate readOnlyHint, idempotentHint, and non-destructiveness, so the description does not need to repeat those. However, it fails to state that the count refers to the active presentation, which is a meaningful behavioral assumption for a zero-parameter tool. No additional behavioral context such as output shape or target scope is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: a one-sentence definition followed by three illustrative use cases. It is front-loaded with the core purpose and contains no filler or repetition of schema/annotation information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only count tool, the description covers the intent well. The main gap is that it does not explicitly identify the target as the active/open presentation, which is important since no parameter allows selecting one. Otherwise, the definition is adequate for a simple operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so there is nothing the description needs to add about parameter meaning. Baseline 4 for zero-parameter tools is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: "获取演示文稿中的幻灯片总数" (get the total number of slides in the presentation). This unambiguously separates it from sibling tools like wps_ppt_get_slide_info, wps_ppt_get_slide_title, and wps_ppt_get_slide_notes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists concrete user-phrasing examples such as "一共有多少页幻灯片" and "PPT有几页", which clearly indicate the intended use cases. It does not explicitly state when not to use it or name alternatives, but for a simple count query the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_ppt_get_slide_infoARead-onlyIdempotent
获取指定幻灯片的详细信息,包括布局、元素列表等。
使用场景:
"查看第3页的信息"
"这页有什么内容"
"获取幻灯片详情"
| Name | Required | Description | Default |
|---|---|---|---|
| slideIndex | Yes | 幻灯片索引(从1开始) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey that the operation is read-only, idempotent, and non-destructive. The description adds that the result includes layout and element list details, but it does not clarify behavior for invalid slide indexes, whether it targets the active presentation, or other edge cases. The added behavioral context is modest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in one clear sentence, and the usage examples are short and scannable. The examples are somewhat redundant with the first sentence, but they do not bloat the description meaningfully.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only tool with strong annotations and full schema coverage, the description provides sufficient context by stating the returned content includes layout and element lists. Exact return fields are not enumerated, but the absence of an output schema and the low complexity make the high-level summary acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the only parameter, slideIndex, is already fully described as a 1-based numeric index. The description adds no additional parameter semantics, so it neither improves nor harms the schema-level documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves detailed information about a specified slide, including layout and element lists. This is a specific verb-resource pairing and broadly distinguishes it from narrower sibling tools like wps_ppt_get_slide_title or wps_ppt_get_slide_notes, though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '使用场景' section provides concrete user intents that should trigger this tool, such as '查看第3页的信息' and '这页有什么内容'. This gives clear context for when to use it, but it does not explicitly state when not to use it or which sibling tools to prefer for title-only or notes-only needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_ppt_get_slide_notesARead-onlyIdempotent
获取指定幻灯片的备注内容。
使用场景:
"查看第3页的备注"
"读取演讲备注"
"这页有什么备注"
| Name | Required | Description | Default |
|---|---|---|---|
| slideIndex | Yes | 幻灯片索引(从1开始) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond the action itself. Annotations already cover readOnlyHint, idempotentHint, and destructiveHint, but the description doesn't mention return behavior, empty-notes handling, or that it targets the active presentation, so it provides no additional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: one main clause followed by three short example queries. It's front-loaded and every line contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and the schema/annotations cover most operational basics, but the description omits that it operates on the active presentation and what happens if the slide has no notes. With no output schema, a bit more context would make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter slideIndex, including the 1-based start note. The description itself doesn't add parameter detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('获取') and resource ('指定幻灯片的备注内容'), clearly distinguishing it from sibling tools that handle counts, titles, info, or textboxes. An agent can tell this tool is for reading slide notes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides concrete usage scenarios ('查看第3页的备注', '读取演讲备注', '这页有什么备注') that signal when to invoke it. It doesn't explicitly mention when not to use it or alternatives, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_ppt_get_slide_titleBRead-onlyIdempotent
获取指定幻灯片的标题。
| Name | Required | Description | Default |
|---|---|---|---|
| slideIndex | Yes | 幻灯片索引(从1开始) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds no extra behavioral context such as error handling, return value format, or edge cases (e.g., missing title). It does not contradict the annotations, but it also doesn't enrich them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no extraneous information. It is appropriately front-loaded and concise for a simple getter operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema) and the description is adequate for basic use. However, it does not clarify which presentation it targets or what is returned if the slide lacks a title, leaving minor gaps. Given the availability of sibling tools that might overlap, a bit more context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100% (slideIndex is fully described as a 1-based number). The description does not add any additional meaning beyond what the schema already provides, so it stays at the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'get' and the resource 'title of a slide' clearly, distinguishing it from sibling tools like wps_ppt_get_slide_count or wps_ppt_get_slide_notes. However, it does not specify which presentation it operates on (active vs. specified), which is a minor ambiguity given the sibling wps_ppt_get_open_presentations exists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as wps_ppt_get_slide_info, which might also return the title. There is no mention of context, exclusions, or preferred use cases, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_ppt_get_textboxesARead-onlyIdempotent
获取幻灯片上所有文本框的列表。
| Name | Required | Description | Default |
|---|---|---|---|
| slideIndex | Yes | 幻灯片索引(从1开始) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds only the scoping detail that it returns all text boxes on the slide, but it does not disclose the shape of the returned objects or any error/edge-case behavior. This is adequate for a simple read-only getter though.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded with the action and object, with no wasted words or repeated parameter details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, one-parameter, read-only tool with rich annotations, the description is largely complete: it states the resource and return category (a list). The main gap is that it does not describe what each text-box list element contains, which would be useful since there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single slideIndex parameter is already documented (1-based index). The description adds no additional meaning beyond confirming the slide context, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('获取' – get) and a specific resource ('幻灯片上所有文本框' – all text boxes on the slide), which clearly distinguishes it from sibling tools like wps_ppt_get_slide_title or wps_ppt_find_ppt_text. The scope 'all text boxes on the slide' leaves no ambiguity about what the tool returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not say when to choose this tool over alternatives, nor does it mention exclusions. There is no guidance such as 'use this to enumerate text boxes; use find_ppt_text to search text,' so an agent must infer the usage case from the purpose statement alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_word_find_in_documentARead-onlyIdempotent
在Word文档中查找文本并返回位置信息,不执行替换操作。
使用场景:
"找一下'项目名称'在文档的哪个位置"
"看看文档里有哪些地方需要填写"
在使用smart_fill_field之前,先用此工具定位关键字
返回信息包括:匹配文本、字符起止位置、所在段落索引、上下文(前后50字符)。 与find_replace不同,此工具仅查找不替换,返回位置信息供后续操作使用。
| Name | Required | Description | Default |
|---|---|---|---|
| find_text | Yes | 要查找的文本 | |
| match_case | No | 是否区分大小写,默认false | |
| max_results | No | 最大返回结果数,默认20 | |
| match_whole_word | No | 是否全字匹配,默认false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds meaningful behavioral detail beyond that: no replacement is performed, and the returned information includes match text, character offsets, paragraph index, and 50-character context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by useful usage scenarios and return-value details. It is well-structured with no filler and every sentence contributes to correct tool selection and invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by explaining the return contents. The annotations cover safety and idempotency, the schema documents all parameters, and the description covers purpose, usage, and differentiating behavior. The agent has enough to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already fully documented in the schema. The tool description adds usage context but no additional parameter-level semantics, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('在Word文档中查找文本') and a concrete result ('返回位置信息'), and explicitly distinguishes the tool from find_replace by noting it does not replace. This makes selection among the sibling word tools unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides concrete user-intent examples, positions the tool as a prerequisite before smart_fill_field, and explicitly contrasts it with find_replace. This is clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_word_get_active_documentBRead-onlyIdempotent
获取当前WPS Writer活动文档的基本信息
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is carried by structured data. The description adds the useful scoping detail that the tool targets the active document, but it does not disclose what happens when no document is open or what 'basic information' concretely includes. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler; the verb and resource are front-loaded. It is economical, though it could enumerate what '基本信息' includes without significant bloat, which would improve utility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of explaining the return shape, but '基本信息' (basic information) does not state what fields the agent should expect. The tool is simple and annotations cover safety, yet the missing return contract and undefined behavior when no document is active leave a material gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and 100% schema description coverage, so the baseline of 4 applies. The description's reference to the active document correctly implies the call is parameter-less and scoped to the current state, adding meaning about what the invocation targets.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('获取' / get), a specific resource (the current WPS Writer active document), and a result scope ('基本信息' / basic information). It is clearly Word-specific among siblings, but it does not distinguish itself from the near-identical sibling wps_get_active_document, and 'basic information' is under-specified as to what fields are returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The sibling list includes wps_get_active_document (a generic version), wps_word_get_document_text, and wps_word_get_open_documents, but the description mentions none of them and gives no conditions, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_word_get_document_textARead-onlyIdempotent
获取当前Word文档的文本内容。
使用场景:
"读取文档内容"
"获取文档的前100个字符"
"查看文档从第50到第200个字符的内容"
可指定起始和结束位置来获取部分文本。
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | 结束位置(字符索引),默认到文档末尾 | |
| start | No | 起始位置(字符索引),默认从头开始 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds the partial-range behavior via start/end parameters, but it does not explain return format, edge cases, or what 'current document' means concretely.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by useful examples. The examples are slightly redundant with the main sentence but still earn their place by clarifying partial-text use cases.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with two optional, fully documented parameters and safety annotations, the description is largely complete. It could explicitly mention the return value being a string, but this is strongly implied by the tool name and description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both start and end as character index positions with defaults, achieving 100% schema description coverage. The description reinforces this with usage examples but does not add new parameter semantics such as zero-based indexing or inclusive/exclusive boundaries.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the operation: getting the text content of the current Word document. It is specific enough to be distinguished from siblings like wps_word_get_paragraphs, though it does not explicitly contrast itself with any sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides concrete usage scenarios (reading all text, first 100 characters, character range 50-200), which makes the intended use clear. However, it does not state when to prefer an alternative tool or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_word_get_open_documentsARead-onlyIdempotent
获取当前WPS Writer中所有已打开的文档列表。
使用场景:
"看看现在打开了哪些文档"
"列出所有打开的Word文件"
"查看当前文档列表"
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds scope context by specifying '当前WPS Writer' and '所有已打开', but it does not describe return format, ordering, or behavior when no documents are open.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the primary purpose, followed by a concise list of representative use-case queries. Each element adds value and there is no redundant or filler text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only list tool, the description is largely complete: it names the target application, the resource, and the operation. However, because there is no output schema, the description could have briefly mentioned what the returned list contains, such as document names or paths, to fully guide the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema carries no burden. The description's statement about retrieving all open documents sufficiently clarifies what the tool operates on, matching the baseline expected for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('获取') and resource ('当前WPS Writer中所有已打开的文档列表'), clearly indicating it lists all open Word documents. This also distinguishes it from sibling tools like wps_word_get_active_document, which targets only the active document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage scenarios with concrete user phrasings such as '看看现在打开了哪些文档' and '列出所有打开的Word文件'. It gives clear context for when to invoke this tool, though it does not explicitly mention alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_word_get_paragraphsARead-onlyIdempotent
获取Word文档的段落结构信息,返回每段的文本、样式和字符位置。
使用场景:
"了解文档的结构"
"查看文档有哪些段落"
"帮我看看模板里有哪些需要填写的位置"
在填写模板前,先读取文档结构以识别填写位置
返回信息包括:段落索引、文本内容、样式名称、字符起止位置。 支持分页获取(startParagraph/endParagraph),默认返回前50段。
| Name | Required | Description | Default |
|---|---|---|---|
| end_paragraph | No | 结束段落索引,默认为起始+49 | |
| start_paragraph | No | 起始段落索引(从1开始),默认1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds value by disclosing the return fields (paragraph index, text, style, character start/end) and the pagination behavior (startParagraph/endParagraph, default first 50 paragraphs). This goes beyond annotations and helps the agent understand what to expect from the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a concise purpose sentence, followed by bullet-pointed use cases, then return info and pagination. It is not overly verbose, and the most important info (purpose and return fields) is front-loaded. The use-case list adds practical guidance without bloating the text. Slightly longer than necessary but effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with no output schema, the description covers essential aspects: what it returns (fields listed), how pagination works, and the default limit. It does not specify the exact JSON response format, but that is not critical for a simple getter. Given the tool's low complexity and existing annotations, the description is complete enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both parameters (start_paragraph and end_paragraph) have clear descriptions with defaults and ranges. The description adds a bit of context about pagination and the default 50-paragraph limit, but this is largely redundant with the schema's 'default start+49' for end_paragraph. Since the schema already explains the parameters well, the description does not significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: retrieving paragraph structure information from a Word document, including text, style, and character positions. It uses a specific verb ('获取') and resource ('段落结构信息'), and the use-case list distinguishes it from siblings like wps_word_get_document_text (full text) and wps_word_find_in_document (search). The scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases (e.g., understanding document structure, identifying fill-in positions in templates) and even suggests when to invoke it before filling a template. However, it does not explicitly mention when not to use this tool or compare with alternatives like wps_word_get_document_text, so it lacks exclusions. Still, the context is clear enough for an agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wps_word_get_track_changes_statusARead-onlyIdempotent
获取当前文档的修订模式状态。
使用场景:
"看看修订模式开了没"
"当前文档有多少处修订"
"检查修订状态"
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the context of 'current document' and example intents, but it does not disclose return shape, whether it reports a boolean or a count, or behavior when no document is open.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded: one main statement followed by three bulleted use cases. The third bullet ('检查修订状态') is somewhat redundant with the main statement, but the overall structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool, the description is mostly sufficient, but the absence of an output schema makes the missing return-type clarification more costly. The 'how many revisions' use case conflicts with the 'status' framing, so an agent cannot be certain what payload to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters and schema coverage is 100%, so there is no parameter burden for the description to carry. The baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: '获取当前文档的修订模式状态' (get current document's track changes status), which clearly distinguishes it from sibling getters. However, the usage scenario '当前文档有多少处修订' (how many revisions) introduces ambiguity about whether the tool returns a boolean status or a revision count.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete trigger phrases ('看看修订模式开了没', '检查修订状态') that tell an agent when to invoke it. It does not explicitly state when not to use it or name alternatives, but with zero parameters and no close sibling, the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
29 tool updates
v1.0.0-hardened.1- First observed
wps_check_connection - First observed
wps_common_get_app_info - First observed
wps_common_get_selected_text - First observed
wps_common_ping - First observed
wps_common_wire_check - First observed
wps_excel_get_cell_info - First observed
wps_excel_get_cell_value - First observed
wps_excel_get_formula - First observed
wps_excel_get_open_workbooks - First observed
wps_excel_get_selection - First observed
wps_excel_get_sheet_list - First observed
wps_excel_read_range - First observed
wps_get_active_document - First observed
wps_get_active_presentation - First observed
wps_get_active_workbook - First observed
wps_get_cell_value - First observed
wps_ppt_find_ppt_text - First observed
wps_ppt_get_open_presentations - First observed
wps_ppt_get_slide_count - First observed
wps_ppt_get_slide_info - First observed
wps_ppt_get_slide_notes - First observed
wps_ppt_get_slide_title - First observed
wps_ppt_get_textboxes - First observed
wps_word_find_in_document - First observed
wps_word_get_active_document - First observed
wps_word_get_document_text - First observed
wps_word_get_open_documents - First observed
wps_word_get_paragraphs - First observed
wps_word_get_track_changes_status
TDQS
Scored across 29 tools
Several tools overlap heavily: wps_check_connection, wps_common_ping, and wps_common_wire_check all test connectivity; wps_get_active_document duplicates wps_word_get_active_document; wps_get_cell_value duplicates wps_excel_get_cell_value. Word/PPT find functions and paragraph/text retrieval are distinct, but these redundancies create real selection risk.
All names use snake_case and mostly follow wps_<domain>_<verb>_<object>, but older generic tools like wps_get_active_document, wps_get_cell_value, and wps_check_connection lack domain prefixes, while wps_ppt_find_ppt_text is redundantly worded. The pattern is readable but not consistently applied.
29 tools is above the 25+ threshold and feels heavy, especially since several tools are near-duplicates (ping/check_connection/wire_check, active_document variants, cell_value variants) and could be consolidated or removed. It is not egregiously over-scoped for three Office applications, but it is larger than needed.
The surface is almost entirely read/inspection-oriented: it can locate and read content, but cannot modify cells, edit documents, update presentations, create files, or fill the fields that its own find tools are meant to identify. For an Office automation MCP, the inability to make any changes is a significant gap.
Maintenance
Related MCP Connectors
Read-only MCP access to a documented IT fleet: state, changes, posture. 15 tools.
Read-only DERO blockchain MCP: 33 tools (12 composites) incl. TELA discovery + bundled docs.
Generate, edit, merge, translate and PDF-convert PowerPoint (.pptx) over MCP. 8 tools.
Remote MCP for MCP tool deprecation receipt, structured receipts, audit logs, and reviewer-ready evi
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables secure static analysis of Microsoft Office documents and related file types for malicious content, integrating with systems that support the MCP protocol.4-
- AlicenseNot gradedqualityDmaintenanceEnables remote execution of commands, file operations, screenshots, and clipboard access on Windows machines through MCP tools.1MIT
- FlicenseNot gradedqualityCmaintenanceEnables reading and searching documents in allowlisted folders via LiteLLM and MCP tools, using COM for Office files to support IRM-protected content.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents on Windows to drive real Microsoft Word and WPS Office applications through COM, automating legacy .doc/.docx batch conversion, bookmark and placeholder template filling, print-fidelity PDF export, extraction from legacy binaries, editing of documents currently open on screen, and mail-merge batch generation. It hardens these operations with CJK font preservation, password and corruption pre-checks, structured self-correcting errors, path allowlisting, read-only mode, and automatic Word-to-WPS failover.1MIT