PrintFriendly MCP Server for Developers
Looking for the ChatGPT or Claude connector?
The Server
It is a standard MCP server over Streamable HTTP, at this address:
https://mcp.printfriendly.comThe first address the server shipped at, https://www.printfriendly.com/v2/mcp, is an alias for it and keeps working, so a config that already uses it needs no change.
Every request carries your API key, in one of two headers. There is no sign-in screen and no anonymous use.
Authorization: Bearer YOUR_API_KEY
# or
X-API-Key: YOUR_API_KEYOpening the address in a browser, or with curl, shows a short description of the server and these same install commands.
Get a Free API Key
Sign in and open your API key page. The free plan includes 100 documents a month, which is enough to try everything here. Paid plans raise the limit; they are on the API pricing page.
Replace YOUR_API_KEY in each command below with your key. Keep it out of version control: use your tool's secret or environment-variable support where it has one.
Add It to Your Tool
Claude Code
claude mcp add --transport http printfriendly https://mcp.printfriendly.com --header "Authorization: Bearer YOUR_API_KEY"Cursor
Add PrintFriendly to Cursor opens Cursor and adds the server. It arrives with YOUR_API_KEY as a placeholder, so open Cursor's MCP settings afterwards and paste in your key. Or add it by hand to .cursor/mcp.json:
{
"mcpServers": {
"printfriendly": {
"url": "https://mcp.printfriendly.com",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}VS Code
code --add-mcp '{"name":"printfriendly","type":"http","url":"https://mcp.printfriendly.com","headers":{"Authorization":"Bearer YOUR_API_KEY"}}'Any other client
Most MCP clients read a block like this from a settings file. The exact file name and the name of the outer key vary by client; the server entry itself is the same.
{
"mcpServers": {
"printfriendly": {
"type": "http",
"url": "https://mcp.printfriendly.com",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}The Tools
read_page
Reads a web page and returns its main content as clean Markdown, with the ads, navigation, pop-ups and comments taken out. It also returns the title, site, author, date, a short excerpt, the lead image and a word count. Use it whenever the agent needs to read, quote or summarise a page. It takes less of your context window than raw HTML.
url(required): the full address of the page.include_links(optional): link addresses are left out of the Markdown by default, because they can make up most of a long page. Set it to true when the agent needs the URLs.max_chars(optional): the most Markdown to return, 60,000 characters by default and up to 400,000. A longer page is cut at a paragraph or heading and the result says so, with the full length; call again with a larger value to read more. Each call counts as a document.
create_document
Makes a document and hands it back. Use it when the user wants to save, share, print or download something. Give it a web page address, HTML or Markdown, and say which format you want.
url,htmlormarkdown(exactly one): what to turn into a document.output(required):pdf,docx,markdown,htmlorjson.title(for HTML or Markdown input),page_size(letterora4) andinclude_links(keep link addresses in Markdown and JSON output; off by default). All three are optional.
For pdf and docx you get a download link that works for 48 hours, with the file size and the time it expires. For markdown and html you get the content itself, and json returns the content together with its title, author, date and word count. Unlike read_page, they are never cut short, however long the page.
Common Questions
What counts toward my limit?#
Each successful call to either tool counts as one document on your key's plan, the same as a document made through the REST API. A call that fails does not count, and neither do the connection steps your tool makes before it calls anything.
What happens when I reach the free limit?#
The tool answers with an error that says the free plan is used up and links to the upgrade page, so your agent can tell you why it stopped. The count starts again on the first of the month.
What am I allowed to use it for?#
Use of the API and the MCP server is governed by the Acceptable Use Policy, and keys used in breach of it are revoked.
How fast can I call it?#
Free keys can make 10 tool calls a minute and paid keys 120, the same limits as the REST API. Past that the tool answers with an error that says how many seconds to wait.
Can it read pages behind a login?#
No. PrintFriendly fetches the public version of a page, so a page behind a login or a paywall, or on a site that blocks automated visitors, can come back empty or partial. Pass the page's HTML to create_document yourself if you already have it.
Something else? Contact support and include the tool you are using and what the error said.