Skip to main content
Glama
ljbred08

percollate-mcp

by ljbred08

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

percollate_download_pdf

PDF

percollate_download_epub

EPUB e-book

percollate_download_html

HTML file

percollate_download_md

Markdown file

Parameters:

  • urls (required) — Array of URLs to convert

  • output — Output file path

  • title — Document title

  • author — Document author

  • css — Additional CSS overrides

  • style — Custom CSS stylesheet path

  • template — Custom HTML template path

  • hyphenate — Enable hyphenation

  • individual — Export each URL as a separate file

  • wait — Seconds between processing URLs

  • no_amp — Don't prefer AMP versions

  • cover — Generate a cover page

  • toc — Generate a table of contents

  • toc_level — Heading depth for ToC (1–6)

  • inline — Embed images as base64

  • debug — 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 read

  • title, 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 tools
percollate_download_epubC

Download one or more web pages as an EPUB e-book. Supports bundling multiple URLs with cover page and ToC.

ParametersJSON Schema
NameRequiredDescriptionDefault
cssNoAdditional CSS to override styles.
tocNoGenerate a table of contents.
urlsYesOne or more URLs to convert.
waitNoSeconds to wait between processing URLs (sequential mode).
coverNoGenerate a cover page.
debugNoPrint detailed debug info.
styleNoPath to a custom CSS stylesheet.
titleNoTitle for the bundle.
authorNoAuthor for the bundle.
inlineNoEmbed images inline as base64 data URLs.
no_ampNoDon't prefer the AMP version of the page.
outputNoOutput 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.
templateNoPath to a custom HTML template (nunjucks). Applies to pdf, html, md.
hyphenateNoEnable hyphenation. Default: true for pdf, false otherwise.
toc_levelNoHeading depth for ToC (1–6). Values >1 imply --toc.
individualNoExport each URL as a separate file instead of bundling.

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cssNoAdditional CSS to override styles.
tocNoGenerate a table of contents.
urlsYesOne or more URLs to convert.
waitNoSeconds to wait between processing URLs (sequential mode).
coverNoGenerate a cover page.
debugNoPrint detailed debug info.
styleNoPath to a custom CSS stylesheet.
titleNoTitle for the bundle.
authorNoAuthor for the bundle.
inlineNoEmbed images inline as base64 data URLs.
no_ampNoDon't prefer the AMP version of the page.
outputNoOutput 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.
templateNoPath to a custom HTML template (nunjucks). Applies to pdf, html, md.
hyphenateNoEnable hyphenation. Default: true for pdf, false otherwise.
toc_levelNoHeading depth for ToC (1–6). Values >1 imply --toc.
individualNoExport each URL as a separate file instead of bundling.

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cssNoAdditional CSS to override styles.
tocNoGenerate a table of contents.
urlsYesOne or more URLs to convert.
waitNoSeconds to wait between processing URLs (sequential mode).
coverNoGenerate a cover page.
debugNoPrint detailed debug info.
styleNoPath to a custom CSS stylesheet.
titleNoTitle for the bundle.
authorNoAuthor for the bundle.
inlineNoEmbed images inline as base64 data URLs.
no_ampNoDon't prefer the AMP version of the page.
outputNoOutput 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.
templateNoPath to a custom HTML template (nunjucks). Applies to pdf, html, md.
hyphenateNoEnable hyphenation. Default: true for pdf, false otherwise.
toc_levelNoHeading depth for ToC (1–6). Values >1 imply --toc.
individualNoExport each URL as a separate file instead of bundling.

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cssNoAdditional CSS to override styles.
tocNoGenerate a table of contents.
urlsYesOne or more URLs to convert.
waitNoSeconds to wait between processing URLs (sequential mode).
coverNoGenerate a cover page.
debugNoPrint detailed debug info.
styleNoPath to a custom CSS stylesheet.
titleNoTitle for the bundle.
authorNoAuthor for the bundle.
inlineNoEmbed images inline as base64 data URLs.
no_ampNoDon't prefer the AMP version of the page.
outputNoOutput 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.
templateNoPath to a custom HTML template (nunjucks). Applies to pdf, html, md.
hyphenateNoEnable hyphenation. Default: true for pdf, false otherwise.
toc_levelNoHeading depth for ToC (1–6). Values >1 imply --toc.
individualNoExport each URL as a separate file instead of bundling.

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cssNoAdditional CSS to override styles.
urlYesThe URL of the web page to read as Markdown.
waitNoSeconds to wait between processing URLs (sequential mode).
debugNoPrint detailed debug info.
styleNoPath to a custom CSS stylesheet.
titleNoTitle for the document.
authorNoAuthor for the document.
no_ampNoDon't prefer the AMP version of the page.
templateNoPath to a custom HTML template (nunjucks).
hyphenateNoEnable hyphenation.

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

  1. 5 tool updatesv1.0.7
    • First observedpercollate_download_epub
    • First observedpercollate_download_html
    • First observedpercollate_download_md
    • First observedpercollate_download_pdf
    • First observedpercollate_read_md

TDQS

A3.5/5.0

Scored across 5 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

Five tools is well-scoped for a web-page conversion server. Each tool maps to a meaningful output or consumption mode without redundant entries.

Completeness5/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers