Samedoc: Translate PDF & PDF to Word
Server Details
Translate PDFs and scans into another language in the same layout, every number kept. PDF to Word.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
The two core actions, convert_to_word and translate_document, are clearly differentiated by outcome and use case, while get_upload_link is a distinct fallback upload path. The only mild ambiguity is get_translation: its name sounds translation-specific, but it also polls convert_to_word jobs, which the description clarifies.
All four names use snake_case with a predictable verb_noun structure (convert_to_word, translate_document, get_translation, get_upload_link). The vocabulary is consistent and readable across the set.
Four tools is well-scoped for a focused document conversion/translation service: two primary actions plus two supporting utilities for async status and upload fallback. Each tool has a clear role and none feels redundant.
The set covers the main lifecycle: initiate translation or conversion, retrieve async results, and provide an upload fallback when file attachment or URL input is unavailable. Minor gaps exist—no job listing, cancellation, or direct download—but the returned links and job ids let agents complete the core workflows.
Available Tools
4 toolsconvert_to_wordConvert a PDF or scan to an editable Word fileAInspect
Turns a PDF or a scanned document / photo of one into an editable Word file (.docx) that looks like the original page: every line of text is editable in place, over the original design (tables, lines, logos, stamps and signatures kept exactly). Same language, no translation. Reads scans and broken PDF text, and keeps Hebrew and Arabic right-to-left. Use when the user says 'convert this PDF to Word / docx', 'make this PDF editable', 'I need to edit this form / scan', or when a Word file made in chat lost the logo, tables or layout. Give the document as file (a file the user attached) or file_url (an https link). Up to 5 pages per document. Takes 20-90 seconds; if it takes longer, returns an id for get_translation.
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | The document the user attached (ChatGPT file). | |
| file_url | No | https link to the PDF or image, when no file is attached. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (readOnlyHint=false, openWorld=true) by disclosing the 5-page cap, the 20–90 second runtime, and the async fallback that returns an id for get_translation if it overruns. Also discloses scan/OCR and RTL (Hebrew/Arabic) handling. Slightly incomplete on failure modes (what happens on a rejected/unreadable file, page-count overage behavior).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the outcome and keeps the trigger-phrase list compact, but the parenthetical fidelity inventory ('tables, lines, logos, stamps and signatures kept exactly') and the runtime/fallback sentence make it longer than strictly necessary. No filler or marketing fluff, though.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the return-value burden itself and does: it names the .docx artifact and its fidelity properties, and explains the id-for-get_translation handoff when processing is slow. Combined with the page limit and format acceptance, an agent has everything needed to call it and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters already carry their own descriptions, so the baseline applies. The description restates the file-vs-file_url choice with a helpful 'or' framing and reiterates the https requirement, but adds no new semantics about the nested file object's required fields (download_url, file_id) or precedence when both are supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource transformation (PDF/scan/photo → editable .docx) and immediately distinguishes itself from the translate_document sibling with 'Same language, no translation.' The output fidelity claim (text editable in place over original tables, lines, logos, stamps, signatures) makes the capability unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit trigger phrases ('convert this PDF to Word', 'make this PDF editable', 'I need to edit this form / scan') plus a non-obvious condition: when a Word file made in chat lost the logo, tables, or layout. It also rules out the translation path by name, so an agent can choose between this and translate_document without opening either schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_translationGet a translation or Word fileARead-onlyInspect
Returns the status and download link of a job started with translate_document or convert_to_word (use its id).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The translation id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, non-destructive, closed-world behavior. The description adds that this retrieves a job's status and download link, but it does not explain status values, polling semantics, link availability, or error behavior; with no output schema, that leaves some behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence states the return values and the id source with no wasteful wording. The parenthetical is compact and useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only retrieval tool, the description covers the input origin and the main return values. It could be richer about status states, but it is sufficient for an agent to select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameter type and description are already supplied. The description adds useful meaning by identifying the id as the job id from translate_document or convert_to_word, not just a generic translation id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Returns'), the exact outputs ('status and download link'), and ties them to jobs created by translate_document or convert_to_word. This clearly separates the tool from its creation siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells the agent the id must come from a job started with translate_document or convert_to_word, which gives clear usage context. It does not explicitly state when not to use it or mention get_upload_link, but the intended sequence is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_upload_linkGet a link to upload a documentARead-onlyInspect
For users whose document can't be handed to translate_document here (no attachment support, no https link): a page where they upload it and get the translated document or Word file.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds useful behavioral context about the destination page and its possible outputs (translated document or Word file). It omits traits an agent would care about, such as whether the link is single-use, expiring, or user-bound.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single sentence with the eligibility condition front-loaded before the outcome, so nothing is buried. The parenthetical precondition is compact rather than wasted, though the sentence's nesting makes it read less cleanly than it could.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, zero-side-effect tool with an empty schema and no output schema, the description supplies the one thing that matters: when this fallback applies and what the user gets. It could go further by saying the tool returns a link/URL that must be surfaced to the user, but the omission is minor given how simple the call is.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so the schema and description fully align and no parameter guidance is needed. The description correctly implies no input is required beyond the invocation itself, matching the empty object schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete outcome: a page where a user uploads a document and receives the translated document or Word file. It distinguishes itself from translate_document by naming the precondition (no attachment support, no https link), though the phrasing 'handed to translate_document here' is slightly awkward and never says explicitly that the tool returns a URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit fallback condition: use this when the document cannot be passed to translate_document because there is no attachment support or no https link. That is clear when-to-use guidance tied to a named sibling. It does not state any when-not cases or note that this requires a human to follow the link, but the routing intent is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
translate_documentTranslate a document and keep its layoutAInspect
Translates a PDF or a scanned document / photo of one into another language and returns the same document as a PDF: layout, tables, logos and every number kept and checked. For payslips, bank statements, official and government letters, birth and marriage certificates, diplomas, school reports, contracts, leases and forms, e.g. for a visa, immigration, a bank or a school. Strong on right-to-left sources (Hebrew, Arabic), which it can also mirror into a left-to-right layout. Use when the user says 'translate this PDF / document / scan', 'keep the formatting / layout', 'give me back the PDF', or when a translation in chat lost the tables or layout. Give the document as file (a file the user attached) or file_url (an https link). Up to 5 pages per document. Takes 30-90 seconds; if it takes longer, returns an id for get_translation.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Target language, e.g. English, Spanish, German. Defaults to English. | |
| file | No | The document the user attached (ChatGPT file). | |
| from | No | Source language. Leave out to detect it. | |
| layout | No | keep = same layout as the original (default); ltr = mirror a right-to-left page (Hebrew, Arabic) into a left-to-right layout. | |
| file_url | No | https link to the PDF or image, when no file is attached. | |
| keep_logos | No | true = don't translate logos and wordmarks. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (destructiveHint=false, openWorldHint=true), the description discloses the real operating constraints: a 5-page-per-document cap, a 30-90 second runtime, and the id/get_translation polling fallback. It also says numbers are kept and checked and that RTL sources can be mirrored, which the annotations cannot convey. It does not say what happens on failure or over-limit documents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and output are front-loaded in the first sentence, followed by use cases, triggers, inputs, and limits in a sensible order. The long enumeration of document types (payslips, bank statements, certificates, diplomas, contracts, leases, forms) is verbose but does real routing work for intent matching.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, yet the description fully specifies the return: the same document as a PDF with layout, tables, logos and numbers preserved, plus the async id path for long runs. Combined with input constraints (5 pages, 30-90 seconds) and the mutation-free annotation profile, an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already defines every parameter including the layout enum and keep_logos. The description only restates the file vs file_url choice ('a file the user attached' or 'an https link') and mentions RTL mirroring, adding marginal meaning rather than new syntax or constraints, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific verb (translates) and resource (PDF/scanned document), and states the output shape (same document returned as PDF with layout preserved). It is clearly distinguishable from siblings: get_translation is named as the async continuation, and convert_to_word is implicitly excluded by the PDF-in/PDF-out framing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit trigger phrases ('translate this PDF / document / scan', 'keep the formatting / layout', 'give me back the PDF') plus a negative condition (when a chat translation lost tables or layout) tell the agent exactly when to route here. It also states the fallback path: if the call exceeds 30-90 seconds, an id is returned for get_translation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
convert_to_word - First observed
get_translation - First observed
get_upload_link - First observed
translate_document
Related MCP Connectors
Translate PDFs, scans, Office files and EPUB across 475 languages and styles, preserving layout.
Translate text PDFs, keep the layout, get bilingual PDFs. MCP: EN/ZH. Website: 92 languages.
Merge, split, compress, OCR and translate PDFs, pull tables into Excel, and edit PDFs and photos.
Edit PDF text in place, fonts and layout kept. Compress, merge, split, convert and translate PDFs.
Related MCP Servers
AlicenseAqualityBmaintenanceTranslate your documents with formatting intact in 2 minutes68 npm1MIT- AlicenseNot gradedqualityCmaintenanceEnables editing text in existing PDFs — replacing, deleting, redacting, inserting, and filling forms — while preserving original fonts and layout, with each change verified before being returned.MIT
- AlicenseAqualityDmaintenanceAn intelligent PDF translation assistant specializing in academic papers with mathematical formulas, enabling context-aware translation with layout preservation.41Apache 2.0
- AlicenseAqualityDmaintenanceAn MCP server that translates scientific PDF documents while preserving original formulas, charts, and layout. It utilizes an OpenAI-compatible backend to provide tools for document translation and language listing.23AGPL 3.0
Glama MCP Gateway
Add one secure layer between your agents and this server.