Skip to content

APITemplate.io MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.3.3 · published by io.usefulapi

Generate PDFs and images with APITemplate.io from templates, HTML, Markdown or a URL.

Final · 1Changes · 5

10 tools: 1 do something that can't be undone, 5 change things and 4 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http apitemplate https://apitemplate.usefulapi.io/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

10 tools

Can't be undone 1Claude Code: ask
  • apitemplate_merge_pdfsWRITE: joins 2-20 PDFs (public http(s) URLs, in the given order, e.g.No findings

    Why it is in this group

    • The name "apitemplate_merge_pdfs" says "merge": a word for a change that another call does not undo.
    Description, as the server wrote it
    WRITE: joins 2-20 PDFs (public http(s) URLs, in the given order, e.g. earlier download_url values) into one PDF and returns the hosted primary_url (never the file bytes). The source files are not changed or deleted. COST: uses 1 generation of your APITemplate.io plan quota per call (see apitemplate_get_account). Do not retry or repeat it unless needed; every call is counted. POST /v2/merge-pdfs (export_type=json).

    Annotations the server declares

    • title: Merge PDFs
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Changes things 5Claude Code: ask
  • apitemplate_create_imageWRITE: renders one image (JPEG and PNG) from a saved image template, changing the named layers with overrides (e.g.No findings

    Why it is in this group

    • The name "apitemplate_create_image" says "create": a word for a change.
    Description, as the server wrote it
    WRITE: renders one image (JPEG and PNG) from a saved image template, changing the named layers with overrides (e.g. [{"name":"text_1","text":"Hello"},{"name":"image_1","src":"https://..."}]), and returns the hosted download URLs (never the file bytes). COST: uses 1 generation of your APITemplate.io plan quota per call (see apitemplate_get_account). Do not retry or repeat it unless needed; every call is counted. POST /v2/create-image.

    Annotations the server declares

    • title: Create an image from a template
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • apitemplate_create_pdfWRITE: renders one PDF from a saved PDF template and your JSON data (the keys the template uses, e.g.No findings

    Why it is in this group

    • The name "apitemplate_create_pdf" says "create": a word for a change.
    Description, as the server wrote it
    WRITE: renders one PDF from a saved PDF template and your JSON data (the keys the template uses, e.g. invoice_number, items), and returns the hosted download_url (never the file bytes). Synchronous. COST: uses 1 generation of your APITemplate.io plan quota per call (see apitemplate_get_account). Do not retry or repeat it unless needed; every call is counted. POST /v2/create-pdf (export_type=json).

    Annotations the server declares

    • title: Create a PDF from a template
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • apitemplate_create_pdf_from_htmlWRITE: renders one PDF from HTML (Jinja2 placeholders like {{name}} are filled from data), without a saved template, and returns the hosted download_url (never the file bytes).No findings

    Why it is in this group

    • The name "apitemplate_create_pdf_from_html" says "create": a word for a change.
    Description, as the server wrote it
    WRITE: renders one PDF from HTML (Jinja2 placeholders like {{name}} are filled from data), without a saved template, and returns the hosted download_url (never the file bytes). COST: uses 1 generation of your APITemplate.io plan quota per call (see apitemplate_get_account). Do not retry or repeat it unless needed; every call is counted. POST /v2/create-pdf-from-html (export_type=json).

    Annotations the server declares

    • title: Create a PDF from HTML
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • apitemplate_create_pdf_from_markdownWRITE: renders one PDF from Markdown (Jinja2 placeholders like {{lang}} are filled from data) and returns the hosted download_url (never the file bytes).No findings

    Why it is in this group

    • The name "apitemplate_create_pdf_from_markdown" says "create": a word for a change.
    Description, as the server wrote it
    WRITE: renders one PDF from Markdown (Jinja2 placeholders like {{lang}} are filled from data) and returns the hosted download_url (never the file bytes). COST: uses 1 generation of your APITemplate.io plan quota per call (see apitemplate_get_account). Do not retry or repeat it unless needed; every call is counted. POST /v2/create-pdf-from-markdown (export_type=json).

    Annotations the server declares

    • title: Create a PDF from Markdown
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • apitemplate_create_pdf_from_urlWRITE: APITemplate.io opens one public web page URL and prints it to a PDF, and returns the hosted download_url (never the file bytes).No findings

    Why it is in this group

    • The name "apitemplate_create_pdf_from_url" says "create": a word for a change.
    Description, as the server wrote it
    WRITE: APITemplate.io opens one public web page URL and prints it to a PDF, and returns the hosted download_url (never the file bytes). The page is fetched by APITemplate.io, not by this server; pages that need a login cannot be printed. COST: uses 1 generation of your APITemplate.io plan quota per call (see apitemplate_get_account). Do not retry or repeat it unless needed; every call is counted. POST /v2/create-pdf-from-url (export_type=json).

    Annotations the server declares

    • title: Create a PDF from a web page URL
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Only reads 4Claude Code: allow
  • apitemplate_get_accountThe APITemplate.io account behind this key: plan, subscription status and period, and the quota: api_quota, api_used, api_remaining (generations), plus the template quota and count…No findings

    Why it is in this group

    • The name "apitemplate_get_account" says "get": a word for reading.
    Description, as the server wrote it
    The APITemplate.io account behind this key: plan, subscription status and period, and the quota: api_quota, api_used, api_remaining (generations), plus the template quota and count. Check api_remaining before generating. GET /v2/account-information.

    Annotations the server declares

    • title: Get account and quota
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • apitemplate_get_templateOne PDF template's HTML body, CSS and print settings (the vendor marks this endpoint experimental, so it can answer with an error for some accounts or image templates).No findings

    Why it is in this group

    • The name "apitemplate_get_template" says "get": a word for reading.
    Description, as the server wrote it
    One PDF template's HTML body, CSS and print settings (the vendor marks this endpoint experimental, so it can answer with an error for some accounts or image templates). Read-only. GET /v2/get-template.

    Annotations the server declares

    • title: Get PDF template source
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • apitemplate_list_objectsList the PDFs and images generated so far, newest first: transaction_ref, template_id, type (PDF, JPEG or MERGE), your meta reference, the hosted file URLs (primary_url, secondary_…No findings

    Why it is in this group

    • The name "apitemplate_list_objects" says "list": a word for reading.
    Description, as the server wrote it
    List the PDFs and images generated so far, newest first: transaction_ref, template_id, type (PDF, JPEG or MERGE), your meta reference, the hosted file URLs (primary_url, secondary_url for the PNG) and dates. Files already deleted or expired have deletion_status set. Read-only. GET /v2/list-objects.

    Annotations the server declares

    • title: List generated files
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • apitemplate_list_templatesList the templates of the account (PDF and image): template_id, name, format (PDF or JPEG), status, group and dates.No findings

    Why it is in this group

    • The name "apitemplate_list_templates" says "list": a word for reading.
    Description, as the server wrote it
    List the templates of the account (PDF and image): template_id, name, format (PDF or JPEG), status, group and dates. Use the template_id with the create tools. Read-only; templates are never changed. GET /v2/list-templates.

    Annotations the server declares

    • title: List templates
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.3.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http apitemplate https://apitemplate.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__apitemplate__apitemplate_get_account",
      "mcp__apitemplate__apitemplate_list_templates",
      "mcp__apitemplate__apitemplate_get_template",
      "mcp__apitemplate__apitemplate_list_objects"
    ],
    "ask": [
      "mcp__apitemplate__apitemplate_create_pdf",
      "mcp__apitemplate__apitemplate_create_image",
      "mcp__apitemplate__apitemplate_create_pdf_from_html",
      "mcp__apitemplate__apitemplate_create_pdf_from_markdown",
      "mcp__apitemplate__apitemplate_create_pdf_from_url",
      "mcp__apitemplate__apitemplate_merge_pdfs"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as apitemplate. Review it before you use it.