Skip to main content
Glama
printfriendly

PrintFriendly MCP Server

Official

PrintFriendly 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.

Related MCP server: urltomarkdown-mcp

Install

Cursor

Add PrintFriendly to 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

Install in VS Code Install in VS Code Insiders

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.

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.

Related MCP Connectors

Related MCP Servers