MCP Servers

模型上下文协议服务器、框架、SDK 和模板的综合目录。

MCP server by 2365203723

创建于 5/19/2026
更新于 1 day ago
Repository documentation and setup instructions

wps-mcp-server

wps-mcp-server 是一个 Windows 上的 stdio MCP Server,用 Python 通过 WPS Office COM 接口控制本机 WPS。它可以让 Claude Code、Codex 以及其他 MCP Client 调用本地 WPS 来创建、读取、修改和打开 WPS Writer 文档、PDF 和 Excel/WPS 表格。

功能

当前提供 11 个 MCP tools:

  • create_document:创建 WPS Writer/Word 文档并保存到桌面。
  • write_document:向已有文档追加内容或覆盖内容。
  • read_document:读取文档文本,最多返回 3000 字。
  • create_pdf:通过 WPS Writer 创建并导出 PDF。
  • read_pdf:读取文本型 PDF,优先使用 PyMuPDF/pypdf,最后回退到 WPS。
  • modify_pdf:追加文本并另存为新 PDF,或用新内容覆盖生成新 PDF。
  • create_spreadsheet:创建 WPS 表格/Excel 文件,写入表头和数据行。
  • read_spreadsheet:读取指定工作表和范围,返回 JSON 文本。
  • write_spreadsheet:从指定单元格开始写入二维数组。
  • modify_spreadsheet:设置单元格值或清空范围。
  • open_file:用 WPS 打开 .docx/.doc/.wps/.xlsx/.xls/.et/.pdf 文件。

系统要求

  • Windows 桌面环境。
  • 本机已安装 WPS Office。
  • WPS COM 自动化可用:
    • Writer: KWps.Application
    • Spreadsheets: KET.Application
  • Python 3.9 或更高版本。
  • 必需依赖:pywin32

此项目不支持 macOS、Linux、WSL 或无桌面/无 COM 的远程服务器环境。

安装

从 GitHub 安装:

pip install "git+https://github.com/2365203723/wps-mcp-server.git"

如果需要更稳定的 PDF 文本读取能力,安装可选 PDF 依赖:

pip install "wps-mcp-server[pdf] @ git+https://github.com/2365203723/wps-mcp-server.git"

验证命令是否可用:

mcp-wps

直接运行 mcp-wps 后没有普通 CLI 输出是正常的;它是 stdio MCP Server,会等待 MCP Client 通过 stdin 发送 JSON-RPC 消息。

Claude Code 配置

推荐用 Claude Code 命令添加:

claude mcp add wps -- mcp-wps

如果希望添加到用户级配置,并且你的 Claude Code 版本支持 scope:

claude mcp add --scope user wps -- mcp-wps

如果 mcp-wps 不在 PATH,可改用 Python 模块方式:

claude mcp add wps -- python -m wps_server

也可以手动创建或修改项目下的 .claude/mcp.json

{
  "mcpServers": {
    "wps": {
      "type": "stdio",
      "command": "mcp-wps",
      "args": [],
      "env": {}
    }
  }
}

如果需要使用 Python 启动:

{
  "mcpServers": {
    "wps": {
      "type": "stdio",
      "command": "python",
      "args": ["-m", "wps_server"],
      "env": {}
    }
  }
}

配置后重启 Claude Code,确认可以看到 wps MCP tools。

Codex 配置

编辑 Codex 配置文件:

~/.codex/config.toml

添加:

[mcp_servers.wps]
type = "stdio"
command = "mcp-wps"
args = []
startup_timeout_sec = 20
tool_timeout_sec = 120

如果 mcp-wps 不在 PATH,可使用 Python 启动:

[mcp_servers.wps]
type = "stdio"
command = "python"
args = ["-m", "wps_server"]
startup_timeout_sec = 20
tool_timeout_sec = 120

Windows 上如果 Codex 无法直接启动 Python,也可以使用:

[mcp_servers.wps]
type = "stdio"
command = "cmd"
args = ["/c", "python", "-m", "wps_server"]
startup_timeout_sec = 20
tool_timeout_sec = 120

配置后重启 Codex。

本地协议测试

可以用下面的方式测试 tools/list,不会打开 WPS:

python - <<'PY'
import json
import subprocess

p = subprocess.Popen(
    ["mcp-wps"],
    stdin=subprocess.PIPE,
    stdout=subprocess.PIPE,
    stderr=subprocess.PIPE,
    text=True,
    encoding="utf-8",
)

p.stdin.write(json.dumps({"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {}}, ensure_ascii=False) + "\n")
p.stdin.flush()
print(p.stdout.readline())

p.stdin.write(json.dumps({"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}, ensure_ascii=False) + "\n")
p.stdin.flush()
print(p.stdout.readline())

p.terminate()
PY

注意事项

  • 工具会通过 COM 拉起或连接本机 WPS,因此可能弹出 WPS 窗口。
  • 创建类工具默认保存到当前用户桌面。
  • PDF 修改不是专业 PDF 编辑;复杂版式不保证保持。
  • 扫描版 PDF 通常无法直接提取文字,需要 OCR。
  • 文件路径建议使用绝对路径。
  • 写入/修改类工具会保存文件,请先确认目标文件路径。

常见问题

ModuleNotFoundError: No module named 'win32com'

安装 pywin32

pip install pywin32

Invalid class string 或 WPS COM 对象创建失败

通常是 WPS Office 未安装、未正确注册 COM,或当前环境不是 Windows 桌面环境。请先手动打开一次 WPS,再重试;如果仍失败,尝试修复或重装 WPS Office。

直接运行 mcp-wps 看起来卡住

这是正常行为。mcp-wps 是 stdio MCP Server,会等待 MCP Client 输入 JSON-RPC 消息。

PDF 读取不完整

PDF 文本提取取决于文件内容。建议安装可选 PDF 依赖:

pip install PyMuPDF pypdf

扫描版 PDF 需要 OCR,本项目暂不提供 OCR。

能否在 Linux、macOS 或 WSL 使用?

不能。该项目依赖 Windows COM 和本机 WPS Office。

开发验证

python -m py_compile wps_server.py
python -m pip install .
python -c "import wps_server; print(wps_server.__version__); print(callable(wps_server.main))"
python -m build

License

MIT

快速设置
此服务器的安装指南

安装包 (如果需要)

uvx wps-mcp-server

Cursor 配置 (mcp.json)

{ "mcpServers": { "2365203723-wps-mcp-server": { "command": "uvx", "args": [ "wps-mcp-server" ] } } }