Carbone MCP
io.carbone由 carbone.io 发布官方发布者v2.2.0更新于 Nov 7, 2026
Automate enterprise-grade documents from templates, merge and 100+ conversions: PDF, Office, HTML.
概览
Carbone 官方服务器,让助手用 JSON 数据填充文档模板、转换文件并管理模板库。
- 可以做什么
- 用 JSON 数据填充 Word、Excel、PowerPoint、HTML、Markdown 或 PDF 表单模板,并渲染为 PDF 等格式
- 在 PDF、Office、HTML、SVG、Markdown、CSV 与图片格式之间转换文档
- 检查模板的标签与示例数据,列出模板、分类和标签
- 上传、版本化、分类、部署、下载和删除模板
- 检查 API 健康状态,列出支持的格式与功能
- 适用场景
- 适合让助手把对话中或其他 MCP 服务器取回的数据生成为报价单、发票、证书、报告等成品文档,或转换并完善已有文件。
- 运行要求
- 可使用托管端点并通过 OAuth 登录 Carbone 账户,或使用 npx 运行的本地 npm 包;后者需要 Node.js 20.3 或更高版本,并在 CARBONE_API_KEY 中提供 Carbone API 密钥。也可通过 CARBONE_BASE_URL 指向本地部署实例,此时无需密钥。付费方案可去除水印并解锁全部格式。
安装
在 SourceWeft 中
- 打开 控制台中的 Carbone MCP,将其添加到工作区。
- 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
交给智能体安装
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.carbone%2Fcarbone-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。
{
"mcpServers": {
"carbone": {
"type": "http",
"url": "https://mcp.carbone.io/"
}
}
}README
Carbone MCP Server
[npm version] [MCP Registry] [License: Apache-2.0]
Automate production-ready PDF, Word, Excel and PowerPoint documents from templates and JSON data, and convert files with 100+ conversions, from Claude, ChatGPT, Cursor, VS Code or any MCP client. The official server for the Carbone document generation API.
[Add to Claude] [Add to ChatGPT] [Add to Cursor] [Install in VS Code]
- Convert files: DOCX, XLSX, PPTX, HTML, SVG, Markdown or PDF to PDF, images, CSV, ODT and the other output formats.
- Fill templates with JSON: design them in Word, Excel, PowerPoint, LibreOffice, HTML or Markdown with
{d.field}tags, or fill an existing PDF form. - Finish your PDFs: passwords, watermarks, PDF/A, page ranges, and a choice of converter (LibreOffice, OnlyOffice, Chromium or Carbone ICE).
- Batch and localize: up to 100 documents per request, collected by the assistant on the hosted server or delivered to your own webhook; translations, time zones, and currency conversion at the rates you give.
- Keep a template library: upload, version, categorize, deploy and download templates, and ask which data a template expects.
What you can ask
Carbone turns data into finished documents, including data another MCP server fetches (Salesforce, HubSpot, Stripe, Notion, Google Sheets…) in the same conversation:
- "Get the Acme Corp opportunity and its products from Salesforce, fill my 'Sales quote' template, and give me a PDF with a DRAFT watermark."
- "Which data does my 'Service agreement' template expect? Map its fields to the HubSpot deal 'Acme renewal' and show me the JSON before you render it."
- "Create one certificate per attendee in the 'Workshop' Google Sheet with my 'Certificate' template, as a ZIP of PDFs named certificate-{d.lastName}."
- "Generate this invoice in French, German and Spanish, with prices converted from EUR to USD at 1.08 and dates in New York time."
- "Build a monthly report from last month's paid Stripe invoices with the 'Statement' template. Render it as a PNG first so you can check the layout, then give me the PDF."
- "Turn this Word quote into a Carbone template: add tags for the customer, a loop on the line items and the total, then upload it as 'Quote v2' in the 'sales' category."
- "Make a PDF/A copy of pages 1 to 5 of this contract for archiving, and a password-protected PDF with a CONFIDENTIAL watermark to send to the client."
- "Deploy the newest version of my 'Invoice' template, and schedule the old one for deletion in 30 days."
Account and pricing
You sign in with a Carbone account, free to create. Without a plan, you get unlimited watermarked PDFs. The Free plan adds every output format without a watermark, with 100 documents per month (pricing).
Quick start
Hosted server (mcp.carbone.io)
The Carbone agent plugin installs this server and the Carbone Skill together, in Claude, ChatGPT, Codex, Cursor, GitHub Copilot, Gemini CLI and more. To add the server alone:
Claude (claude.ai and Claude Desktop)
- Open Carbone in the Claude directory and click Connect.
- Sign in with your Carbone account and approve.
If your organization does not offer directory connectors, add a custom connector with the URL https://mcp.carbone.io instead, leaving the OAuth client ID and secret empty. In an organization, each member connects with their own Carbone account, and their documents count against it.
ChatGPT
Open the Carbone plugin in ChatGPT, click Add, then sign in with your Carbone account. The plugin also includes the Carbone Skill.
Without the plugin: open Plugins, click Add, then Add custom MCP server. Enter the name Carbone and the URL https://mcp.carbone.io, choose OAuth, tick I understand and want to continue, click Create as a plugin, and sign in.
Claude Code, VS Code, Cursor
Claude Code: add the server, then run /mcp, select carbone and choose Authenticate.
VS Code (.vscode/mcp.json), which asks you to sign in when it starts the server:
Cursor (~/.cursor/mcp.json or .cursor/mcp.json), then sign in from Cursor's MCP settings:
Local package (stdio)
Use it to read and save files on your computer. It needs Node.js 20.3 or later (node --version) and a Carbone API key from account.carbone.io: the test key makes unlimited watermarked PDFs (templates stored with it are kept 30 days), the production key every format (details).
Most clients use this config:
Claude Code:
VS Code: .vscode/mcp.json uses servers, not mcpServers. With an input variable, VS Code asks for the key once and stores it securely:
Then try: "What can Carbone do?"
Client docs: Claude Desktop · Claude Code · VS Code · Cursor
Files in and out
- Hosted server: give files as HTTPS URLs or base64, or attach them in ChatGPT. A large template goes through an upload URL, for assistants that can run commands, such as Claude Code.
- Local package: absolute paths too (
/Users/me/invoice.docx,~/invoice.docx). A bare name such asinvoice.docxis read as base64 and fails. - Results: text and images come back in the conversation. PDF and Office files come back as a one-time download link (hosted, valid 1 hour) or a saved file (local).
Details: file inputs and output delivery.
Tools
Every parameter, with examples: docs/API.md.
Writing templates
Design a template in Word, Excel, PowerPoint, LibreOffice, HTML or Markdown, and put tags where the data goes:
{d.items[i]} … {d.items[i+1]} repeats a line for each item. Start with the basics, or give your AI assistant the Carbone Skill, a template syntax reference for AI tools (download .skill · GitHub).
Troubleshooting
Security
- Tool approval. Keep your client's approval prompts on for actions that change your account:
delete_templatedeletes immediately, andupdate_template_metadatacan schedule a deletion. - Prompt injection. A document or template can contain instructions that trick the AI into unintended actions, such as sending data elsewhere or deleting templates. Review what your client is about to do before you confirm a tool call.
- Disconnecting. Disconnect the connector (in Claude Code,
/mcp→ Clear authentication) to stop the assistant from using your account. - URL inputs and local files. URLs that resolve to a private or internal address (
localhost, RFC 1918, cloud metadata) are refused unlessCARBONE_ALLOW_PRIVATE_NETWORK=true(details). Local paths are read by the local package only, where the server runs as you. - Shared server key (self-hosted HTTP). With
CARBONE_API_KEYset on an HTTP server andCARBONE_REQUIRE_CLIENT_AUTH_HEADER=false(the default), every request without a Bearer key spends that key: anyone who can reach the port uses that Carbone account. The server prints a warning at startup. Never publish such a port on a network you don't fully trust, or setCARBONE_REQUIRE_CLIENT_AUTH_HEADER=trueso each client must bring its own key. - Browser origins (self-hosted HTTP). A request whose
Originheader is present but not allowed gets403, so a malicious web page cannot reach a locally running server (DNS rebinding) and spend its key. List the browser-based clients you trust inMCP_ALLOWED_ORIGINS. - API keys. Keep them out of version control, pass them through your client's secret input or environment, and rotate them at account.carbone.io.
- Your data. Carbone stores the templates and samples you upload, and keeps a document delivered as a download link or to a webhook until it is downloaded, for 1 hour at most. For an async render, the server keeps an encrypted reference to the document for 1 hour. See the privacy policy, or run Carbone on-premise for full control.
Self-hosting
Docker
The image serves Streamable HTTP on port 3000. This quick start sets no server key: each client sends its own key in Authorization: Bearer <key> (signing in with a Carbone account is for mcp.carbone.io only), and the port is reachable from your machine only.
Connect your client with your key in the Authorization header. Claude Code:
VS Code (.vscode/mcp.json, which asks for the key once and stores it):
Cursor (~/.cursor/mcp.json), reading the key from your environment:
To serve other machines, publish the port behind a TLS reverse proxy, keep the server without CARBONE_API_KEY (or set CARBONE_REQUIRE_CLIENT_AUTH_HEADER=true), and list the hostnames of browser-based clients in MCP_ALLOWED_ORIGINS.
Shared-key variant, for one user on one machine. A server-level key lets clients connect without sending one. Read the shared-key warning first.
Docker Compose: compose.yml builds the image from this repository, binds 127.0.0.1 only, sets no server key, and passes through every variable of .env.example. Start it with docker compose up -d. Compose also reads CARBONE_API_KEY from your shell or a .env file: if it is set there, you get the shared-key variant.
To run the image as a stdio server for Claude Desktop, see the Docker Hub page.
On-premise Carbone
If you run Carbone on-premise, point the server at your instance with CARBONE_BASE_URL; no API key is needed. For example CARBONE_BASE_URL=https://your-carbone-server.com npx carbone-mcp, or add -e CARBONE_BASE_URL=https://your-carbone-server.com to docker run.
Configuration
Full descriptions: Configuration in docs/API.md.
Self-hosting troubleshooting
Upgrading from 1.x
HTTP deployments should upgrade now (security fixes): read the upgrade notes.
Contributing
Bug reports, fixes and documentation improvements are welcome. CONTRIBUTING.md covers the development setup, tests, debugging and the pull request process.
Support
- Documentation: MCP server · HTTP API · Template design · OpenAPI specification
- Bugs and feature requests: GitHub Issues
- Questions: live chat on carbone.io (bottom-right widget) · Enterprise: [email protected]
License
Apache 2.0, see LICENSE.
来源:README.md,提交 c9cd2ec
工具
0版本历史
8- v2.2.0最新Nov 7, 2026
- v2.1.4Oct 26, 2026
- v2.1.3Oct 20, 2026
- v2.1.2Oct 20, 2026
- v2.1.1Oct 15, 2026
- v2.1.0Oct 15, 2026
- v2.0.0Oct 14, 2026
- v1.6.0Sep 16, 2026
评分
已满足适用检查项的 85%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通必需25 分
- 已声明认证方式必需10 分
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分