Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_PATHNoHTTP endpoint path (only used when MCP_TRANSPORT=http)/
MCP_PORTNoHTTP server port (only used when MCP_TRANSPORT=http)3000
MCP_TRANSPORTNoTransport mode: stdio (default, for AI clients) or http (for self-hosted deployments)stdio
CARBONE_API_KEYNoYour Carbone API key. Not required when CARBONE_BASE_URL points to your own on-premise server, or when running in HTTP mode.
CARBONE_TIMEOUTNoRequest timeout in milliseconds (max: 60000)60000
CARBONE_BASE_URLNoOverride for self-hosted or staging environments. When set to a custom URL, CARBONE_API_KEY is not required.https://api.carbone.io
MCP_MAX_BODY_BYTESNoMaximum request body size in bytes (10 MB default)10485760

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
resources
{
  "listChanged": false
}
completions
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_templatesA

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. Each result carries its tags: to find templates by tag, keep the results whose tags include it (list_tags lists the tags in use). Note: templates uploaded with versioning disabled appear with id = null and are identified only by their versionId — pass that versionId where a Template ID is expected (e.g. delete_template, download_template).

convert_documentA

Convert a document to another format without storing a template. Pure conversion: no data is sent, so Carbone tags such as {d.name} are kept as written; this is also how you proof a template in another format (DOCX template → PDF, or DOCX → ODT while it stays a template). The source file can be a local file path, an HTTPS URL, or a base64-encoded string. Use render_document instead when you need data injection ({d.field} tags resolved), translations, or batch generation. Example: { "file": "/Users/me/report.docx", "convertTo": "pdf" } (a bare file name such as "report.docx" is not a path). Common conversions: DOCX → PDF (add converter: "I" for the fastest conversion), XLSX → PDF, PPTX → PDF, HTML → PDF (converter: "C" for full CSS/JS rendering), DOCX → HTML, XLSX → CSV, PDF → PNG, PPTX → PNG (first slide as image), MD → PDF.

render_documentA

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 (a local file path, an HTTPS URL, or a base64-encoded string) 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). Without data, every tag resolves to empty; to keep the tags as written, pass keepTags: true (e.g. to proof a stored template), or use convert_document for a file. Async mode: pass webhookUrl. This tool then returns only Carbone's acceptance message, never the document: Carbone POSTs { "success": true, "data": { "renderId": "..." } } to the webhook, whose server downloads the document itself from GET /render/{renderId} (one-time, no auth). You cannot fetch it from here. Batch generation (batchSplitBy) is always delivered this way.

inspect_templateA

List the Carbone tags a template uses and return a sample JSON dataset matching its structure. Call it before render_document when you do not know which data a template expects. Pass exactly one of templateId (a stored template: Template ID or Version ID) or template: a local file path, an HTTPS URL, or a base64-encoded string. It runs one render on the Carbone account and discards the document. {t()} translation tags are not listed.

list_categoriesA

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.

list_tagsA

List all tags currently used across templates in your Carbone account. Tags are free-form labels attached to templates (e.g. "sales", "billing", "v2"). To find the templates with a tag, call list_templates and keep the results whose tags include it.

upload_templateA

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, and rendering by Template ID uses the version with the most recent deployedAt. A result deployedAt of 0 means the version is not explicitly deployed: if another version of the same Template ID is deployed, renders by Template ID keep using that one. Accepted formats: DOCX, XLSX, PPTX, ODT, ODS, ODP, ODG, HTML, XHTML, XML, SVG, IDML, Markdown, TXT, CSV, RTF and PDF (not the legacy binary DOC, XLS or PPT).

update_template_metadataA

Update the metadata of ONE stored template version: name, comment, category, tags, deployment (deployedAt), scheduled deletion (expireAt), or the Template ID it belongs to (moveToTemplateId). With a Template ID, Carbone patches its currently deployed version only; with a Version ID, that exact version. Use deployedAt to choose the version used when rendering by Template ID. Returns the patched versionId and the updated fields, as echoed back by Carbone. To delete a template now, use delete_template.

delete_templateA

Delete a stored Carbone template. Takes effect immediately: the template is no longer listed, downloadable or renderable (404); the file itself is purged after the retention delay (Carbone Cloud: 24 hours). You can delete by Template ID (removes all versions) or by Version ID (removes only that specific version). To schedule a deletion instead, use update_template_metadata with expireAt set to a future Unix timestamp.

download_templateA

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. Set sample: true to get the JSON sample dataset stored with the template instead of the template file.

get_api_statusA

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.

get_capabilitiesA

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.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
carbone-templatesBrowse stored Carbone templates (up to 100, most recent first). For filtering by category/search/version/origin, includeVersions, or pagination, use the list_templates tool — MCP resources cannot receive query-string parameters.
carbone-categoriesList 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.
carbone-tagsList all tags currently used across templates in your Carbone account. Tags are free-form labels attached to templates (e.g. "sales", "billing", "v2"). To find the templates with a tag, call list_templates and keep the results whose `tags` include it.
carbone-statusCheck the Carbone API health status and current version.

TDQS

A4.4/5.0

Scored across 12 tools

Disambiguation4/5

Each tool targets a distinct action on a distinct resource (upload, list, download, update, delete, render, convert, inspect), and the descriptions explicitly cross-reference each other to steer selection. The only mild overlap is render_document vs convert_document (both can output a converted/proofed file, and render with keepTags:true approaches conversion), but the descriptions call this distinction out clearly.

Naming Consistency5/5

All twelve tools use a uniform snake_case verb_noun pattern (upload_template, list_tags, update_template_metadata, delete_template, get_api_status, etc.). No mixed casing or inconsistent verb styles; list/get/update/delete/upload/convert/render forms are predictable.

Tool Count5/5

Twelve tools is well within the ideal 3-15 range and each one covers a distinct capability (lifecycle CRUD, rendering, conversion, inspection, discovery helpers). No obvious filler or redundant tool.

Completeness4/5

Template lifecycle is fully covered: upload (create), list/download (read), update_template_metadata (update), delete, plus render, convert, inspect, and discovery helpers for tags/categories/capabilities/status. Minor gaps exist around async render jobs—there is no tool to poll render status or fetch a renderId result, since async output only goes to a webhook—and tags/categories can only be listed, not managed directly.

Maintenance

ActivityMaintained
ResponsivenessSlow