# Carbone MCP MCP server

Generate PDF/DOCX/XLSX/PPTX from templates+JSON. Convert Office/HTML/MD to PDF. Universal templating

## Links
- Registry page: https://www.getdrio.com/mcp/io-carbone-carbone-mcp
- Repository: https://github.com/carboneio/carbone-mcp
- Website: https://carbone.io

## Install
- Command: `npx -y carbone-mcp`
- Endpoint: https://mcp.carbone.io
- Auth: Auth required by registry metadata

## Setup notes
- Package: Npm carbone-mcp v1.1.3
- Environment variable: CARBONE_API_KEY (required; secret)
- Environment variable: CARBONE_BASE_URL (default https://api.carbone.io)
- The upstream registry signals required auth or secrets.
- Remote endpoint: https://mcp.carbone.io

## Tools
- list_templates - List stored Carbone templates with filtering, search, and pagination. Filter by Template ID, Version ID, category, or upload origin. Use includeVersions to see the full version history of each template. Supports cursor-based pagination for large collections. Note: filtering by tags is not supported by the Carbone API — use list_tags to discover tags, then filter results manually. Endpoint: https://mcp.carbone.io
- convert_document - Convert any document to another format without storing a template. Supports 100+ input/output format combinations: Office documents, PDFs, images, web pages, spreadsheets, and more. The source file can be a local path, a URL, or a base64 string. Use render_document instead when you need data injection ({d.field} tags), translations, or batch generation. Common conversions: DOCX → PDF (file: "report.docx", convertTo: "pdf"), XLSX → PDF (file: "data.xlsx", convertTo: "pdf"), PPTX → PDF (file: "slides.pptx", convertTo: "pdf", converter: "O" for best fidelity), HTML → PDF (file: "page.html", convertTo: "pdf", converter: "C" for full CSS/JS rendering), DOCX → HTML (file: "doc.docx", convertTo: "html"), XLSX → CSV (file: "sheet.xlsx", convertTo: "csv"), PDF → PNG (file: "doc.pdf", convertTo: "png"), PPTX → PNG (first slide as image), MD → PDF (file: "readme.md", convertTo: "pdf"). Endpoint: https://mcp.carbone.io
- render_document - Generate a document by merging a Carbone template with JSON data. Two modes: (1) pass templateId to use a previously uploaded template; (2) pass template (file path, URL, or base64) to upload and render in a single request without storing a template. Supports output format conversion, multilingual rendering, currency conversion, batch generation, and advanced PDF options (watermark, password, PDF/A). Async mode: pass webhookUrl to render asynchronously — Carbone will POST the renderId to your URL when the document is ready. Async mode is required when using batch generation (batchSplitBy). Endpoint: https://mcp.carbone.io
- list_categories - List all template categories currently in use in your Carbone account. Categories act like folders for organising templates (e.g. "invoices", "legal", "hr"). Use the returned names as the category filter in list_templates or upload_template. Endpoint: https://mcp.carbone.io
- list_tags - List all tags currently used across templates in your Carbone account. Tags are free-form labels attached to templates (e.g. "sales", "billing", "v2"). Note: the Carbone API does not support filtering list_templates by tag — use this tool to discover available tags, then call list_templates and filter the results manually. Endpoint: https://mcp.carbone.io
- upload_template - Upload and store a reusable Carbone template. Once uploaded, use render_document with the returned Template ID to generate documents from it. Supports versioning: multiple versions can live under a single stable Template ID, with deployedAt controlling which version is active. Accepted formats: DOCX, XLSX, PPTX, ODT, ODS, ODP, ODG, HTML, XHTML, IDML, XML, Markdown, PDF, and more. Endpoint: https://mcp.carbone.io
- update_template_metadata - Update the metadata of a stored template: name, comment, category, tags, deployment timestamp, or expiration. Use deployedAt to activate a specific version for rendering. Use expireAt to schedule or trigger immediate deletion. Endpoint: https://mcp.carbone.io
- delete_template - Delete a stored Carbone template. This is a soft delete: the template is marked for garbage collection and removed after a delay (default 24 hours). You can delete by Template ID (removes all versions) or by Version ID (removes only that specific version). For immediate or scheduled deletion, use update_template_metadata with expireAt = 42000000000 (NOW) or a future Unix timestamp. Endpoint: https://mcp.carbone.io
- download_template - Download the original source file of a stored Carbone template (e.g. the DOCX, XLSX, PPTX, or HTML file that was uploaded). Use this to inspect, edit, or back up a template. Pass a Template ID to download the currently deployed version, or a Version ID to download a specific version. Endpoint: https://mcp.carbone.io
- get_api_status - Check Carbone API health and version. Returns the current API version and a status message. Useful for verifying connectivity and confirming which Carbone version is active. Endpoint: https://mcp.carbone.io
- get_capabilities - Returns a summary of all Carbone capabilities: supported formats, features, tool usage examples, and links to full documentation. Call this first if you are unsure what Carbone can do. Endpoint: https://mcp.carbone.io

## Resources
- carbone://templates - List stored Carbone templates with filtering, search, and pagination. Supports query parameters: ?category=invoices, ?search=invoice, ?limit=20, ?id=<templateId>, ?versionId=<versionId>, ?origin=0|1, ?includeVersions=true, ?cursor=<cursor>. Use list_categories or list_tags to discover valid filter values. MIME type: application/json
- carbone://categories - List all template categories currently in use in your Carbone account. Categories act like folders for organising templates (e.g. "invoices", "legal", "hr"). Use the returned names as the category filter in carbone://templates or the list_templates / upload_template tools. MIME type: application/json
- carbone://tags - List all tags currently used across templates in your Carbone account. Tags are free-form labels attached to templates (e.g. "sales", "billing", "v2"). Note: the Carbone API does not support filtering carbone://templates by tag — use this resource to discover tags, then filter client-side. MIME type: application/json
- carbone://status - Check the Carbone API health status and current version. MIME type: application/json

## Prompts
Not captured

## Metadata
- Owner: io.carbone
- Version: 1.1.3
- Runtime: Npm
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: May 12, 2026
- Source: https://registry.modelcontextprotocol.io
