Repository avatar
Other Tools
v0.1.3
active

pagetranslate-mcp

io.github.catorch/pagetranslate-mcp

Translate PDF, scanned PDF, DOCX and EPUB files into 70+ languages with the layout kept.

Documentation

PageTranslate MCP server: a PDF translator and document translator for AI agents

npm package Pi package Agent skills skills.sh PageTranslate MCP server on Glama License: MIT

Ask your agent to translate a PDF and you usually get the words back in a chat window. The pages, tables, footnotes and images are gone, and a scanned PDF may not be readable at all.

PageTranslate MCP gives the agent a document translator. It sends the file to PageTranslate, which translates the whole document into any of 70+ languages and rebuilds it in the original layout. A PDF comes back as a PDF, a DOCX as a DOCX, an EPUB as an EPUB.

You say "translate contract.pdf into German", approve the price, and the German PDF is saved next to the original.

  • Files: PDF, scanned PDF, DOCX, EPUB, and images (PNG, JPG, WEBP, TIFF, BMP, GIF). Up to 100 MB and 1,000 PDF pages.
  • Scans and photos are read with OCR, then translated onto the page. See how to translate a scanned PDF.
  • Whole books: a 150,000-word novel is one upload, not 300 chat messages. It works the same way as the EPUB translator on the site.
  • The price comes first. Uploading is free and returns the exact price. The agent cannot spend money: you pay in your browser, or the job runs on words you already bought.

The package ships an MCP server and four Agent Skills, for Claude Code, Claude Desktop, Cursor, Codex, Gemini CLI, Pi, Hermes, OpenClaw and other agents. From the makers of pagetranslate.ai.

Set up

  1. Create a free account at pagetranslate.ai, verify your email, and create an API key under Dashboard → API Keys.
  2. Add the server to your client. It needs Node.js 20 or newer.

Claude Code

claude mcp add pagetranslate -e PAGETRANSLATE_API_KEY=pt_live_YOUR_KEY -- npx -y pagetranslate-mcp

Or install it as a plugin, which adds the skills too:

/plugin marketplace add Caravaca-Labs/pagetranslate-mcp
/plugin install pagetranslate@pagetranslate

Codex

codex mcp add pagetranslate --env PAGETRANSLATE_API_KEY=pt_live_YOUR_KEY -- npx -y pagetranslate-mcp

Gemini CLI

gemini mcp add pagetranslate npx -e PAGETRANSLATE_API_KEY=pt_live_YOUR_KEY -- -y pagetranslate-mcp

Claude Desktop, Cursor, VS Code, Windsurf, Cline and other clients take this block in their MCP settings file:

{
  "mcpServers": {
    "pagetranslate": {
      "command": "npx",
      "args": ["-y", "pagetranslate-mcp"],
      "env": { "PAGETRANSLATE_API_KEY": "pt_live_YOUR_KEY" }
    }
  }
}

Claude Desktop, without a config file: download pagetranslate.mcpb and open it. Claude Desktop asks for your API key and installs the server.

Then ask: "Translate /Users/me/Documents/manual.pdf into Spanish."

Use it from Claude, ChatGPT or Grok

Chat assistants cannot start a local server, so PageTranslate hosts one. Add its address as a custom connector and sign in with your PageTranslate account when the assistant asks. There is nothing to install and no API key to copy.

https://pagetranslate.ai/mcp
  • Claude: Settings → Customize → Connectors → Add → Add custom connector.
  • Grok: Settings → Connect Apps → Add a custom connector.
  • ChatGPT: use https://pagetranslate.ai/mcp/chatgpt. It also takes a file attached in the chat, and it only starts translations that your account's word balance already covers.

An assistant cannot read a file on your computer. Give it a public link to the document, or upload the file on pagetranslate.ai and ask the assistant to find it. It tells you the word count and the exact price. If your word balance covers the document, it starts the translation when you agree; if not, it gives you a payment link. When the file is ready it returns a download link that works for one hour.

What a translation costs

