Turn HTML or a live URL into polished PDF and Excel files — hosted downloads, async jobs, history.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Generate a PDF or Excel document from HTML (document_content) or a URL (document_url). Exactly one of document_content / document_url is required. By default the document is HOSTED and the tool returns a { download_url } you can fetch — ideal for agents (no large binary in the response). Set hosted:false to get the raw document back as base64, or async:true to enqueue a job and poll docraptor_get_document_status. IMPORTANT: real documents consume account credits (billed). Set test:true to generate a FREE, watermarked document while developing. DocRaptor API: POST /docs.
An arbitrary tag string for your own reporting/grouping.
A name for the document (<=200 chars), shown in the DocRaptor dashboard/listing.
If true, generate a FREE watermarked test document (does not consume credits). Default false = a real, BILLED document.
Output format: pdf (default), xls, or xlsx.
If true, enqueue the job and return a status_id (poll with docraptor_get_document_status). Best for large/slow documents. Default false.
If true (default), DocRaptor hosts the file and returns a download_url. If false, the raw document is returned as base64.
Rendering pipeline/engine version, e.g. '10'. Omit to use DocRaptor's default.
A URL DocRaptor will fetch and render. Use this OR document_content.
PDF engine (Prince) options. PDF only.
The HTML/XML source to render. Use this OR document_url.
For hosted docs: ISO 8601 datetime when the hosted link expires.
For hosted docs: max number of downloads before the link expires.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Generate a PDF or Excel document from HTML (document_content) or a URL (document_url). Exactly one of document_content / document_url is required. By default the document is HOSTED and the tool returns a { download_url } you can fetch — ideal for agents (no large binary in the response). Set hosted:false to get the raw document back as base64, or async:true to enqueue a job and poll docraptor_get_document_status. IMPORTANT: real documents consume account credits (billed). Set test:true to generate a FREE, watermarked document while developing. DocRaptor API: POST /docs.
| Argument | Type | Description |
|---|---|---|
| tag | string | An arbitrary tag string for your own reporting/grouping. |
| name | string | A name for the document (<=200 chars), shown in the DocRaptor dashboard/listing. |
| test | boolean | If true, generate a FREE watermarked test document (does not consume credits). Default false = a real, BILLED document. |
| type | string | Output format: pdf (default), xls, or xlsx. |
| async | boolean | If true, enqueue the job and return a status_id (poll with docraptor_get_document_status). Best for large/slow documents. Default false. |
| hosted | boolean | If true (default), DocRaptor hosts the file and returns a download_url. If false, the raw document is returned as base64. |
| pipeline | string | Rendering pipeline/engine version, e.g. '10'. Omit to use DocRaptor's default. |
| document_url | string | A URL DocRaptor will fetch and render. Use this OR document_content. |
| prince_options | object | PDF engine (Prince) options. PDF only. |
| document_content | string | The HTML/XML source to render. Use this OR document_url. |
| hosted_expires_at | string | For hosted docs: ISO 8601 datetime when the hosted link expires. |
| hosted_download_limit | integer | For hosted docs: max number of downloads before the link expires. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"tag": {
"type": "string",
"description": "An arbitrary tag string for your own reporting/grouping."
},
"name": {
"type": "string",
"maxLength": 200,
"description": "A name for the document (<=200 chars), shown in the DocRaptor dashboard/listing."
},
"test": {
"type": "boolean",
"description": "If true, generate a FREE watermarked test document (does not consume credits). Default false = a real, BILLED document."
},
"type": {
"enum": [
"pdf",
"xls",
"xlsx"
],
"type": "string",
"description": "Output format: pdf (default), xls, or xlsx."
},
"async": {
"type": "boolean",
"description": "If true, enqueue the job and return a status_id (poll with docraptor_get_document_status). Best for large/slow documents. Default false."
},
"hosted": {
"type": "boolean",
"description": "If true (default), DocRaptor hosts the file and returns a download_url. If false, the raw document is returned as base64."
},
"pipeline": {
"type": "string",
"description": "Rendering pipeline/engine version, e.g. '10'. Omit to use DocRaptor's default."
},
"document_url": {
"type": "string",
"description": "A URL DocRaptor will fetch and render. Use this OR document_content."
},
"prince_options": {
"type": "object",
"properties": {
"media": {
"enum": [
"print",
"screen"
],
"type": "string",
"description": "CSS media type. \"print\" (default) vs \"screen\"."
},
"baseurl": {
"type": "string",
"description": "Base URL for resolving relative asset paths in document_content."
},
"pdf_title": {
"type": "string",
"description": "Title metadata embedded in the PDF."
},
"javascript": {
"type": "boolean",
"description": "Run JavaScript in the document before rendering. Default false."
},
"max_passes": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Max Prince layout passes (for JS-driven layouts).",
"exclusiveMinimum": 0
}
},
"description": "PDF engine (Prince) options. PDF only."
},
"document_content": {
"type": "string",
"description": "The HTML/XML source to render. Use this OR document_url."
},
"hosted_expires_at": {
"type": "string",
"description": "For hosted docs: ISO 8601 datetime when the hosted link expires."
},
"hosted_download_limit": {
"type": "integer",
"maximum": 9007199254740991,
"description": "For hosted docs: max number of downloads before the link expires.",
"exclusiveMinimum": 0
}
}
}Check the status of an asynchronous document created with docraptor_create_document({async:true}). Returns status (queued | working | completed | failed), and when completed a download_url / download_id / number_of_pages. DocRaptor API: GET /status/{status_id}.
| Argument | Type | Description |
|---|---|---|
| status_id* | string | The status_id returned by docraptor_create_document when async:true. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"status_id"
],
"properties": {
"status_id": {
"type": "string",
"description": "The status_id returned by docraptor_create_document when async:true."
}
}
}List metadata for documents created on this account, most recent first (paginated). Note: DocRaptor does not retain the rendered files themselves — this returns metadata such as name, type, test flag, and creation time. DocRaptor API: GET /docs.json.
| Argument | Type | Description |
|---|---|---|
| page | integer | Pagination page number. Default 1. |
| per_page | integer | Documents per page (max 100). Default 100. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Pagination page number. Default 1.",
"exclusiveMinimum": 0
},
"per_page": {
"type": "integer",
"maximum": 100,
"description": "Documents per page (max 100). Default 100.",
"exclusiveMinimum": 0
}
}
}List the IP addresses DocRaptor uses to fetch remote assets / document_url. Useful for allowlisting DocRaptor on a firewall or asset host. (DocRaptor notes these change over time — prefer HTTP Basic auth over IP allowlisting for securing assets.) DocRaptor API: GET /ips.json.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}