Skip to content

ReflowPDF

com.reflowpdf/reflowpdfreflowpdf.comstreamable-httpv1.0.0Scanned

Paged PDFs from HTML and CSS, document templates, and an editor link for every document.

11 tools: 7 change things and 4 only read.

Tools: 0 delete, 0 irreversible, 7 write, 4 read.
  • Reads private data · 3
  • Reads text others write · 8
  • Can send data out · 1
  • No findings

Anlyon alternative

7 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

11 tools

Changes things 7Claude Code: ask
  • connect_accountSigns the person in to their ReflowPDF account (a free one is enough), when they want PDFs without the ReflowPDF mark, their plan's pages, or the documents you make kept in their a…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Signs the person in to their ReflowPDF account (a free one is enough), when they want PDFs without the ReflowPDF mark, their plan's pages, or the documents you make kept in their account. Their client shows a Connect button; once they have signed in, every call of yours is their account's. Without it everything works too, as a guest: every page, with a small mark.

    Annotations the server declares

    • title: Connect the person's ReflowPDF account
    • readOnlyHint: true
    • openWorldHint: false
  • import_pdfReturns a link (valid 24 hours) that opens an existing PDF in the ReflowPDF editor's import, which rebuilds it as an editable document.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The name "import_pdf" says "import": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
    Description, as the server wrote it
    Returns a link (valid 24 hours) that opens an existing PDF in the ReflowPDF editor's import, which rebuilds it as an editable document. A PDF made by ReflowPDF opens from its own source at once; any other is rebuilt by AI, which needs a free account and uses its AI pages (the editor shows the cost first). Give a public https URL of the PDF, or its bytes in base64 (small files).

    Annotations the server declares

    • title: Import a PDF into the editor
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • open_in_editorReturns the edit link of a document in the ReflowPDF editor, where the person edits it on the page and downloads it: your HTML, or a template with its data (kept as template and da…Reads text others writeNo findings

    Why it is in this group

    • The name "open_in_editor" says "open": a word for a change.

    What it can reach

    • untrusted-inputThe description's first sentence says "return" and "html": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Returns the edit link of a document in the ReflowPDF editor, where the person edits it on the page and downloads it: your HTML, or a template with its data (kept as template and data, both editable). Use when the person wants to change the document themselves; you can read their changes and change it too (get_document, update_document).

    Annotations the server declares

    • title: Open in the ReflowPDF editor
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • render_pdfLays out a whole HTML document (with its CSS) as paged print and returns a download link to the PDF, valid 24 hours, and the document's edit link in the ReflowPDF editor (give the …Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Lays out a whole HTML document (with its CSS) as paged print and returns a download link to the PDF, valid 24 hours, and the document's edit link in the ReflowPDF editor (give the person both). Use @page for paper and margins, margin boxes for headers, footers and page numbers; JavaScript does not run. Read read_guide topic "html" before the first document. To change the document later, use update_document with its document_id.

    Annotations the server declares

    • title: Print HTML to PDF
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • render_templateFills a template with JSON data and prints it to PDF (a download link, valid 24 hours, and the edit link in the editor, where its template and data stay editable — until the person…Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "fill": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Fills a template with JSON data and prints it to PDF (a download link, valid 24 hours, and the edit link in the editor, where its template and data stay editable — until the person edits it on the page, which makes it a plain HTML document: then change its html). Either a gallery template (template_id from list_templates; without data it prints its sample) or your own template source. Send data in the shape of the template's sample (get_template). The language: read_guide topic "templates".

    Annotations the server declares

    • title: Fill a template and print it
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • update_documentWrites a new version of a document by its link — e.g.Reads text others writeNo findings

    Why it is in this group

    • The name "update_document" says "update": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Writes a new version of a document by its link — e.g. the person asks in the chat to remove something on page 2 — and prints it again: the PDF link, the same edit link (the editor open on it shows the change). Send the whole new html (and data, if it is a template), changed from what get_document returned, with base_revision: a document the person changed after you read it is refused, so read it again.

    Annotations the server declares

    • title: Change a document by its link
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • upload_imageKeeps an image whose bytes you have (one you made, or a small file you can read) and returns its link, to use as <img src> or CSS url() in render_pdf, render_template, open_in_edit…No findings

    Why it is in this group

    • The name "upload_image" says "upload": a word for a change.
    Description, as the server wrote it
    Keeps an image whose bytes you have (one you made, or a small file you can read) and returns its link, to use as <img src> or CSS url() in render_pdf, render_template, open_in_editor and update_document — instead of a data: URI, so the document stays small when you read it back. You send the bytes as base64 text, so this is for small images (a logo, an icon: tens of KB); PNG, JPEG, GIF, WebP or AVIF, at most 10 MB. A picture the person has (their photo, their logo file): ask them to add it in the editor at the edit link — drag it onto the page — and read it back with get_document. An image at a public https address needs no upload: use that address. An SVG goes into the HTML as it is. The image lasts 30 days after a document using it last changed.

    Annotations the server declares

    • title: Keep an image for a document
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 4Show 4 read-only tools
  • get_documentReturns a document made with ReflowPDF (by you, or opened in the editor from your link) as it is now — the person may have edited it in the editor: its source HTML, template data a…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "get_document" says "get": a word for reading.

    What it can reach

    • private-dataThe name "get_document" says "get" and "document": it reads documents.
    • private-dataThe description's first sentence says "return" and "document": it reads documents.
    • untrusted-inputThe description's first sentence says "return" and "html": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Returns a document made with ReflowPDF (by you, or opened in the editor from your link) as it is now — the person may have edited it in the editor: its source HTML, template data and revision. Read it before changing it with update_document.

    Annotations the server declares

    • title: Read a document by its link
    • readOnlyHint: true
    • openWorldHint: false
  • get_templateReturns a gallery template's source and its sample data, to fill with the person's values (render_template) or to adapt into your own template.No findings

    Why it is in this group

    • The name "get_template" says "get": a word for reading.
    Description, as the server wrote it
    Returns a gallery template's source and its sample data, to fill with the person's values (render_template) or to adapt into your own template.

    Annotations the server declares

    • title: Read a template and its sample data
    • readOnlyHint: true
    • openWorldHint: false
  • list_templatesLists the gallery's ready documents — invoices, quotes, receipts, statements, reports, contracts, letters, CVs, certificates, tickets, labels, menus and more — each a template with…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "list_templates" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "list" and "document": it reads documents.
    • untrusted-inputThe description's first sentence says "list" and "ticket": it reads issues, which other people can write.
    Description, as the server wrote it
    Lists the gallery's ready documents — invoices, quotes, receipts, statements, reports, contracts, letters, CVs, certificates, tickets, labels, menus and more — each a template with sample data. Search by a word ("invoice", "contract") or a category.

    Annotations the server declares

    • title: Find a document template
    • readOnlyHint: true
    • openWorldHint: false
  • read_guideThe engine's guide: "overview" (the tools), "html" (paper, headers/footers, page numbers, tables of contents, footnotes, fonts, images, accessibility), "pages" (page kinds, breaks …Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "read_guide" says "read": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "table": it reads databases.
    • untrusted-inputThe description's first sentence says "html": it reads web pages, which anyone can write.
    Description, as the server wrote it
    The engine's guide: "overview" (the tools), "html" (paper, headers/footers, page numbers, tables of contents, footnotes, fonts, images, accessibility), "pages" (page kinds, breaks and keeping together, covers, numbering, bleed and crop marks), "design" (columns, drop caps, page decorations and watermarks, spacing, images and text wrap, typography), "charts" (the chart block), "codes" (QR codes and barcodes), "forms" (fillable fields), "templates" (the template language).

    Annotations the server declares

    • title: How to write documents for ReflowPDF
    • readOnlyHint: true
    • openWorldHint: false

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.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

24 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 outbound tool breaks every one.

Reads private data3
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write8
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out1
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__reflowpdf__import_pdf"
    ]
  }
}

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

