Carbone

Created By
carboneio2 months ago
Document generation & automation: generate invoices, contracts, reports, and any structured document from a DOCX/XLSX/PPTX/HTML/Markdown template + JSON data. Convert 100+ formats (Office, HTML, Markdown → PDF) with the PDF engines of your choice. Batch-generate hundreds of PDFs in one request. Supports multilingual output, currency conversion, watermarks, PDF/A compliance, fillable PDF forms, and template versioning. No-code templates — design in Word or Excel, inject data with {d.field} tags. The universal document automation MCP.
Overview

Carbone MCP — Document Generation, Conversion & Automation

Carbone is the universal document automation MCP. Connect any AI agent or workflow to generate invoices, contracts, reports, certificates, tickets, and any structured document from a template + JSON data — then deliver it as PDF, DOCX, XLSX, PPTX, or 100+ other formats.


What you can do

📄 Generate documents from templates

Design a template once in Word, Excel, LibreOffice, HTML, or Markdown using simple {d.field} tags. Pass JSON data — Carbone merges both and returns the final document in seconds.

Supported template formats: DOCX, XLSX, PPTX, ODT, ODS, ODP, HTML, Markdown, CSV, XML, IDML, PDF (form filling).

Common use cases: invoices, contracts, NDAs, insurance certificates, payslips, delivery notes, reports, e-tickets, custom certificates.

🔄 Convert documents between 100+ formats

Pass a file (local path, URL, or base64) and get back the converted output instantly.

FromToCommon use case
DOCX, XLSX, PPTX, ODTPDFArchive or share Office documents as PDF
HTML, MarkdownPDFRender web pages or markdown reports as PDF
HTML, MarkdownDOCXConvert web content to an editable Word document
PPTX, DOCX, PDFPNG / JPG / WEBPGenerate slide thumbnails or document previews
XLSXCSVExport spreadsheet data for processing
PDFDOCX / TXTExtract and reuse content from PDF files
DOCXHTMLConvert Word documents for web display
MarkdownDOCX / ODTTurn markdown into a portable Office document

📦 Batch generation

Generate hundreds of documents in a single request. Split by any array in your JSON, receive all files as a ZIP archive. Perfect for: mass invoicing, personalised letters, bulk certificates.

🌍 Multilingual & multi-currency output

Render the same template in any language and currency. Use {t(key)} translation tags, BCP-47 locale codes, and ISO 4217 currency conversion — all in one API call.

🔒 Advanced PDF options

Password protection, watermarks, PDF/A compliance (1b, 2, 3), page range export, table of contents refresh.

🗂️ Template management

Store, version, categorise, tag, and deploy templates with full version history. Reuse templates across any number of renders via a stable Template ID.


Tools

ToolWhat it does
render_documentGenerate a document from a template + JSON data
convert_documentConvert any file between 100+ formats
upload_templateStore a reusable template with versioning
list_templatesBrowse stored templates with filters and search
list_categoriesList all template categories
list_tagsList all template tags
update_template_metadataRename, retag, deploy, or expire a template
delete_templateSoft-delete a template or specific version
download_templateDownload the original template source file
get_capabilitiesFull capabilities overview with format matrix

Quickstart

Just describe what you want in natural language — the AI handles the rest.

Generate a document from a template:

"Generate an invoice using template ID 1382332517758803574 with:
  customer: Acme Corp, total: 1500, items: [...]"

One-shot render from a URL (no stored template):

"Generate a PDF from https://example.com/invoice.docx with
  customer: Acme Corp, total: 1500"

Batch generation:

"Create one invoice PDF per client in my billing data and bundle them in a ZIP.
  Name each file invoice-{d.id}.pdf"

Currency conversion & locale:

"Generate the invoice in French with prices converted from EUR to USD.
  Use en-us locale and exchange rate 1 EUR = 1.08 USD"

Convert a file:

"Convert https://example.com/report.html to PDF using Chromium"

Advanced PDF options:

"Convert contract.docx to PDF with a CONFIDENTIAL watermark at 20% opacity,
  rotated -45°, and password-protected with open password: secret123"

Manage templates:

"Upload this invoice template and tag it 'sales' and 'billing', category 'Invoices'"
"What templates do I have in the contracts category?"
"Deploy version V789 as the active version"

Template syntax (quick reference)

{d.customer.name}              → field access
{d.items[i].price}             → loop start
{d.items[i+1].price}           → loop end
{d.amount:formatC(EUR)}        → currency formatter
{d.date:formatD(DD/MM/YYYY)}   → date formatter
{d.status:ifEQ(paid):show(✓)}  → conditional
{t(invoice_title)}             → translation tag
{c.company}                    → shared/static data

