percollate-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@percollate-mcpRead https://example.com as Markdown"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
percollate-mcp
An MCP server that wraps Percollate to convert web pages into PDF, EPUB, HTML, or Markdown — directly from your AI assistant.
Tools
Download tools
Each writes a file to disk:
Tool | Output |
| |
| EPUB e-book |
| HTML file |
| Markdown file |
Parameters:
urls(required) — Array of URLs to convertoutput— Output file pathtitle— Document titleauthor— Document authorcss— Additional CSS overridesstyle— Custom CSS stylesheet pathtemplate— Custom HTML template pathhyphenate— Enable hyphenationindividual— Export each URL as a separate filewait— Seconds between processing URLsno_amp— Don't prefer AMP versionscover— Generate a cover pagetoc— Generate a table of contentstoc_level— Heading depth for ToC (1–6)inline— Embed images as base64debug— Verbose output
percollate_read_md
Reads a web page as Markdown and returns the content directly in conversation. Results are cached locally — repeated calls for the same URL return instantly.
Parameters:
url(required) — URL to readtitle,author,css,style,template,hyphenate,wait,no_amp,debug— standard processing options
Cached files are stored in your OS temp directory (percollate-mcp-cache/).
Related MCP server: Scrapi MCP Server
Quick Start
Add to your MCP client config (e.g. Claude Desktop claude_desktop_config.json):
{
"mcpServers": {
"percollate": {
"command": "npx",
"args": ["-y", "percollate-mcp"]
}
}
}No install needed — npx handles it automatically.
Requirements
Node.js 18+
License
MIT
Available Tools
5 toolspercollate_download_epubC
Download one or more web pages as an EPUB e-book. Supports bundling multiple URLs with cover page and ToC.
| Name | Required | Description | Default |
|---|---|---|---|
| css | No | Additional CSS to override styles. | |
| toc | No | Generate a table of contents. | |
| urls | Yes | One or more URLs to convert. | |
| wait | No | Seconds to wait between processing URLs (sequential mode). | |
| cover | No | Generate a cover page. | |
| debug | No | Print detailed debug info. | |
| style | No | Path to a custom CSS stylesheet. | |
| title | No | Title for the bundle. | |
| author | No | Author for the bundle. | |
| inline | No | Embed images inline as base64 data URLs. | |
| no_amp | No | Don't prefer the AMP version of the page. | |
| output | No | Output file path (absolute or relative). If it ends with / or has no extension, treated as a directory and a filename is auto-generated. Directories are created automatically. | |
| template | No | Path to a custom HTML template (nunjucks). Applies to pdf, html, md. | |
| hyphenate | No | Enable hyphenation. Default: true for pdf, false otherwise. | |
| toc_level | No | Heading depth for ToC (1–6). Values >1 imply --toc. | |
| individual | No | Export each URL as a separate file instead of bundling. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it omits that this writes files to disk, where output lands by default, or how collisions/overwrites are handled. The bundling/cover/ToC points it does make largely restate schema parameters rather than adding behavioral context.
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?
Two short sentences, front-loaded with the core action. The second sentence is brief and mildly useful, though it partly repeats parameter names already in the schema.
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?
For a 16-parameter file-producing tool with no annotations and no output schema, the description is thin: it never mentions that files are written, the default output location, or failure behavior for unreachable URLs. The schema covers parameter meaning, so the gap is mainly behavioral.
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 description coverage is 100% across 16 parameters, so the schema already documents every option; the description adds no syntax, defaults, or interactions beyond it. Baseline 3 applies when the schema does the heavy lifting.
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 states a specific verb (Download) and resource (web pages as an EPUB e-book), plus supporting scope (multiple URLs, cover page, ToC). It does not name the sibling formats (percollate_download_pdf/html/md), though the EPUB output is unambiguous from the name and text.
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?
No guidance on when to choose EPUB over the sibling PDF/HTML/MD exporters, and no prerequisites or exclusions. The agent must infer format selection from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
percollate_download_htmlC
Download one or more web pages as a self-contained HTML file. Use the 'inline' option to embed images as base64.
| Name | Required | Description | Default |
|---|---|---|---|
| css | No | Additional CSS to override styles. | |
| toc | No | Generate a table of contents. | |
| urls | Yes | One or more URLs to convert. | |
| wait | No | Seconds to wait between processing URLs (sequential mode). | |
| cover | No | Generate a cover page. | |
| debug | No | Print detailed debug info. | |
| style | No | Path to a custom CSS stylesheet. | |
| title | No | Title for the bundle. | |
| author | No | Author for the bundle. | |
| inline | No | Embed images inline as base64 data URLs. | |
| no_amp | No | Don't prefer the AMP version of the page. | |
| output | No | Output file path (absolute or relative). If it ends with / or has no extension, treated as a directory and a filename is auto-generated. Directories are created automatically. | |
| template | No | Path to a custom HTML template (nunjucks). Applies to pdf, html, md. | |
| hyphenate | No | Enable hyphenation. Default: true for pdf, false otherwise. | |
| toc_level | No | Heading depth for ToC (1–6). Values >1 imply --toc. | |
| individual | No | Export each URL as a separate file instead of bundling. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses little. 'Self-contained HTML file' hints at output form, but it doesn't say the file is written to disk, where it lands, whether processing is sequential or parallel, or what happens with multiple URLs. These are material behaviors an agent must know before invoking.
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?
Two sentences, front-loaded with the core action, no padding. The second sentence is borderline redundant against the schema, which keeps it just short of a 5.
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?
This is a 16-parameter tool with no annotations and no output schema, and the description addresses only the required 'urls' concept and one boolean. Bundling vs 'individual' export, the directory-vs-file semantics of 'output', and the parent/child CLI context are all left unexplained by the description.
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 description coverage is 100% across all 16 parameters, so the baseline is 3. The description's note about the 'inline' option merely restates the schema's own text ('Embed images inline as base64 data URLs') and adds no new syntax, defaults, or interactions for the other 15 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 gives a clear verb and resource — download web pages as a self-contained HTML file — and the 'HTML' qualifier implicitly separates it from the pdf/epub/md siblings. It doesn't explicitly name or contrast those alternatives, but the format-specific naming makes the distinction readable.
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?
No guidance on when to choose HTML over the pdf, epub, or md siblings, and no mention of prerequisites (network access, sequential vs individual mode). The only usage hint is about the 'inline' option, which is an option, not a selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
percollate_download_mdC
Download one or more web pages as a Markdown file. Produces clean, readable Markdown from web articles.
| Name | Required | Description | Default |
|---|---|---|---|
| css | No | Additional CSS to override styles. | |
| toc | No | Generate a table of contents. | |
| urls | Yes | One or more URLs to convert. | |
| wait | No | Seconds to wait between processing URLs (sequential mode). | |
| cover | No | Generate a cover page. | |
| debug | No | Print detailed debug info. | |
| style | No | Path to a custom CSS stylesheet. | |
| title | No | Title for the bundle. | |
| author | No | Author for the bundle. | |
| inline | No | Embed images inline as base64 data URLs. | |
| no_amp | No | Don't prefer the AMP version of the page. | |
| output | No | Output file path (absolute or relative). If it ends with / or has no extension, treated as a directory and a filename is auto-generated. Directories are created automatically. | |
| template | No | Path to a custom HTML template (nunjucks). Applies to pdf, html, md. | |
| hyphenate | No | Enable hyphenation. Default: true for pdf, false otherwise. | |
| toc_level | No | Heading depth for ToC (1–6). Values >1 imply --toc. | |
| individual | No | Export each URL as a separate file instead of bundling. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It says 'produces clean, readable Markdown' but doesn't disclose whether it requires network access, whether it overwrites files, whether it blocks, or what happens with multiple URLs. For a write/mutation tool with zero annotation coverage, this is insufficient.
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?
Two short sentences, front-loaded with the action and resource. The second sentence is somewhat redundant but adds the 'clean, readable' quality claim. No waste beyond that.
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?
For a 16-parameter tool with no annotations and no output schema, the description is far too thin. It doesn't cover behavior, edge cases, output location, or differences from siblings. The schema alone doesn't instruct the agent on safe or correct usage.
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 description coverage is 100%, so the schema already documents all 16 parameters. The description adds nothing about parameters, which is acceptable given the baseline, but it also fails to mention any parameter defaults or interactions. Score is the baseline 3.
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 states a clear verb (Download), resource (web pages), and output format (Markdown file). However, it does not distinguish itself from siblings percollate_download_pdf, percollate_download_epub, or percollate_download_html; the only differentiation is the output format, which is already encoded in the tool name. No sibling is named, so it falls short of a 5.
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 gives no when-to-use guidance, no prerequisites, and no alternatives. It doesn't say when to choose this tool over the PDF/EPUB/HTML variants. With four sibling download tools, this is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
percollate_download_pdfC
Download one or more web pages as a beautifully formatted PDF file. Supports bundling multiple URLs into a single document with cover page and ToC.
| Name | Required | Description | Default |
|---|---|---|---|
| css | No | Additional CSS to override styles. | |
| toc | No | Generate a table of contents. | |
| urls | Yes | One or more URLs to convert. | |
| wait | No | Seconds to wait between processing URLs (sequential mode). | |
| cover | No | Generate a cover page. | |
| debug | No | Print detailed debug info. | |
| style | No | Path to a custom CSS stylesheet. | |
| title | No | Title for the bundle. | |
| author | No | Author for the bundle. | |
| inline | No | Embed images inline as base64 data URLs. | |
| no_amp | No | Don't prefer the AMP version of the page. | |
| output | No | Output file path (absolute or relative). If it ends with / or has no extension, treated as a directory and a filename is auto-generated. Directories are created automatically. | |
| template | No | Path to a custom HTML template (nunjucks). Applies to pdf, html, md. | |
| hyphenate | No | Enable hyphenation. Default: true for pdf, false otherwise. | |
| toc_level | No | Heading depth for ToC (1–6). Values >1 imply --toc. | |
| individual | No | Export each URL as a separate file instead of bundling. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies downloading and file creation but does not disclose side effects, output file behavior, network/auth requirements, error handling, or rate/sequential-processing implications despite the tool writing a file to disk.
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 front-loaded sentences with no wasted text. The core operation comes first, and the second sentence efficiently adds the bundling/cover/ToC capability.
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?
This is a complex tool with 16 parameters, no annotations, and no output schema. The description omits important invocation context such as output path behavior, individual vs bundled mode, and what the tool returns or writes, leaving too much to the schema alone.
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 description coverage is 100%, so the schema already documents all 16 parameters. The description only mentions bundling, cover page, and ToC, which overlaps with existing schema descriptions and adds no new syntax or meaning beyond them.
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 states a specific verb and resource: 'Download one or more web pages as a ... PDF file.' It clearly distinguishes the PDF output format from the epub/html/md siblings, though it does not explicitly name those alternatives or spell out when to choose PDF over them.
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?
There is no explicit when-to-use guidance, no conditions for selecting this tool over the sibling format tools (epub, html, md), and no prerequisites or exclusions. The description merely states a capability rather than routing the agent among alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
percollate_read_mdA
Read a web page as Markdown. Fetches the page, converts to clean Markdown, caches the result locally, and returns the full Markdown content. Subsequent calls for the same URL return the cached version instantly. Ideal for consuming web content directly in conversation.
| Name | Required | Description | Default |
|---|---|---|---|
| css | No | Additional CSS to override styles. | |
| url | Yes | The URL of the web page to read as Markdown. | |
| wait | No | Seconds to wait between processing URLs (sequential mode). | |
| debug | No | Print detailed debug info. | |
| style | No | Path to a custom CSS stylesheet. | |
| title | No | Title for the document. | |
| author | No | Author for the document. | |
| no_amp | No | Don't prefer the AMP version of the page. | |
| template | No | Path to a custom HTML template (nunjucks). | |
| hyphenate | No | Enable hyphenation. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose a genuinely useful trait: results are cached locally and repeat calls for the same URL return instantly. However, it says nothing about failure modes an agent should anticipate - paywalls, auth walls, JS-rendered pages, cache invalidation, timeouts, or rate limiting.
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 tight sentences, front-loaded with the core action, then the mechanics, then the intended use case. No filler or 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?
There is no output schema, and the description compensates by stating exactly what is returned ('the full Markdown content') plus the caching lifecycle. For a single-required-param read tool with a fully described schema, an agent has what it needs to invoke it correctly.
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 all ten parameters (css, style, template, wait, debug, no_amp, hyphenate, title, author, url) are already documented in the schema. The description adds no parameter-level meaning beyond that, so the baseline of 3 applies.
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?
States a specific verb+resource ('Read a web page as Markdown') and describes the concrete pipeline: fetch, convert, cache, return content. It implicitly separates itself from the percollate_download_* siblings by emphasizing 'returns the full Markdown content' and in-conversation consumption, but it never names a sibling to make the distinction explicit.
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?
'Ideal for consuming web content directly in conversation' hints at when to reach for this over the download_* variants, which is implied usage rather than stated guidance. There is no explicit when-to-use/when-not statement, no mention of the alternative download tools, and no prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.0.7- First observed
percollate_download_epub - First observed
percollate_download_html - First observed
percollate_download_md - First observed
percollate_download_pdf - First observed
percollate_read_md
TDQS
Scored across 5 tools
Each download tool targets a distinct output format, and read_md is separated by its return-content behavior. However, download_md and read_md both produce Markdown, so an agent could momentarily confuse saving a file with reading content, though the descriptions clarify the difference.
All tools use a consistent snake_case naming pattern with the same percollate_ prefix and clear action_format structure. The slight semantic switch from download_* to read_md is still predictable and readable.
Five tools is well-scoped for a web-page conversion server. Each tool maps to a meaningful output or consumption mode without redundant entries.
The set covers the core percollate output formats (PDF, EPUB, HTML, Markdown) plus direct Markdown reading. No obvious lifecycle gaps exist for a stateless conversion/read server.
Maintenance
Related MCP Connectors
MCP server (stdio): fetch web pages as clean readable markdown via the AgentForge API
HTML-to-PDF MCP server — render pixel-faithful PDFs from HTML.
Web and URL utilities over MCP: shorten URLs, screenshot pages, read page metadata, encode URLs.
Search and save to your Purl read-it-later knowledge base from any MCP client.
Related MCP Servers
- AlicenseDqualityDmaintenanceAn MCP server that extracts meaningful content from websites and converts HTML to high-quality Markdown, using Mozilla's Readability engine.15,267 npm8MIT
- AlicenseAqualityCmaintenanceMCP server that converts URLs to clean Markdown/Text for LLM agents.2535 npm5MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that fetches web content and converts it to clean markdown using the Defuddle library, enabling LLMs to read web pages with better extraction than the default fetch server.51 npm7MIT
- AlicenseNot gradedqualityBmaintenanceA Python MCP server that extracts URLs, page content (with browser rendering fallback), and text from images via OCR.1ISC