← Files Dynamic Document APIARCHIVED FILE

plugin.json

8.49 KB · Nov 14, 2026 · 01:34 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "dynamic-document-api",
  "version": "0.1.0",
  "description": "Render PDFs, images and e-invoices from your Dynamic Document API templates, HTML or Markdown, and merge PDFs.",
  "author": {
    "name": "Noble Minds Media Ltd",
    "email": "support@dynamicdocumentapi.com",
    "url": "https://dynamicdocumentapi.com"
  },
  "homepage": "https://dynamicdocumentapi.com/docs/mcp",
  "keywords": [
    "pdf",
    "documents",
    "templates",
    "invoices",
    "e-invoicing",
    "images"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Dynamic Document API",
        "shortDescription": "PDFs, images and e-invoices",
        "longDescription": "Create documents from the templates in your Dynamic Document API workspace without leaving the chat. Describe the document you need, and ChatGPT finds the right template, reads the data it expects, fills it from the conversation and returns a download link.\n\nWhat you can do:\n- List your published templates and see the fields each one expects.\n- Render PDFs from a template and JSON data: invoices, quotes, certificates, reports, letters.\n- Render PNG, JPEG or WebP images from image templates, such as social media graphics or event banners.\n- Turn HTML and CSS, or Markdown with a built-in theme, into a PDF.\n- Create validated e-invoice XML (XRechnung, EN 16931, ZUGFeRD and Factur-X profiles), or a PDF with the e-invoice embedded.\n- Merge several PDFs into one, from earlier renders or public URLs.\n- Fetch a render's status and new download links.\n\nWho it is for: teams that keep their document templates in Dynamic Document API and want to produce single documents on request, for example an invoice for one customer or an image for one event.\n\nHow it works: you sign in with your Dynamic Document API account and choose the workspace ChatGPT may use. ChatGPT can only read templates and create and read renders in that workspace; it cannot change templates, API keys, webhooks or settings. Renders are test renders with a TEST watermark until you ask for the final document. Renders run and files are stored in Germany.\n\nLimitations: you need a Dynamic Document API account with at least one published template to render from templates. Download links expire; ask for new ones when they do. A render that takes longer than 25 seconds keeps running and can be collected afterwards. E-invoice creation is available only to workspaces whose plan includes it. The plugin cannot send emails, edit or delete templates, or access other workspaces.",
        "developerName": "Noble Minds Media Ltd",
        "category": "Productivity",
        "capabilities": [
          "List templates and their fields",
          "Render PDFs from templates",
          "Render images from templates",
          "Render PDFs from HTML or Markdown",
          "Create e-invoices (XRechnung, ZUGFeRD, Factur-X)",
          "Merge PDFs"
        ],
        "websiteURL": "https://dynamicdocumentapi.com/docs/mcp",
        "supportURL": "https://dynamicdocumentapi.com/contact",
        "privacyPolicyURL": "https://dynamicdocumentapi.com/privacy/",
        "termsOfServiceURL": "https://dynamicdocumentapi.com/terms/",
        "defaultPrompt": [
          "Create an invoice PDF from my invoice template",
          "Turn my meeting notes into a PDF",
          "Make an image for our next event"
        ],
        "brandColor": "#5B5CF6",
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/logo.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "List the workspace's templates",
              "prompt": "Which document templates do I have in Dynamic Document API?",
              "tools_triggered": "list_templates",
              "expected_behavior": "Lists the test workspace's published templates by name and type: the PDF template \"Standard invoice\" and the image template \"Event announcement (image)\"."
            },
            {
              "description": "Render an invoice PDF from a template",
              "prompt": "Create an invoice PDF from my invoice template. Invoice INV-1001, issued 30 October 2026, delivered 30 October 2026, due 13 November 2026, payment terms 14 days net, currency EUR, PO number PO-4711, buyer reference ACME-2026-11. From: Northwind Studio GmbH, VAT ID DE123456789, Friedrichstra\u00dfe 10, 2nd floor, 10117 Berlin, Germany; contact Jana Weber, billing@northwind.example, +49 30 1234567; e-invoice address billing@northwind.example; website northwind.example. Bill to: Acme GmbH, VAT ID DE987654321, Hauptstra\u00dfe 1, Building A, 10115 Berlin, Germany; contact Max Mustermann; e-invoice address invoices@acme.example. One line: 3 hours of consulting at 120 EUR per hour, 19% VAT. Payment by bank transfer to Northwind Studio GmbH at Commerzbank, IBAN DE89370400440532013000, BIC COBADEFFXXX, reference INV-1001, payment link https://pay.example.com/INV-1001. Note: Thank you for your business.",
              "tools_triggered": "list_templates, get_template_schema, render_pdf_from_template",
              "expected_behavior": "Finds the invoice template, reads its fields and renders a test PDF from the details in the prompt without asking for more: seller Northwind Studio GmbH, customer Acme GmbH, one line of 3 hours at 120 EUR with 19% VAT (total 428.40 EUR). Returns a download link that opens the PDF. The PDF carries a TEST watermark, and the reply says it is a test render."
            },
            {
              "description": "Render an image from an image template",
              "prompt": "Make an event announcement image for \"Spring Meetup\" on 12 May 2027 in Berlin.",
              "tools_triggered": "list_templates, get_template_schema, render_image_from_template",
              "expected_behavior": "Finds the image template, fills in the event name, date and place, and returns a download link to a test PNG image with a TEST watermark."
            },
            {
              "description": "Turn Markdown into a PDF",
              "prompt": "Turn these meeting notes into a PDF: Weekly sync. Decisions: launch on 1 March, budget approved. Next steps: Anna drafts the announcement.",
              "tools_triggered": "render_pdf_from_markdown",
              "expected_behavior": "Renders the notes as a test PDF with a heading, the decisions and the next steps, and returns a download link."
            },
            {
              "description": "Render HTML as a PDF",
              "prompt": "Render this HTML as an A4 PDF: <h1>Opening hours</h1><table><tr><td>Mon-Fri</td><td>9:00-18:00</td></tr><tr><td>Sat</td><td>10:00-14:00</td></tr></table>",
              "tools_triggered": "render_pdf_from_html",
              "expected_behavior": "Renders the HTML on an A4 page as a test PDF showing the heading and the two-row table, and returns a download link."
            }
          ],
          "negative": [
            {
              "description": "Deleting templates is not supported: the plugin can only read templates and create renders.",
              "prompt": "Delete all my templates in Dynamic Document API.",
              "expected_behavior": "No tool is called. The reply says the plugin cannot delete or change templates and points to the Dynamic Document API dashboard."
            },
            {
              "description": "Sending email is not supported: the plugin returns download links only.",
              "prompt": "Render an invoice for Acme GmbH and email it to billing@acme.example.",
              "expected_behavior": "The plugin may render the invoice, but it does not claim to have sent an email. The reply says the plugin cannot send emails and offers the download link instead."
            },
            {
              "description": "Access is limited to the workspace chosen at sign-in.",
              "prompt": "Show me the templates of another company's Dynamic Document API workspace.",
              "expected_behavior": "No other workspace is accessed. The reply says the plugin only sees the workspace chosen at sign-in."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "The plugin does not sell products or take payments."
      },
      "publication": {
        "countries": [],
        "release_notes": "First release: list templates and their fields, render PDFs and images from templates, render PDFs from HTML or Markdown, create e-invoices, merge PDFs and fetch renders."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 5b1d70cc50fad097157ad4a99ca08d89e76ae10a8aaccd1720d0bd5a5702f2b1