FileToPDF
Server Details
Convert files, HTML, and Markdown to PDF via the FileToPDF API. Bring your own API key.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- FileToPDF/filetopdf-mcp
- GitHub Stars
- 2
- Server Listing
- FileToPDF MCP server
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4/5 across 4 of 4 tools scored.
Each tool targets a distinct input source: convert_file handles files from URLs, convert_html deals with raw HTML strings, convert_markdown processes Markdown, and get_account manages account info. There is no overlap.
All tools follow a clear verb_noun pattern (convert_file, convert_html, convert_markdown, get_account), with consistent verb choice and naming style.
Four tools is well-scoped for the domain: three conversion methods covering common input formats and one account tool. No tool is superfluous or missing.
The set covers the main conversion workflows (file URL, HTML, Markdown) and account management. Minor gaps like direct file upload or advanced formatting options for file conversion exist but do not hinder core functionality.
Available Tools
4 toolsconvert_fileConvert a file (by URL) to PDFAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) URL of the file to download and convert. | |
| pdfa | No | PDF/A conformance level, e.g. "PDF/A-2b". (Pro/Scale/trial only.) | |
| pdfua | No | Produce an accessible PDF/UA document. | |
| password | No | Password to open a protected source document. | |
| landscape | No | Render in landscape orientation. (Pro/Scale/trial only.) | |
| save_path | No | Optional absolute path to also write the PDF to on disk. | |
| userPassword | No | Password required to open the resulting PDF. | |
| ownerPassword | No | Owner password controlling permissions on the resulting PDF. | |
| nativePageRanges | No | Page ranges to include, e.g. "1-3". |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important behavioral details beyond annotations: it costs 1 credit, returns an embedded resource, and auto-detects engine. With only openWorldHint annotation, this adds significant transparency, though it could mention error scenarios or size limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the core action, then efficiently listing supported types and cost. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters and no output schema, the description covers the main function and return format but lacks details on parameter interactions, error handling, or limits. It is adequate but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add meaningful semantics beyond the schema for individual parameters; it focuses on high-level tool behavior instead of enriching parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts a file from a public URL to PDF, lists supported formats, and mentions auto-detection of the engine. It distinguishes from siblings like convert_html and convert_markdown by covering those plus many more types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (for general file conversion to PDF) but does not explicitly state when not to use or compare with sibling tools. It lacks guidance on choosing between convert_file and the more specific convert_html or convert_markdown.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_htmlConvert HTML to PDFAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| css | No | Optional CSS, injected into the document <head>. | |
| html | Yes | The HTML markup to render. | |
| pdfa | No | PDF/A conformance level, e.g. "PDF/A-2b". (Pro/Scale/trial only.) | |
| pdfua | No | Produce an accessible PDF/UA document. | |
| scale | No | Render scale, 0.1–2.0. | |
| landscape | No | Render in landscape orientation. (Pro/Scale/trial only.) | |
| marginTop | No | Top margin in inches. | |
| save_path | No | Optional absolute path to also write the PDF to on disk. | |
| marginLeft | No | Left margin in inches. | |
| paperWidth | No | Paper width in inches, or with a unit e.g. "210mm". | |
| marginRight | No | Right margin in inches. | |
| paperHeight | No | Paper height in inches. | |
| marginBottom | No | Bottom margin in inches. | |
| userPassword | No | Password required to open the resulting PDF. | |
| ownerPassword | No | Owner password controlling permissions on the resulting PDF. | |
| printBackground | No | Print background graphics/colors. | |
| nativePageRanges | No | Page ranges to include, e.g. "1-3,5". | |
| preferCssPageSize | No | Use the page size declared in CSS @page rules. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only have openWorldHint=true, so description carries burden. It adds credit cost and return format, but does not disclose side effects like file writing via save_path parameter or rendering environment details. Additional behavioral info is valuable but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with zero waste: action, optional options, cost, output. Front-loaded with purpose. Every sentence adds distinct value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 18 parameters and no output schema, description covers main action, input, output, and cost. Missing side effects (save_path file writing), rendering environment details (JavaScript execution), and timeouts. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description groups parameters as 'optional CSS and layout options', adding minimal meaning beyond schema. No new constraints or format details provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses strong verb 'Render' and specific resource 'raw HTML string', output 'PDF'. It clearly distinguishes from siblings: convert_file (likely file-based), convert_markdown (markdown input), and get_account (unrelated).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states 'raw HTML string' implying file-based HTML should use convert_file, but no explicit when-not or alternative mention. Context is clear enough due to sibling tool names, but lacks direct exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_markdownConvert Markdown to PDFAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| css | No | Optional CSS to style the rendered Markdown (overrides the default stylesheet). | |
| pdfa | No | PDF/A conformance level, e.g. "PDF/A-2b". (Pro/Scale/trial only.) | |
| pdfua | No | Produce an accessible PDF/UA document. | |
| scale | No | Render scale, 0.1–2.0. | |
| markdown | Yes | The Markdown content to render. | |
| landscape | No | Render in landscape orientation. (Pro/Scale/trial only.) | |
| marginTop | No | Top margin in inches. | |
| save_path | No | Optional absolute path to also write the PDF to on disk. | |
| marginLeft | No | Left margin in inches. | |
| paperWidth | No | Paper width in inches, or with a unit e.g. "210mm". | |
| marginRight | No | Right margin in inches. | |
| paperHeight | No | Paper height in inches. | |
| marginBottom | No | Bottom margin in inches. | |
| userPassword | No | Password required to open the resulting PDF. | |
| ownerPassword | No | Owner password controlling permissions on the resulting PDF. | |
| printBackground | No | Print background graphics/colors. | |
| nativePageRanges | No | Page ranges to include, e.g. "1-3,5". | |
| preferCssPageSize | No | Use the page size declared in CSS @page rules. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds transparency beyond annotations by stating the cost (1 credit) and return type (embedded resource), and that a default stylesheet is applied. However, it does not disclose potential side effects (e.g., writing to disk via save_path) or required permissions. Annotations only provide openWorldHint, which is not contradicted, but the description is only partially transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two sentences that front-load the core purpose and key details (defaults, cost, return). Every sentence adds value, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (18 parameters, no output schema, minimal annotations), the description covers essential purpose and return type but lacks depth on layout options or parameter interactions. It is adequate but not exceptional for guiding an agent through all available features.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the parameters are already well-documented in the schema. The description adds a high-level summary ('optional CSS and layout options') but no new details beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool renders a raw Markdown string to a PDF with optional CSS/layout options, using specific verbs and resources. It distinguishes itself from siblings like convert_html (HTML to something) and convert_file (file format conversion) by focusing on Markdown input and PDF output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (Markdown to PDF) and mentions defaults (default stylesheet) and cost, but does not explicitly state when not to use it or provide alternatives. Context from sibling tools clarifies the niche, but direct guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_accountGet FileToPDF account statusARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and openWorldHint, indicating safe, state-dependent reading. The description adds specific details about what is returned (plan, credits, subscription status) and confirms no cost, consistent with the annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, clear sentences with no wasted words. Purpose is front-loaded and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description covers the return values and use case. Could mention how the API key is supplied (probably via authentication), but overall sufficient given annotations and sibling context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline is 4 per guidelines. The description does not need to explain parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks the FileToPDF API key and returns plan, credits, and subscription status. It distinguishes itself from sibling conversion tools (convert_file, convert_html, convert_markdown) by specifying it is for status verification and costs no credits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this to verify the connection works' and notes it is free, implying use before conversion tasks. It clearly differentiates from siblings but lacks explicit when-not-to-use or alternative pointers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityCmaintenanceConverts PDF and CSV files to Markdown from AI agents via cloud API, with browser-based Google login and saved convert defaults.8MIT
- Flicense-qualityDmaintenanceConverts HTML files or HTML content to PDF using Puppeteer's browser rendering engine with support for CSS, JavaScript, custom page formats, margins, and header/footer templates.6
- Alicense-qualityDmaintenanceConverts various document formats to desired output formats, currently supporting PDF to image conversion. No access keys required for basic file format conversion operations.3MIT
- Alicense-qualityCmaintenanceConvert PDF, DOCX, XLSX, images, and 20+ formats to Markdown using markdown.new API.15MIT
Your Connectors
Sign in to create a connector for this server.