{
  "name": "pdfex",
  "description": "Design PDF templates, preview the render as an image, and print PDFs on demand.",
  "endpoint": "https://pdfex.io/mcp",
  "transport": {
    "type": "streamable-http",
    "stateless": true,
    "description": "Streamable HTTP, stateless",
    "unsupported_methods": [
      "GET",
      "DELETE"
    ]
  },
  "authentication": {
    "type": "bearer",
    "header": "Authorization",
    "scheme": "Bearer",
    "key_env_var": "PDFEX_API_KEY",
    "note": "The same API key as the REST API. Create one at https://pdfex.io/secure/keys."
  },
  "capabilities": {
    "tools": true,
    "resources": true,
    "prompts": true
  },
  "tools": [
    {
      "name": "get_capabilities",
      "kind": "read",
      "summary": "Engines, field types, units, page sizes, default font and your plan limits. Call this first."
    },
    {
      "name": "get_samples",
      "kind": "read",
      "summary": "List the sample catalogue, or fetch one sample in full (kind + engine together)."
    },
    {
      "name": "list_templates",
      "kind": "read",
      "summary": "Summaries of every template you can see. Never the schema."
    },
    {
      "name": "get_template",
      "kind": "read",
      "summary": "One template. detail: \"summary\" (default) omits the schema; \"full\" includes it."
    },
    {
      "name": "validate_template",
      "kind": "read",
      "summary": "Is this template valid? Never renders, never saves."
    },
    {
      "name": "preview_template",
      "kind": "read",
      "summary": "Renders and returns the page as an image you can look at. Nothing is saved."
    },
    {
      "name": "create_template",
      "kind": "write",
      "summary": "Saves a new template. Counts against your template limit."
    },
    {
      "name": "update_template",
      "kind": "write",
      "summary": "Edits a template, optionally guarded by expected_version."
    },
    {
      "name": "delete_template",
      "kind": "write",
      "destructive": true,
      "summary": "Permanently deletes. Requires confirm: true."
    }
  ],
  "discovery": {
    "guide": "https://pdfex.io/llms-full.txt",
    "contract": "https://pdfex.io/api/schema",
    "hosts": "https://pdfex.io/.well-known/mcp-hosts.json"
  }
}
