rendoc
# @rendoc/mcp-server
[](https://www.npmjs.com/package/@rendoc/mcp-server)
[](https://opensource.org/licenses/MIT)
[](https://github.com/yoryocoruxo-ai/rendoc-mcp-server/actions/workflows/ci.yml)
<a href="https://glama.ai/mcp/servers/@yoryocoruxo-ai/rendoc-mcp-server">
<img width="380" height="200" src="https://glama.ai/mcp/servers/@yoryocoruxo-ai/rendoc-mcp-server/badge" alt="rendoc MCP server" />
</a>
The **rendoc MCP server** lets AI assistants like **Claude Desktop**, **Cursor**, and any other MCP-compatible client generate professional PDF documents on demand. Connect your AI to rendoc and it can create **invoices**, **contracts**, **reports**, **certificates**, and any other PDF — from reusable templates or inline HTML/Handlebars markup — all from a natural language prompt.
> Turn *"Generate an invoice for Acme Corp, 40 hours of consulting at €85/h"* into a delivered PDF in seconds.
## Use Cases
| Use Case | Example Prompt |
|----------|----------------|
| **Invoices** | *"Generate an invoice for client X with these line items..."* |
| **Contracts** | *"Draft a freelance contract for TechStart SL, €18,000 fee, 50% upfront..."* |
| **Certificates** | *"Issue a course completion certificate for María González..."* |
| **Reports** | *"Create a March 2026 sales report with these KPIs..."* |
| **Bulk generation** | *"Generate certificates for all 50 attendees in this CSV"* |
| **Custom documents** | Anything you can describe in HTML + data |
See detailed walkthroughs in [**`examples/`**](./examples/).
## Features
- **7 tools** for document generation, template management, and usage tracking
- **Template-based or inline** — save reusable templates or pass markup on the fly
- **Handlebars syntax** — use `{{variables}}`, `{{#each}}`, `{{#if}}` in your markup
- **Multiple paper sizes** — A4, Letter, Legal, A3, A5, portrait or landscape
- **Schema validation** — templates can declare a JSON Schema so the AI can't pass invalid data
- **Zero config** — just set `RENDOC_API_KEY` and go
- **Lightweight** — ~35 KB unpacked, pure TypeScript, only 2 runtime dependencies
- **Verified on [Glama](https://glama.ai/mcp/servers/@yoryocoruxo-ai/rendoc-mcp-server)** — security, quality, and license checks passed
## Quick Setup for Claude Desktop
Add this to your Claude Desktop configuration file (`claude_desktop_config.json`):
```json
{
"mcpServers": {
"rendoc": {
"command": "npx",
"args": ["-y", "@rendoc/mcp-server"],
"env": {
"RENDOC_API_KEY": "your-api-key"
}
}
}
}
```
Restart Claude Desktop. The rendoc tools will appear in the MCP tools menu.
## Quick Setup for Claude Code
Add this to your project or global settings (`.claude/settings.json`):
```json
{
"mcpServers": {
"rendoc": {
"command": "npx",
"args": ["-y", "@rendoc/mcp-server"],
"env": {
"RENDOC_API_KEY": "your-api-key"
}
}
}
}
```
## Quick Setup for Cursor
Add to `~/.cursor/mcp.json` (or your project's `.cursor/mcp.json`):
```json
{
"mcpServers": {
"rendoc": {
"command": "npx",
"args": ["-y", "@rendoc/mcp-server"],
"env": {
"RENDOC_API_KEY": "your-api-key"
}
}
}
}
```
## Available Tools
| Tool | Description | Key Parameters |
|------|-------------|----------------|
| `generate_document` | Generate a PDF from a template or inline markup | `template_id` or `markup`, `data`, `paper_size?`, `orientation?`, `filename?` |
| `list_templates` | List available document templates | `category?` |
| `preview_template` | Inspect a template's markup, styles, and schema | `template_id` |
| `create_template` | Create a new reusable template | `name`, `slug`, `markup`, `schema`, `category?`, `styles?`, `sample_data?`, `paper_size?`, `orientation?`, `is_public?` |
| `delete_template` | Delete a template by ID | `template_id` |
| `get_document` | Get details of a generated document | `document_id` |
| `get_usage` | View monthly API usage statistics | _(none)_ |
Each tool returns structured JSON with download URLs, document IDs, and metadata the assistant can act on.
## Get an API Key
1. Sign up at [rendoc.dev](https://rendoc.dev)
2. Go to the [API Keys dashboard](https://rendoc.dev/dashboard/api-keys)
3. Create a new key and copy it into your MCP client config
## Environment Variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `RENDOC_API_KEY` | Yes | — | Your rendoc API key for authentication |
| `RENDOC_API_URL` | No | `https://rendoc.dev` | Base URL for the rendoc API (useful for self-hosted instances) |
## Examples
Detailed walkthroughs with real prompts and tool calls:
- [**01 — Invoice from inline markup**](./examples/01-invoice.md) — single-shot invoice generation
- [**02 — Freelance contract template**](./examples/02-contract.md) — create once, reuse forever
- [**03 — Certificate from saved template**](./examples/03-certificate.md) — multi-step tool discovery
- [**04 — Monthly sales report**](./examples/04-monthly-report.md) — rich visualizations with CSS
- [**05 — Bulk generation from dataset**](./examples/05-bulk-generation.md) — 50 PDFs from one prompt
## How It Works
```
┌──────────────┐ MCP/stdio ┌────────────────────┐ HTTPS ┌─────────────┐
│ Claude Code │ ─────────────▶ │ @rendoc/mcp-server │ ────────▶ │ rendoc API │
│ / Desktop │ │ (this package) │ │ (PDF gen) │
└──────────────┘ ◀───────────── └────────────────────┘ ◀──────── └─────────────┘
▲ tool results download URL
│
└── User prompt: "Generate an invoice for..."
```
The MCP server translates natural language tool calls from your AI assistant into authenticated REST requests to the rendoc API, and returns structured responses with PDF download URLs.
## Contributing
Contributions are welcome. See [CONTRIBUTING.md](./CONTRIBUTING.md) for development setup and PR guidelines.
For security issues, please see [SECURITY.md](./SECURITY.md) and email `info@rendoc.dev` — do not open a public issue.
## Links
- **Website**: [rendoc.dev](https://rendoc.dev)
- **Docs**: [rendoc.dev/docs](https://rendoc.dev/docs)
- **npm Package**: [`@rendoc/mcp-server`](https://www.npmjs.com/package/@rendoc/mcp-server)
- **Glama Listing**: [glama.ai/mcp/servers/@yoryocoruxo-ai/rendoc-mcp-server](https://glama.ai/mcp/servers/@yoryocoruxo-ai/rendoc-mcp-server)
- **Official SDKs**: [`@rendoc/sdk` (TypeScript)](https://www.npmjs.com/package/@rendoc/sdk), [`rendoc` (Python)](https://pypi.org/project/rendoc/)
## License
MIT — see [LICENSE](./LICENSE).
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose with no overlap: create_template, delete_template, list_templates, and preview_template handle template management; generate_document and get_document handle document generation and retrieval; get_usage provides API usage stats. The descriptions reinforce these boundaries, making tool selection unambiguous.
All tools follow a consistent verb_noun pattern with snake_case naming (e.g., create_template, generate_document, get_usage). The verbs are clear and appropriate for their actions, and there are no deviations or mixed conventions throughout the set.
With 7 tools, the server is well-scoped for document generation and template management. Each tool earns its place by covering essential operations like CRUD for templates, document generation, retrieval, and usage monitoring, without being too sparse or bloated.
The tool set provides complete coverage for the document generation domain: full CRUD for templates (create, delete, list, preview), document generation and retrieval, and usage monitoring. There are no obvious gaps, and the tools support core workflows from template creation to PDF output without dead ends.