Full syntax reference: https://carbone.io/documentation/design/overview/getting-started.html


Why Carbone

  • No-code templates — design in Word or Excel, no programming required
  • Any output format — PDF, Office, images, CSV, HTML, and more
  • Production-grade — used in thousands of production applications worldwide
  • Template versioning — deploy, rollback, and manage template lifecycles
  • AI-native — purpose-built MCP server for seamless agent integration

Server Config

{
  "mcpServers": {
    "carbone": {
      "type": "streamable-http",
      "url": "https://mcp.carbone.io",
      "headers": {
        "Authorization": "Bearer your_api_key_here"
      }
    }
  }
}
Project Info
Created At
2 months ago
Updated At
2 months ago
Author Name
carboneio
Star
-
Language
-
License
-
Category

Recommend Servers

View All
Meok Bs7121 Mcp

19 hours ago
Tavily Mcp
@tavily-ai

JavaScript
a year ago
GovQL
@Alex Stout

# govql-mcp-server An MCP (Model Context Protocol) server for [GovQL](https://govql.us) — gives AI clients like Claude Desktop, Claude Code, and Cursor direct access to the US Congressional GraphQL API at [api.govql.us/graphql](https://api.govql.us/graphql) without bespoke HTTP wiring. For the design rationale (why FastMCP-Python, the passthrough+curated philosophy, roadmap through v0.4), see [design.md](https://github.com/govql/govql/blob/main/mcp-server/docs/design.md). ## What you can do with it Ask an agent questions like: - *"How did Vermont's two senators vote on the most recent nomination?"* - *"Which legislators in the 118th Congress switched parties during their service?"* - *"Compare Senator Sanders' voting record to Senator Murkowski's on cloture votes in the most recent Congress."* The agent picks the right tool, writes the GraphQL query against the live schema, and parses the response — no manual API wrangling. ## Install The server runs as a per-client subprocess over stdio. Pick your client: ### Claude Desktop Edit `claude_desktop_config.json` (Settings → Developer → Edit Config): ```json { "mcpServers": { "govql": { "command": "uvx", "args": ["govql-mcp-server"] } } } ``` Restart Claude Desktop. The `govql` tools appear in the tools panel. ### Claude Code Add to `.mcp.json` in your project (or `~/.mcp.json` for global): ```json { "mcpServers": { "govql": { "command": "uvx", "args": ["govql-mcp-server"] } } } ``` ### Cursor Settings → MCP → Add Server. Use the same `command` / `args` as above. ### Other clients Any MCP-compatible client that supports stdio servers will work. The command is `uvx govql-mcp-server` with no required arguments. ## Tools | Tool | Purpose | |---|---| | `execute_graphql` | Run any GraphQL query against the GovQL endpoint. Returns the result plus an `last_ingest` timestamp so the agent can reason about data freshness. | | `list_types` | Returns the names and kinds of every type in the GovQL schema. Optional `kind` filter (`"OBJECT"`, `"INPUT_OBJECT"`, `"ENUM"`, etc.) to narrow further. Start here when you don't know what's queryable. | | `describe_type` | Returns one type's full details — fields, arg signatures, input fields, enum values. Call after `list_types` to learn the shape of a specific type before writing a query. | ## Configuration All env vars are optional — the package is zero-config for end users. | Env var | Default | Purpose | |---|---|---| | `GOVQL_ENDPOINT` | `https://api.govql.us/graphql` | Endpoint to query. Override to point at a local dev stack. | | `GOVQL_TIMEOUT_MS` | `30000` | Per-request HTTP timeout. | | `LOG_LEVEL` | `INFO` | Logging level. Logs go to stderr only (stdout is reserved for the MCP transport). | ## Limits (enforced by the upstream API) - Max query depth: 10 - Max query complexity: ~10 billion points (`first: N` multiplies child cost by N — keep page sizes reasonable on deeply nested queries) - Rate limit: 100 requests / 60 s per source IP A depth or complexity violation surfaces as a GraphQL `errors` entry in the tool response so the agent can adjust and retry. ## Data freshness Every `execute_graphql` response includes a `last_ingest` ISO timestamp. Vote data refreshes hourly; legislator data refreshes daily. ## Status Version 0.1.0 ships three foundational tools: a GraphQL passthrough (`execute_graphql`) and two narrow schema-discovery tools (`list_types`, `describe_type`). Curated higher-level tools (`find_legislator`, `get_voting_record`, `compare_voters`, etc.) are planned for subsequent releases — see [design.md](https://github.com/govql/govql/blob/main/mcp-server/docs/design.md) for the roadmap. ## Links - [GovQL project site](https://govql.us) - [GraphQL API](https://api.govql.us/graphql) - [Source / issues](https://github.com/govql/govql)

a day ago