Home · Setup · Cursor

MCP Docx in Cursor

Real Word documents from chat: proposals, contracts, quotes. It writes .docx files from sections or from markdown, generates priced proposals and freelance service agreements with reference numbers that never repeat, reads an existing Word file back as text and outline, and fills {{placeholders}} in a template while keeping its styles.

Keep the NDA and the statement of work templates in the repository and doc_fill_template against the committed copy. The filled file lands in the same tree, so the diff shows which document went out and when.

What you get in Cursor

You sayTool
Write a proposal for Beta Corp: checkout rebuild, 4,500 EUR, three phases.proposal_create
Fill my NDA template with this client's details.doc_fill_template
What does this proposal.docx actually say?doc_read

The worked proposal issued PROP-2026-0001 at EUR 4,500.00 with a timeline table and a signature block. Template filling substitutes on the joined paragraph text, so a placeholder Word split into three runs is still replaced.

Install it in Cursor

The file is .cursor/mcp.json, and the key inside it is mcpServers.

ScopePath
This project only<project>/.cursor/mcp.json
Every project~/.cursor/mcp.json
{
  "mcpServers": {
    "docx": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@theluckystrike/mcp-docx"]
    }
  }
}

The Customize page shows the server and its tools once it has started.

The npm publish of @theluckystrike/mcp-docx is pending; until then use the .mcpb bundle or a clone and build from the latest release.

No install: the hosted endpoint

There is no hosted endpoint for this one yet. MCP Docx runs locally over stdio with the config above, which is also the only form in which it reads and writes files on your own disk. Three of the servers in this collection are served at https://mcp.zovo.one/mcp/<name> over MCP streamable HTTP: time-tracker, price-tracker and invoice.

Cursor notes worth knowing first

The current field table marks `type` as required, with `stdio` for a locally launched server, so write it out rather than relying on command and args alone. The other documented restriction is that `envFile` is stdio-only: a remote HTTP or SSE server does not read it, and its headers belong in the config.

Free: unlimited create, convert and read; 3 proposals or contracts per calendar month; templates up to 10 placeholders. Pro is $19 once, verified offline.

Questions

Project config or global config?

<project>/.cursor/mcp.json applies to that project and can be committed, which suits a server tied to one client. ~/.cursor/mcp.json applies everywhere. Both are managed from the Customize page.

Why does my stdio entry not start?

The current field table marks type as required, with stdio for a locally launched server, so include it. Pointing at a remote endpoint, envFile is documented as stdio-only and is not read.

Is there a one-click install link?

Servers in Cursor's marketplace get an Add to Cursor button. The deeplink reference currently documents prompt, command and rule links only, so for MCP Docx pasting the config block above is the supported route.

Related

MCP Docx in detail · The same server in Claude Code and VS Code · Every server in Cursor · Guides · Cursor docs