8¢ per 1,000 words, with a $3.99 minimum per document. A 20,000-word report is $3.99; an 80,000-word novel is $6.40. The Pro plan is $10 a month for 500,000 words. The site explains how much it costs to translate a book and has a translation cost calculator.

upload_document is free and returns the exact price for that file. If your account's word balance covers it, the agent can start it. If not, the agent gives you a payment link, you pay by card on pagetranslate.ai, and the translation starts by itself.

Tools

ToolWhat it does
upload_documentUploads a local file and returns the job id, word count, exact price and next step. Free.
start_translationStarts a job from the account's word balance. Without a balance it charges nothing and returns the payment link.
get_translationStatus, progress and payment state of one job.
list_translationsRecent jobs on the account.
download_translationSaves the finished file to a folder. Never overwrites an existing file.

Agent skills

Four Agent Skills ship in skills/ and inside the npm package. Each teaches an agent the whole flow for one kind of file: ask for the target language, show the price, wait for payment, poll, download. They use the MCP tools when those are installed and plain curl when they are not, so they also work in agents that have no MCP support.

SkillUse it forOnline version
pagetranslate-pdf-translatorPDFs, with the layout keptPDF translator
pagetranslate-scanned-pdf-translatorScanned PDFs and photos of pagesHow to translate a scanned PDF
pagetranslate-book-translatorEPUBs, novels and manuscriptsTranslate a book
pagetranslate-document-translatorWord documents and business filesDocument translation software

Claude Code, Cursor, Codex and other skills.sh agents install them from GitHub:

npx skills add Caravaca-Labs/pagetranslate-mcp --skill '*' --yes

Pi loads them straight from npm:

pi install npm:pagetranslate-mcp

Hermes installs one skill at a time from the repository:

hermes skills install Caravaca-Labs/pagetranslate-mcp/skills/pagetranslate-pdf-translator

OpenClaw installs them from ClawHub:

clawhub install pagetranslate-pdf-translator

Each skill's frontmatter carries openclaw and hermes metadata (the curl binary, the PAGETRANSLATE_API_KEY variable, tags) next to the standard fields.

Online versions

Prefer a browser?

Guides and free tools:

Registries

The server is published as io.github.catorch/pagetranslate-mcp in the official MCP Registry and on npm as pagetranslate-mcp. The skills are on skills.sh and, for OpenClaw, on ClawHub. Glama builds and scores the server. The registry entry also lists the hosted server, https://pagetranslate.ai/mcp.

Pi also has a PageTranslate package page. The four OpenClaw listings are PDF, scanned PDF, books, and documents.

Other integrations

For workflows outside an MCP client, use the RapidAPI listing or the remixable Replit document translator. Both use your own PageTranslate API key. The Replit demo runs on time-limited free hosting. Native connector source and current publication status are in PageTranslate integrations.

Configuration

VariableRequiredMeaning
PAGETRANSLATE_API_KEYyesYour key, pt_live_....
PAGETRANSLATE_API_URLnoAPI origin. Default https://api.pagetranslate.ai.

Privacy

The server runs on your computer. It reads only the file you name and writes only the file you download. Your API key and documents go to PageTranslate's API over HTTPS, under your own account, and nowhere else. There is no telemetry. What PageTranslate does with uploaded documents is in its privacy policy.

Support

Problems with this server: open an issue. Questions about a translation, a payment or your account: pagetranslate.ai/contact.

Development

npm install
PAGETRANSLATE_API_KEY=pt_live_... E2E_EXPECT=payment npm test

npm test runs test/e2e.mjs: a real MCP client drives the server over stdio against the real API and writes every tool call to test-artifacts/<time>/transcript.json. E2E_EXPECT=payment is for an account with no word balance: the job must stop at a payment link, so nothing is charged. E2E_EXPECT=completed is for an account whose balance covers the 56-word sample: it must translate, download, and match the API's file byte for byte.

The four skills are generated from scripts/build-skills.mjs; edit that file, not the SKILL.md files. npm version <patch|minor> rebuilds them and updates the version in every manifest. node scripts/build-mcpb.mjs builds the Claude Desktop bundle from the published npm package.

License

MIT