MCP server for editing WPS/Office documents. Supports two modes: file_mode (direct Office Open XML parsing without WPS installation) and com_mode (WPS COM automation with WPS installed). Handles Word (.docx), Excel (.xlsx), and PowerPoint (.pptx) files.
WPS Editor MCP has 15 tools with complete input schemas and basic descriptions, but suffers from critical gaps in LLM-optimized naming, parameter documentation, and error handling. Tool names lack clear action verbs (e.g., 'read_docx' vs 'get_docx_content'), descriptions are minimal (avg ~25 chars, well below 50-200 char baseline), and most parameters lack descriptions entirely. No output schemas documented. No error recovery guidance. No tool annotations (readOnlyHint/destructiveHint). Security concerns: file_path parameters accept untrusted input without path traversal validation. Composition is reasonable (single responsibility per tool), but parameter naming inconsistencies (sheet_name optional in some tools, required semantics unclear) and missing validation rules force LLM guessing.
添加列
添加行
在Word中插入图片
在PowerPoint中插入图片
在Excel中插入图片
合并单元格
读取Word文档内容
读取PowerPoint文件内容
读取Excel文件内容
Minimal parameter descriptions. Most parameters (e.g., 'sheet_name', 'count', 'after_row') have only 1-3 word descriptions. LLMs cannot infer semantics from bare names. Baseline: 72 chars per param description in A+ tools.
No output schemas documented. Tools return unstructured strings (e.g., '已写入: file.docx') or dicts without field descriptions. LLMs cannot plan downstream calls or extract structured data. Baseline: 100% of A+ tools document return types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | 2026-07-28+ | v2 |
设置列宽
设置行高
取消合并单元格
写入Word文档
写入PowerPoint文件
写入Excel文件
No error handling or recovery guidance. Tools fail silently or return raw exceptions. No categorization of retryable vs fatal errors. No actionable error messages. Baseline: A+ tools include 'Try X next' guidance.
Path traversal vulnerability. file_path and image_path parameters accept untrusted input without validation. LLMs can be tricked into reading/writing arbitrary files. No sanitization against '../' or absolute paths outside safe directories.
No tool annotations. Destructive tools (write_*, merge_cells, unmerge_cells, add_rows, add_columns) lack destructiveHint=true. Read-only tools lack readOnlyHint=true. LLMs cannot distinguish safe from risky operations without explicit hints.