Back to the catalog

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

More