draftly-wps
Draftly (wps-mcp)
Deutsch | Englisch
In WPS Office (Mac) einen echten KI-Chat-Seitenbereich betreiben, der das aktuelle Dokument bearbeiten kann, basierend auf der offiziellen JS-Add-in-Objektmodell-API + Claude Agent SDK. Keine Tastatur-/Maus-Simulation, sondern direkter Aufruf des Objektmodells von WPS Text / Tabellen / Präsentationen über MCP-Tools (Application.CreateTaskPane usw.).
Voraussetzungen
macOS mit installiertem WPS Office (Mac-Version), mindestens einmal vollständig geöffnet
Node.js 20 oder höher
Installierte und angemeldete Claude Code CLI (
claude login) – Draftly verwaltet keinen eigenen API-Schlüssel, sondern nutzt den lokal angemeldeten Claude Code CLI, um deinen Konto-Login-Status wiederzuverwenden. Bei einem anderen Rechner / einer anderen Person muss zuerst auf diesem Rechner dieclaudeCLI installiert und angemeldet werden.
Related MCP server: wps-mcp-server
Installation
git clone <this-repo>
cd wps-mcp
bash scripts/install.shDas Skript ist idempotent; nach Codeänderungen einfach erneut ausführen, das ist der Upgrade-Prozess. Es wird:
npm installausführen, um Abhängigkeiten zu installierenEinen lokalen gemeinsamen Schlüssel erzeugen (
.bridge-token, siehe unten "Sicherheitsmodell")Die Add-in-Dateien in das WPS-Add-in-Verzeichnis kopieren (
~/Library/Containers/com.kingsoft.wpsoffice.mac/Data/.kingsoft/wps/jsaddons/wps-mcp_)Einen
launchd-LaunchAgent installieren, damit der Brückendienst beim Login automatisch startet und bei Abstürzen automatisch neu startet
Nach der Installation:
WPS Office vollständig neu starten (bei Erstinstallation oder wenn
ribbon.xmlaktualisiert wurde, ist ein Neustart erforderlich – die Definition der Menüband-Schaltflächen wird von WPS nur beim Start gelesen, kein Hot-Reload; Aktualisierungen vontaskpane.html/main.jswerden automatisch per Hot-Reload übernommen, kein Neustart nötig)In WPS die Registerkarte "WPS-MCP" im Menüband finden und die Schaltfläche "Draftly" anklicken, um den Seitenbereich zu öffnen
Wenn keine Verbindung möglich ist, Logs prüfen:
tail -f ~/Library/Logs/wps-mcp.log
Deinstallation:
launchctl bootout gui/$(id -u)/com.wps-mcp.bridge
rm ~/Library/LaunchAgents/com.wps-mcp.bridge.plist
rm -rf ~/Library/Containers/com.kingsoft.wpsoffice.mac/Data/.kingsoft/wps/jsaddons/wps-mcp_Sicherheitsmodell
Der Brückendienst lauscht auf 127.0.0.1:58892 und verarbeitet WebSocket- und HTTP-Anfragen. Alle Endpunkte mit Nebenwirkungen (zwei WebSocket, /tool, /mcp) erfordern ?token= in der URL. Dieser Token ist ein bei der Installation zufällig erzeugter, lokal geteilter Schlüssel, der im Projektstamm unter .bridge-token gespeichert wird (nicht im Versionskontrollsystem) und dessen gleicher Wert in das in WPS bereitgestellte js/token.js eingebettet wird. Ohne diese Prüfung könnte jede auf deinem Computer geöffnete Webseite direkt diesen Port verbinden und sich als Add-in/Bedienfeld ausgeben, um mit MCP-Tools das aktuell bearbeitete Dokument zu verändern – das ist kein theoretisches Risiko: Browser erzwingen bei WebSocket-Verbindungen keine Same-Origin-Beschränkungen.
Architekturübersicht
addin/– WPS-JS-Add-in:ribbon.xml(Menüband),main.js(Objektmodell-Brücke),taskpane.html(Chat-Panel-UI)server/bridge.js– lokale WebSocket/HTTP-Brücke, Drehscheibe zwischen Add-in und MCP-Serverserver/agent.js–/agent-WS-Verarbeitung des Chat-Panels, nutztquery()des Claude Agent SDK zur Dialogsteuerungserver/tools.js+server/index.js– MCP-Server (stdio), leitetwps_word_*/wps_et_*/wps_wpp_*-Toolaufrufe an die Brückenschicht weiter
server/index.js erkennt Portkonflikte automatisch: Wenn 58892 bereits von einer dauerhaft laufenden Instanz belegt ist, wird es zu einem schlanken stdio-Relay, das Toolaufrufe dorthin weiterleitet, statt den Port zu beanspruchen – so kollidieren die vom Agent SDK selbst gestarteten MCP-Server-Subprozesse nicht mit dem dauerhaft laufenden Dienst.
Entwicklung
npm test # node --test,全仓库单测Strikte TDD: Vor einer Verhaltensänderung wird zuerst ein fehlschlagender Test geschrieben. Reine Logik (Session-/Host-Verarbeitung, Streaming-Akkumulator usw.) ist in DOM/WS-unabhängige Module extrahiert, um Unit-Tests zu ermöglichen; WS/DOM-Klebecode bleibt dünn und wird durch Lesen geprüft.
Bekannte Einschränkungen
Derzeit nur für WPS Office unter macOS, und es wird die Standard-Container-Pfadannahme verwendet
Mehrbenutzerszenario nicht umgesetzt – jeder Benutzer muss die
claude-CLI selbst installieren und anmelden; Draftly übernimmt keine einheitliche Authentifizierung/AbrechnungDer Markenname "Draftly" ist ein Platzhalter; vor der offiziellen Veröffentlichung wird empfohlen, die Verfügbarkeit der Marke zu prüfen
Lizenz
GPL-3.0. Auf diesem Projekt basierende modifizierte Versionen müssen bei Weiterverbreitung ebenfalls unter GPL-3.0 als Open Source bereitgestellt werden.
This server cannot be installed
Maintenance
Related MCP Servers
- Alicense-qualityDmaintenanceEnables AI assistants to create, read, edit, and manipulate LibreOffice documents with support for track changes, comments, search/replace, and real-time document operations through a native extension or HTTP API.9MIT
- Alicense-qualityDmaintenanceEnables AI agents to natively create and edit WPS Office documents, spreadsheets, and presentations via natural language commands.14MIT
- Alicense-qualityAmaintenanceA local MCP server that lets Claude, Cursor, Codex, or any MCP client work with Office documents on your Mac: evaluate spreadsheet formulas, read/write XLSX and PPTX, extract structured DOCX content, and merge/split/protect PDFs. 100% local, no network calls, no account. 14 tools.MIT
- Alicense-qualityCmaintenanceIntegrates AI assistants with WPS Office to automate operations across Writer, Spreadsheets, and Presentations via the MCP protocol.1MIT
Related MCP Connectors
Generate PDFs from templates via AI chat. Works with Claude, ChatGPT, Cursor, and any MCP client.
AI document editing for agents: draft, edit, export .docx/PDF. 37 MCP tools; agent self-signup.
A personal RAG database you build from chat, so AI creates work that sounds like you.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Antares422/draftly-wps'
If you have feedback or need assistance with the MCP directory API, please join our Discord server