PageTranslate MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PAGETRANSLATE_API_KEY | Yes | Your PageTranslate API key, in the form `pt_live_...`. | |
| PAGETRANSLATE_API_URL | No | API origin. Default `https://api.pagetranslate.ai`. | https://api.pagetranslate.ai |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
PageTranslate (https://pagetranslate.ai) translates whole documents (PDF, scanned PDF, DOCX, EPUB, images) into 70+ languages and returns a file with the original layout. Flow: upload_document (free, returns the exact price) -> the user pays at payment_url, or start_translation when the account balance covers it -> get_translation until status is completed -> download_translation. Never claim a translation is running before payment_status is paid.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| upload_documentA | Upload a local PDF (text or scanned), DOCX, EPUB or image (PNG, JPG, WEBP, TIFF, BMP, GIF) to PageTranslate and get the exact price to translate it. Uploading is free and does not start or charge anything. Returns job_id, word count, price and what to do next. Max 100 MB and 1,000 PDF pages; uploads are rate limited per account. |
| start_translationA | Start the translation of an uploaded job using the account's word balance (Pro plan words or credits). If the balance does not cover it, nothing is charged and the response carries a payment_url for the user to pay by card; translation then starts by itself. |
| get_translationB | Get the status, progress, price and payment state of one translation job, and what to do next. |
| list_translationsA | List the account's recent translation jobs, newest first, with status and price. |
| download_translationA | Save the translated file of a completed job to this computer. It has the same format as the source (PDF, DOCX, EPUB or image). Never overwrites an existing file. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool maps to a distinct step in a single linear workflow: upload, quote/inspect status, start/pay, list, and download. The pairs that could overlap (get_translation vs list_translations) are clearly separated by singular-job status versus account-wide listing, and download_translation only applies to completed jobs.
All names follow a consistent snake_case verb_noun pattern (download/upload/start/get/list + noun). The only minor deviation is the noun choice: four tools use 'translation' while upload_document uses 'document', which is semantically justified but breaks the single-resource naming rhythm.
Five tools is exactly the size of the domain: one per workflow stage, with no redundant or filler operations. Nothing feels thin or padded for a file-translation service.
The full lifecycle is covered: upload with pricing, start with payment fallback, status polling, history listing, and result download. The notable gap is the absence of cancel or delete operations for jobs, so an agent cannot abort a running translation or clean up uploaded files.