No check matched anything in these tool definitions. That is not a safety guarantee.

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

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

claude mcp add --transport http reflowpdf https://app.reflowpdf.com/mcp
claude mcp add --transport http reflowpdf https://app.reflowpdf.com/mcp

Run in a terminal.

Claude Code permissions

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

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__reflowpdf__list_templates",
      "mcp__reflowpdf__get_template",
      "mcp__reflowpdf__get_document",
      "mcp__reflowpdf__read_guide"
    ],
    "ask": [
      "mcp__reflowpdf__render_pdf",
      "mcp__reflowpdf__render_template",
      "mcp__reflowpdf__open_in_editor",
      "mcp__reflowpdf__update_document",
      "mcp__reflowpdf__upload_image",
      "mcp__reflowpdf__import_pdf",
      "mcp__reflowpdf__connect_account"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as reflowpdf. Review it before you use it.

Capability tags behind 8 rules
  • mcp__reflowpdf__render_pdf untrusted-input
  • mcp__reflowpdf__render_template untrusted-input
  • mcp__reflowpdf__list_templates private-data, untrusted-input
  • mcp__reflowpdf__open_in_editor untrusted-input
  • mcp__reflowpdf__get_document private-data, untrusted-input
  • mcp__reflowpdf__update_document untrusted-input
  • mcp__reflowpdf__import_pdf untrusted-input, outbound
  • mcp__reflowpdf__read_guide private-data, untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/com.reflowpdf/reflowpdf/verify?hash=0b8a1740d6abf7508e4b570a42aec932da05a3307763fd2825d39c79bc282833" | jq -e '.changed == false'

Pinned hash 0b8a1740d6ab, from Oct 26, 2026, 00:25 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/com.reflowpdf/reflowpdf/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for com.reflowpdf/reflowpdf
[![anlyon.dev](https://anlyon.dev/badge/com.reflowpdf/reflowpdf.svg)](https://anlyon.dev/servers/com.reflowpdf/reflowpdf)

Source: MCP Registry. Synced Oct 26, 2026, 01:17 UTC.