DocMake
Generate DOCX and PDF documents from your DocMake templates
Open source Open in the app JSON README (API)
About
Generate DOCX and PDF documents from your DocMake templates
Details
- Kind
- MCP servers
- Topic
- Files & documents
- Publisher
- io.docmake
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.1.1
- Last push
- 2026-08-31T13:59:55Z
- Repository state
- ativo
- Language
- TypeScript
- License
- MIT
- Added
- 2026-08-31 13:00:08
- Updated
- 2026-08-31 13:00:08
- Origin id
io.docmake/mcp
README
# @docmake/mcp
Official [Model Context Protocol](https://modelcontextprotocol.io) server for [DocMake](https://docmake.io), the AI-native document generation platform. It lets AI assistants like Claude generate DOCX and PDF documents from your DocMake templates: no glue code, just a conversation.
> "Generate the invoice for Acme Corp: 10 hours of consulting at 100 EUR, due in 14 days."
The assistant picks your invoice template, fills in the data, renders a PDF through the DocMake API, and hands you the file path.
## Example prompts
- "Generate the invoice for Acme Corp: 10 hours of consulting at 100 EUR, due in 14 days."
- "Which fields does my employment contract template need? Then fill it in for Maria Ionescu, starting 1 October, and save it as a DOCX."
- "Import ~/Documents/quarterly-report.docx as a DocMake template, then show me the variables it found."
## Setup
You need a DocMake API key. Create one at [app.docmake.io](https://app.docmake.io) under Settings > API Keys (free plan works).
### Claude Desktop
Add to `claude_desktop_config.json` (Settings > Developer > Edit Config):
```json
{
"mcpServers": {
"docmake": {
"command": "npx",
"args": ["-y", "@docmake/mcp@latest"],
"env": {
"DOCMAKE_API_KEY": "dm_your_key_here"
}
}
}
}
```
### Claude Code
```bash
claude mcp add docmake --env DOCMAKE_API_KEY=dm_your_key_here -- npx -y @docmake/mcp@latest
```
### Cursor / other MCP clients
Any client that supports stdio MCP servers works with the same command: `npx -y @docmake/mcp@latest` with `DOCMAKE_API_KEY` in the environment.
### Remote server (no install)
DocMake also hosts the same six tools over streamable HTTP, so a client that
speaks remote MCP needs nothing installed:
```json
{
"mcpServers": {
"docmake": {
"url": "https://app.docmake.io/mcp/v1",
"headers": { "Authorization": "Bearer dm_your_key_here" }
}
}
}
```
Two differences from this package. `render_document` returns a short-lived
download link instead of writing the file to your machine, and `import_docx`
takes the document as base64 rather than a path, because the server runs
remotely and cannot read your disk. Everything else, including strict
rendering, behaves the same.
## Configuration
| Variable | Required | Default | Purpose |
|---|---|---|---|
| `DOCMAKE_API_KEY` | yes | | API key from app.docmake.io, Settings > API Keys |
| `DOCMAKE_OUTPUT_DIR` | no | `~/Downloads/DocMake` | Where rendered documents are saved |
| `DOCMAKE_API_BASE` | no | `https://app.docmake.io/api/v1` | API base URL, override for self-hosted setups |
## Tools
| Tool | What it does |
|---|---|
| `list_templates` | List the templates in your workspace, with search and pagination |
| `get_template` | A template's field tree: every variable it expects, ready to map to render data |
| `render_document` | Render a template to PDF or DOCX and save the file locally |
| `create_template` | Create a new template from a document schema JSON |
| `import_docx` | Import a local .docx file as a new template (base64 on the remote server) |
| `get_usage` | Plan, render quota, and rate limits for the current billing period |
The server also exposes your templates as MCP resources and ships a `generate-document` prompt for a guided render flow.
## How rendering works
`render_document` is strict by default: if any template variable has no value in `data`, the render fails and returns the list of missing keys, so the assistant can ask you for the values instead of producing an incomplete document. Pass `strict: false` to render with each variable's fallback text instead.
Variables can declare a default value in the template editor. A defaulted variable never counts as missing: omit it from `data` and the default is rendered, even in strict mode. `get_template` shows each field's `default` (and `example`, a preview-only sample that is never rendered).
Rendered files are saved to `DOCMAKE_OUTPUT_DIR` and never overwrite an existing file.
## Privacy Policy
Full policy: [https://docmake.io/privacy](https://docmake.io/privacy)
**What this server collects.** Nothing of its own. It has no telemetry and no
analytics, and it never reads your chat history, memory, or files other than a
`.docx` you explicitly pass to `import_docx`.
**What it sends, and where.** Every tool call is a request to the DocMake API at
`https://app.docmake.io/api/v1` over HTTPS, authenticated with your API key.
Those requests carry only what the call needs: a template id, the data you asked
to render, or the `.docx` you asked to import. DocMake processes that data to
render your document.
**Storage and retention.** Your templates and account data live in your DocMake
workspace and are retained until you delete them or close the account. Rendered
documents are written to your own machine, under `DOCMAKE_OUTPUT_DIR`
(`~/Downloads/DocMake` by default), and are never uploaded anywhere else. Your
API key stays on your machine: the desktop extension keeps it in your operating
system keychain, and a manual setup keeps it in your MCP client's config file.
**Third-party sharing.** Render data is not sold, and it is not shared with
third parties beyond the subprocessors DocMake needs to run the service, listed
in the full policy.
**Contact.** support@docmake.io for privacy questions, data export, or deletion.
## Links
- [DocMake](https://docmake.io), template gallery and product
- [API documentation](https://docmake.io/developers)
- [Dashboard](https://app.docmake.io)
- Support: support@docmake.io
## License
MIT