FileToPDF

Convert files, HTML, and Markdown to PDF via the FileToPDF API. Bring your own API key.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
83%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,327Tokens (tool definitions)
~3.3 KBTypical response size
Moderate attention impact (1.04% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "filetopdf-mcp": {
      "command": "npx",
      "args": [
        "filetopdf-mcp"
      ]
    }
  }
}

Runnable packages

npmfiletopdf-mcp0.1.1stdio

Remote endpoints

https://api.filetopdf.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_account

Check the FileToPDF API key and return the plan, remaining conversion credits, and subscription status. Free — costs no credits. Use this to verify the connection works.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪convert_file(url, landscape, nativePageRanges, password, pdfa, ...)

Convert a file fetched from a public URL into a PDF. Auto-detects the engine from the extension: Office docs (DOCX, XLSX, PPTX, ODT, RTF, TXT, CSV…), images (PNG, JPG, WebP…), HTML, Markdown, or an existing PDF (passthrough). Costs 1 credit on success. Returns the PDF as an embedded resource.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Public http(s) URL of the file to download and convert."
    },
    "landscape": {
      "type": "boolean",
      "description": "Render in landscape orientation. (Pro/Scale/trial only.)"
    },
    "nativePageRanges": {
      "type": "string",
      "description": "Page ranges to include, e.g. \"1-3\"."
    },
    "password": {
      "type": "string",
      "description": "Password to open a protected source document."
    },
    "pdfa": {
      "type": "string",
      "description": "PDF/A conformance level, e.g. \"PDF/A-2b\". (Pro/Scale/trial only.)"
    },
    "pdfua": {
      "type": "boolean",
      "description": "Produce an accessible PDF/UA document."
    },
    "userPassword": {
      "type": "string",
      "description": "Password required to open the resulting PDF."
    },
    "ownerPassword": {
      "type": "string",
      "description": "Owner password controlling permissions on the resulting PDF."
    },
    "save_path": {
      "type": "string",
      "description": "Optional absolute path to also write the PDF to on disk."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪convert_html(html, css, landscape, paperWidth, paperHeight, ...)

Render a raw HTML string to a PDF using Chromium, with optional CSS and layout options. Costs 1 credit on success. Returns the PDF as an embedded resource.

Input Schema

{
  "type": "object",
  "properties": {
    "html": {
      "type": "string",
      "description": "The HTML markup to render."
    },
    "css": {
      "type": "string",
      "description": "Optional CSS, injected into the document <head>."
    },
    "landscape": {
      "type": "boolean",
      "description": "Render in landscape orientation. (Pro/Scale/trial only.)"
    },
    "paperWidth": {
      "type": "string",
      "description": "Paper width in inches, or with a unit e.g. \"210mm\"."
    },
    "paperHeight": {
      "type": "string",
      "description": "Paper height in inches."
    },
    "marginTop": {
      "type": "string",
      "description": "Top margin in inches."
    },
    "marginBottom": {
      "type": "string",
      "description": "Bottom margin in inches."
    },
    "marginLeft": {
      "type": "string",
      "description": "Left margin in inches."
    },
    "marginRight": {
      "type": "string",
      "description": "Right margin in inches."
    },
    "scale": {
      "type": "string",
      "description": "Render scale, 0.1–2.0."
    },
    "printBackground": {
      "type": "boolean",
      "description": "Print background graphics/colors."
    },
    "preferCssPageSize": {
      "type": "boolean",
      "description": "Use the page size declared in CSS @page rules."
    },
    "nativePageRanges": {
      "type": "string",
      "description": "Page ranges to include, e.g. \"1-3,5\"."
    },
    "pdfa": {
      "type": "string",
      "description": "PDF/A conformance level, e.g. \"PDF/A-2b\". (Pro/Scale/trial only.)"
    },
    "pdfua": {
      "type": "boolean",
      "description": "Produce an accessible PDF/UA document."
    },
    "userPassword": {
      "type": "string",
      "description": "Password required to open the resulting PDF."
    },
    "ownerPassword": {
      "type": "string",
      "description": "Owner password controlling permissions on the resulting PDF."
    },
    "save_path": {
      "type": "string",
      "description": "Optional absolute path to also write the PDF to on disk."
    }
  },
  "required": [
    "html"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪convert_markdown(markdown, css, landscape, paperWidth, paperHeight, ...)

Render a raw Markdown string to a PDF, with optional CSS and layout options. A sensible default stylesheet is applied when no CSS is given. Costs 1 credit on success. Returns the PDF as an embedded resource.

Input Schema

{
  "type": "object",
  "properties": {
    "markdown": {
      "type": "string",
      "description": "The Markdown content to render."
    },
    "css": {
      "type": "string",
      "description": "Optional CSS to style the rendered Markdown (overrides the default stylesheet)."
    },
    "landscape": {
      "type": "boolean",
      "description": "Render in landscape orientation. (Pro/Scale/trial only.)"
    },
    "paperWidth": {
      "type": "string",
      "description": "Paper width in inches, or with a unit e.g. \"210mm\"."
    },
    "paperHeight": {
      "type": "string",
      "description": "Paper height in inches."
    },
    "marginTop": {
      "type": "string",
      "description": "Top margin in inches."
    },
    "marginBottom": {
      "type": "string",
      "description": "Bottom margin in inches."
    },
    "marginLeft": {
      "type": "string",
      "description": "Left margin in inches."
    },
    "marginRight": {
      "type": "string",
      "description": "Right margin in inches."
    },
    "scale": {
      "type": "string",
      "description": "Render scale, 0.1–2.0."
    },
    "printBackground": {
      "type": "boolean",
      "description": "Print background graphics/colors."
    },
    "preferCssPageSize": {
      "type": "boolean",
      "description": "Use the page size declared in CSS @page rules."
    },
    "nativePageRanges": {
      "type": "string",
      "description": "Page ranges to include, e.g. \"1-3,5\"."
    },
    "pdfa": {
      "type": "string",
      "description": "PDF/A conformance level, e.g. \"PDF/A-2b\". (Pro/Scale/trial only.)"
    },
    "pdfua": {
      "type": "boolean",
      "description": "Produce an accessible PDF/UA document."
    },
    "userPassword": {
      "type": "string",
      "description": "Password required to open the resulting PDF."
    },
    "ownerPassword": {
      "type": "string",
      "description": "Owner password controlling permissions on the resulting PDF."
    },
    "save_path": {
      "type": "string",
      "description": "Optional absolute path to also write the PDF to on disk."
    }
  },
  "required": [
    "markdown"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools