Back to Directory/Developer Tools

io.github.docjet-dev/docjet-mcp

Render branded PDFs and PNG images from templates or raw HTML via the DocJet API. Free tier.

Developer ToolsTypeScriptv1.0.1

docjet-mcp

MCP server for DocJet — render branded PDF documents (invoices, reports, certificates) and PNG social images directly from any MCP client (Claude Desktop, Claude Code, Cursor, Windsurf, ...).

Send a template ID or raw HTML plus JSON data; get back a signed download URL. Runs locally over stdio via npx — nothing to host.

Quick start

Add to your MCP client configuration:

{
  "mcpServers": {
    "docjet": {
      "command": "npx",
      "args": ["docjet-mcp"],
      "env": {
        "DOCJET_API_KEY": "binfra_your_key_here"
      }
    }
  }
}

Get an API key at docjet.dev. To try it without signing up, use the public demo key (rate-limited to 3 req/min, 50 renders/month, shared by everyone):

binfra_9afb57dbb6478c441ad101129fca65847f5745403f9d718b3de6d934c9b63f88

Tools

ToolWhat it does
render_pdfRender a branded PDF. Input: template_id (or raw html) + data object. Returns a signed download URL.
render_imageRender a PNG image (e.g. OG/social card). Input: template_id (or raw html) + data object. Returns a signed download URL.
list_templatesList available templates: id, name, description, outputType. No API key needed.

Example prompt once connected:

"List the DocJet templates, then render the invoice-ro template with client 'Demo SRL' and total 1000 as a PDF."

Environment variables

VariableRequiredDescription
DOCJET_API_KEYYesYour DocJet API key (binfra_ prefix). Sent as a Bearer token; never logged.
DOCJET_BASE_URLNoOverride the API base URL (default https://api.docjet.dev).

How it works

  • Stdio transport using the official @modelcontextprotocol/sdk (v1).
  • render_pdf → POST /v1/render?response=url, render_image → POST /v1/image?response=url, list_templates → GET /v1/templates.
  • Template IDs are validated locally against ^[a-z0-9][a-z0-9-]{0,63}$ before any network call.
  • API errors surface as MCP error content with the DocJet error code (e.g. QUOTA_EXCEEDED, RATE_LIMITED).

Links

License

MIT

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y docjet-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-docjet-dev-docjet-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "docjet-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

docjet-mcpnpm

Compatible MCP Clients

io.github.docjet-dev/docjet-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More