{
  "markdown": "# docjet-mcp\n\nMCP server for [DocJet](https://docjet.dev) — render branded PDF documents (invoices, reports, certificates) and PNG social images directly from any MCP client (Claude Desktop, Claude Code, Cursor, Windsurf, ...).\n\nSend a template ID or raw HTML plus JSON data; get back a signed download URL. Runs locally over stdio via `npx` — nothing to host.\n\n## Quick start\n\nAdd to your MCP client configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"docjet\": {\n      \"command\": \"npx\",\n      \"args\": [\"docjet-mcp\"],\n      \"env\": {\n        \"DOCJET_API_KEY\": \"binfra_your_key_here\"\n      }\n    }\n  }\n}\n```\n\nGet an API key at [docjet.dev](https://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):\n\n```\nbinfra_9afb57dbb6478c441ad101129fca65847f5745403f9d718b3de6d934c9b63f88\n```\n\n## Tools\n\n| Tool | What it does |\n| --- | --- |\n| `render_pdf` | Render a branded PDF. Input: `template_id` (or raw `html`) + `data` object. Returns a signed download URL. |\n| `render_image` | Render a PNG image (e.g. OG/social card). Input: `template_id` (or raw `html`) + `data` object. Returns a signed download URL. |\n| `list_templates` | List available templates: `id`, `name`, `description`, `outputType`. No API key needed. |\n\nExample prompt once connected:\n\n> \"List the DocJet templates, then render the invoice-ro template with client 'Demo SRL' and total 1000 as a PDF.\"\n\n## Environment variables\n\n| Variable | Required | Description |\n| --- | --- | --- |\n| `DOCJET_API_KEY` | Yes | Your DocJet API key (`binfra_` prefix). Sent as a Bearer token; never logged. |\n| `DOCJET_BASE_URL` | No | Override the API base URL (default `https://api.docjet.dev`). |\n\n## How it works\n\n- Stdio transport using the official [`@modelcontextprotocol/sdk`](https://www.npmjs.com/package/@modelcontextprotocol/sdk) (v1).\n- `render_pdf` → `POST /v1/render?response=url`, `render_image` → `POST /v1/image?response=url`, `list_templates` → `GET /v1/templates`.\n- Template IDs are validated locally against `^[a-z0-9][a-z0-9-]{0,63}$` before any network call.\n- API errors surface as MCP error content with the DocJet error code (e.g. `QUOTA_EXCEEDED`, `RATE_LIMITED`).\n\n## Links\n\n- API docs: [docjet.dev/docs](https://docjet.dev/docs)\n- JS/TS SDK: [`docjet` on npm](https://www.npmjs.com/package/docjet)\n- Support: support@docjet.dev\n\n## License\n\nMIT\n",
  "bytes": 2398,
  "sha": "11f63b2523bbd08acd2440eb4d7210c530b7b0fd4bb1f55c1521e857a024e128",
  "repo_slug": "docjet-dev/docjet-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_docjet_dev_docjet_mcp_846f5c72/readme"
}