About PrintFriendly
PrintFriendly is an MCP server for AI editors and agents that extracts clean Markdown from public web pages and converts pages, HTML, or Markdown into documents. It supports multiple output formats and authenticates with an API key.
Key features
- 01Extract clean Markdown from public pages
- 02Convert pages, HTML, or Markdown
- 03Export PDF, Word, Markdown, HTML, or JSON
- 04Return temporary download links for PDF and Word
Use cases
- 01Summarize an article without page clutter
- 02Review documentation while retaining links
- 03Save a web page as a PDF or Word file
MCP support
The server exposes `read_page` and `create_document` tools to MCP clients over HTTP. Requests use an API key.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mcp.printfriendly.comclaude mcp add --transport http com-printfriendly-printfriendly https://mcp.printfriendly.com{"mcpServers":{"com-printfriendly-printfriendly":{"type":"http","url":"https://mcp.printfriendly.com"}}}Open in Cursor{"servers":{"com-printfriendly-printfriendly":{"type":"http","url":"https://mcp.printfriendly.com"}}}Open in VS Code{"mcpServers":{"com-printfriendly-printfriendly":{"type":"http","url":"https://mcp.printfriendly.com"}}}{"mcpServers":{"com-printfriendly-printfriendly":{"serverUrl":"https://mcp.printfriendly.com"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://mcp.printfriendly.comAuth requiredTools
Details
From the project READMEPrintFriendly for AI editors
PrintFriendly's MCP server lets your AI editor or agent read any public web page as clean Markdown, without the ads, navigation and pop-ups, and turn a page, HTML or Markdown into a PDF, Word, Markdown, HTML or JSON document. It works with Cursor, Claude Code, VS Code, Gemini CLI, Windsurf, Cline and any other client that speaks MCP over HTTP. The server runs at https://mcp.printfriendly.com, and you only need an API key.
Get a free key
Create a key at printfriendly.com/me/api-key. The free plan includes 100 documents a month.
Wherever you see YOUR_API_KEY below, put your key there. The server accepts it as Authorization: Bearer YOUR_API_KEY or as X-API-Key: YOUR_API_KEY.
Install
Cursor
The button opens Cursor and adds the server with YOUR_API_KEY as a placeholder. Open Cursor Settings, go to MCP, and replace the placeholder with your key. If the button does not open Cursor, paste this link into your browser instead:
cursor://anysphere.cursor-deeplink/mcp/install?name=printfriendly&config=eyJ1cmwiOiJodHRwczovL21jcC5wcmludGZyaWVuZGx5LmNvbSIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciBZT1VSX0FQSV9LRVkifX0%3D
Or add it by hand to .cursor/mcp.json (or ~/.cursor/mcp.json for every project):
{
"mcpServers": {
"printfriendly": {
"url": "https://mcp.printfriendly.com",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Keep a real key out of version control. In a file you commit, use "Bearer ${env:PRINTFRIENDLY_API_KEY}" and set that environment variable.
This repository is also a Cursor plugin: .cursor-plugin/plugin.json declares a PRINTFRIENDLY_API_KEY variable and mcp.json uses it.
VS Code
Each button opens VS Code and adds the server with YOUR_API_KEY as a placeholder. Run MCP: List Servers, choose PrintFriendly, open its configuration and replace the placeholder with your key.
Or install from a terminal:
code --add-mcp '{"name":"printfriendly","type":"http","url":"https://mcp.printfriendly.com","headers":{"Authorization":"Bearer YOUR_API_KEY"}}'
To keep the key out of the file, put this in .vscode/mcp.json. VS Code prompts for the key the first time the server starts.
{
"inputs": [
{
"type": "promptString",
"id": "printfriendly-api-key",
"description": "PrintFriendly API key",
"password": true
}
],
"servers": {
"printfriendly": {
"type": "http",
"url": "https://mcp.printfriendly.com",
"headers": {
"Authorization": "Bearer ${input:printfriendly-api-key}"
}
}
}
}
Claude Code
claude mcp add --transport http printfriendly https://mcp.printfriendly.com --header "Authorization: Bearer YOUR_API_KEY"
Add --scope user to make it available in every project. Run /mcp inside Claude Code to check the connection: a wrong key shows up there as a 401.
To share the server with a team through a .mcp.json file in the project, reference an environment variable instead of the key:
{
"mcpServers": {
"printfriendly": {
"type": "http",
"url": "https://mcp.printfriendly.com",
"headers": {
"Authorization": "Bearer ${PRINTFRIENDLY_API_KEY}"
}
}
}
}
Gemini CLI
Install the extension. Gemini CLI asks for your API key and keeps it out of your project files:
gemini extensions install https://github.com/printfriendly/printfriendly-mcp
Change the key later with gemini extensions config printfriendly.
Or add the server without the extension:
gemini mcp add --transport http printfriendly https://mcp.printfriendly.com --header "Authorization: Bearer YOUR_API_KEY"
That writes to .gemini/settings.json for the current project. Add --scope user to write to ~/.gemini/settings.json instead. You can also edit the file by hand. Gemini CLI expands $PRINTFRIENDLY_API_KEY in headers, so the key can stay in your shell environment:
{
"mcpServers": {
"printfriendly": {
"httpUrl": "https://mcp.printfriendly.com",
"headers": {
"Authorization": "Bearer $PRINTFRIENDLY_API_KEY"
}
}
}
}
This repository is also a Gemini CLI extension: gemini-extension.json declares the server and a PRINTFRIENDLY_API_KEY setting, and GEMINI.md gives Gemini short notes on when to use each tool.
Windsurf
In the Cascade panel, open the Actions menu, choose Open MCP config file, and add the block below. Windsurf uses serverUrl where most clients use url, and it reads environment variables written as ${env:NAME}, so the key can stay out of the file:
{
"mcpServers": {
"printfriendly": {
"serverUrl": "https://mcp.printfriendly.com",
"headers": {
"Authorization": "Bearer ${env:PRINTFRIENDLY_API_KEY}"
}
}
}
}
Or write the key straight into the file by using "Bearer YOUR_API_KEY" instead.
Cline
Cline reads remote servers from cline_mcp_settings.json. To open it, click the MCP Servers icon at the top of the Cline panel, open the Configure tab and click Configure MCP Servers. Cline needs "type": "streamableHttp" for this server; without a type it assumes the older SSE transport.
{
"mcpServers": {
"printfriendly": {
"type": "streamableHttp",
"url": "https://mcp.printfriendly.com",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
},
"disabled": false
}
}
}
You can also give Cline the instructions in llms-install.md and ask it to set the server up for you.
Any other client
Most MCP clients read a block like this from a settings file. The file name and the outer key vary by client, but the server entry is the same.
{
"mcpServers": {
"printfriendly": {
"type": "http",
"url": "https://mcp.printfriendly.com",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Tools
read_page
Reads a web page and returns its main content as clean Markdown, plus the title, author, date and word count. Link addresses are left out unless you ask for them, and a very long page is cut at a paragraph and says so.
- "Read https://example.com/some-article and give me the three main points."
- "Read this documentation page and keep the links, then list every API endpoint it mentions."
create_document
Makes a document from a web page address, HTML or Markdown. Choose pdf, docx, markdown, html or json. PDF and Word results come back as a download link that works for 48 hours.
- "Make a PDF of https://example.com/recipe on A4 paper."
- "Turn this page into a Word document: https://example.com/report"
- "Save this Markdown as a PDF titled Meeting notes."
Limits
The free plan includes 100 documents a month. Each successful call to either tool counts as one document, and failed calls do not. The server reads public pages only, so a page behind a login or a paywall can come back empty. Paid plans with more documents are at printfriendly.com/api.
Links
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.