
Certified, sworn, notarised and apostilled translations: quote, send documents, order, track.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Places an unpaid order for the customer from the same arguments as get_quote plus their name, email and E.164 phone. The response carries signed links: pay_url is our payment page (card, PayPal, Google Pay, Apple Pay) to give the customer, status_url shows the order and collects any missing documents. Links last 48 hours. A customer whose email already has an account receives the links by email instead, and the response says so: tell them to check their inbox. Documents can be sent first with send_document, or uploaded by the customer at the status_url after paying when you create the order from a page count. Pass idempotency_key so a retry never places a second order.
The customer's full name
The customer's email address
The customer's phone number in E.164 format, e.g. +14155552671
Source language code from list_languages, e.g. en-gb
Target language code from list_languages, e.g. es
Anything the translator should know: names to keep, the purpose, formatting wishes.
standard, next_day (+25%) or same_day (+100%)
The currency to quote in; each is its own price sheet. Defaults to GBP.
Pages to translate (a page is up to 250 words). Optional when file_tokens are given: the documents are measured instead, and a quantity can only raise the measured count.
Tokens from send_document for the documents to translate.
Omit for standard; the response lists every option the pair offers with its total.
ISO 3166-1 alpha-2 code of the country the translation is for, e.g. ES for a sworn translation for Spain.
Your own unique key for this order attempt; a retry with the same key within a day returns the order already placed instead of a second one.
ISO 3166-1 alpha-2 code of the customer's country. Outside GB no VAT is charged.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http translayte https://translayte.com/mcp
Places an unpaid order for the customer from the same arguments as get_quote plus their name, email and E.164 phone. The response carries signed links: pay_url is our payment page (card, PayPal, Google Pay, Apple Pay) to give the customer, status_url shows the order and collects any missing documents. Links last 48 hours. A customer whose email already has an account receives the links by email instead, and the response says so: tell them to check their inbox. Documents can be sent first with send_document, or uploaded by the customer at the status_url after paying when you create the order from a page count. Pass idempotency_key so a retry never places a second order.
| Argument | Type | Description |
|---|---|---|
| name* | string | The customer's full name |
| email* | string | The customer's email address |
| notes | string | Anything the translator should know: names to keep, the purpose, formatting wishes. |
| phone* | string | The customer's phone number in E.164 format, e.g. +14155552671 |
| speed | string | standard, next_day (+25%) or same_day (+100%) |
| currency | string | The currency to quote in; each is its own price sheet. Defaults to GBP. |
| quantity | integer | Pages to translate (a page is up to 250 words). Optional when file_tokens are given: the documents are measured instead, and a quantity can only raise the measured count. |
| file_tokens | array | Tokens from send_document for the documents to translate. |
| certification | string | Omit for standard; the response lists every option the pair offers with its total. |
| country_of_use | string | ISO 3166-1 alpha-2 code of the country the translation is for, e.g. ES for a sworn translation for Spain. |
| idempotency_key | string | Your own unique key for this order attempt; a retry with the same key within a day returns the order already placed instead of a second one. |
| source_language* | string | Source language code from list_languages, e.g. en-gb |
| target_language* | string | Target language code from list_languages, e.g. es |
| customer_country | string | ISO 3166-1 alpha-2 code of the customer's country. Outside GB no VAT is charged. |
{
"type": "object",
"required": [
"source_language",
"target_language",
"name",
"email",
"phone"
],
"properties": {
"name": {
"type": "string",
"description": "The customer's full name"
},
"email": {
"type": "string",
"format": "email",
"description": "The customer's email address"
},
"notes": {
"type": "string",
"maxLength": 2000,
"description": "Anything the translator should know: names to keep, the purpose, formatting wishes."
},
"phone": {
"type": "string",
"description": "The customer's phone number in E.164 format, e.g. +14155552671"
},
"speed": {
"enum": [
"standard",
"next_day",
"same_day"
],
"type": "string",
"description": "standard, next_day (+25%) or same_day (+100%)"
},
"currency": {
"enum": [
"GBP",
"EUR",
"USD",
"AUD",
"CAD",
"BRL",
"ZAR"
],
"type": "string",
"description": "The currency to quote in; each is its own price sheet. Defaults to GBP."
},
"quantity": {
"type": "integer",
"maximum": 999,
"minimum": 1,
"description": "Pages to translate (a page is up to 250 words). Optional when file_tokens are given: the documents are measured instead, and a quantity can only raise the measured count."
},
"file_tokens": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tokens from send_document for the documents to translate."
},
"certification": {
"enum": [
"standard",
"sworn",
"statement_of_truth",
"certified_translator_canada",
"naati"
],
"type": "string",
"description": "Omit for standard; the response lists every option the pair offers with its total."
},
"country_of_use": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "ISO 3166-1 alpha-2 code of the country the translation is for, e.g. ES for a sworn translation for Spain."
},
"idempotency_key": {
"type": "string",
"maxLength": 64,
"description": "Your own unique key for this order attempt; a retry with the same key within a day returns the order already placed instead of a second one."
},
"source_language": {
"type": "string",
"description": "Source language code from list_languages, e.g. en-gb"
},
"target_language": {
"type": "string",
"description": "Target language code from list_languages, e.g. es"
},
"customer_country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "ISO 3166-1 alpha-2 code of the customer's country. Outside GB no VAT is charged."
}
}
}Where each service is available: the languages and certifications of certified translation and the countries whose authorities ask for each; the countries document notarisation and apostille & legalisation are offered for, with their routes, formats and turnaround, and whether each is priced online or quoted. Anywhere else is a quote request through the order form.
No arguments.
{
"type": "object",
"properties": {}
}Where an order stands, from its signed status_url: status, payment, balance due, due date, documents received, the next action (pay, upload_documents, wait) and fresh links. The link is the credential; nothing else identifies an order.
| Argument | Type | Description |
|---|---|---|
| status_url* | string | The status_url returned by create_order or sent to the customer |
{
"type": "object",
"required": [
"status_url"
],
"properties": {
"status_url": {
"type": "string",
"description": "The status_url returned by create_order or sent to the customer"
}
}
}The price of a certified translation for a language pair, page count (or the documents sent with send_document), speed, certification and currency: the same calculator as checkout, with the ex-VAT lines, the VAT and the total, every certification the pair offers with its total, a delivery estimate and the order_url for the website checkout.
| Argument | Type | Description |
|---|---|---|
| speed | string | standard, next_day (+25%) or same_day (+100%) |
| currency | string | The currency to quote in; each is its own price sheet. Defaults to GBP. |
| quantity | integer | Pages to translate (a page is up to 250 words). Optional when file_tokens are given: the documents are measured instead, and a quantity can only raise the measured count. |
| file_tokens | array | Tokens from send_document for the documents to translate. |
| certification | string | Omit for standard; the response lists every option the pair offers with its total. |
| country_of_use | string | ISO 3166-1 alpha-2 code of the country the translation is for, e.g. ES for a sworn translation for Spain. |
| source_language* | string |
ISO 3166-1 alpha-2 country codes for country_of_use (where the translation will be used) and customer_country (where the customer is, which decides VAT), each with whether it is in the Hague Apostille Convention, whether sworn translations are offered for it, and whether document notarisation and apostille are priced online, quoted, or not offered there.
No arguments.
{
"type": "object",
"properties": {}
}The language codes get_quote and create_order accept, each with the country whose sworn translators serve the language.
No arguments.
{
"type": "object",
"properties": {}
}The services sold online with their unit, whether get_quote can price them, their "from" price in every currency (VAT included where it applies), the currencies, speeds and certifications get_quote accepts, the volume discount tiers and what counts as a page.
No arguments.
{
"type": "object",
"properties": {}
}Emails the customer fresh pay and status links for an order placed with their email address. The answer is the same whether or not the order and email match, so it reveals nothing about other people's orders.
| Argument | Type | Description |
|---|---|---|
| email* | string | The email address the order was placed with |
| order_id* | integer | The order number |
{
"type": "object",
"required": [
"email",
"order_id"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"description": "The email address the order was placed with"
},
"order_id": {
"type": "integer",
"minimum": 1,
"description": "The order number"
}
}
}Sends a document to be translated, either from a public https URL or as content_base64 with its filename when you hold the file yourself (PDF, image or Office file, up to 25 MB). It is measured the way the order form measures an upload; the response carries the billable pages and a file_token to pass to get_quote and create_order, valid for 24 hours and one order. If you can do neither, create the order from the customer's page count and they upload the document at the status_url after paying.
| Argument | Type | Description |
|---|---|---|
| url | string | A public https URL of the document, ending in its extension, e.g. https://files.example.com/birth-certificate.pdf. Omit when sending content_base64. |
| filename | string | The document's filename with its extension, e.g. birth-certificate.pdf; required with content_base64. |
| content_base64 | string | The document's bytes encoded as base64, when you hold the file rather than a URL. Send filename with it. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "A public https URL of the document, ending in its extension, e.g. https://files.example.com/birth-certificate.pdf. Omit when sending content_base64."
},
"filename": {
"type": "string",
"maxLength": 255,
"description": "The document's filename with its extension, e.g. birth-certificate.pdf; required with content_base64."
},
"content_base64": {
"type": "string",
"description": "The document's bytes encoded as base64, when you hold the file rather than a URL. Send filename with it."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 1, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.
| Source language code from list_languages, e.g. en-gb |
| target_language* | string | Target language code from list_languages, e.g. es |
| customer_country | string | ISO 3166-1 alpha-2 code of the customer's country. Outside GB no VAT is charged. |
{
"type": "object",
"required": [
"source_language",
"target_language"
],
"properties": {
"speed": {
"enum": [
"standard",
"next_day",
"same_day"
],
"type": "string",
"description": "standard, next_day (+25%) or same_day (+100%)"
},
"currency": {
"enum": [
"GBP",
"EUR",
"USD",
"AUD",
"CAD",
"BRL",
"ZAR"
],
"type": "string",
"description": "The currency to quote in; each is its own price sheet. Defaults to GBP."
},
"quantity": {
"type": "integer",
"maximum": 999,
"minimum": 1,
"description": "Pages to translate (a page is up to 250 words). Optional when file_tokens are given: the documents are measured instead, and a quantity can only raise the measured count."
},
"file_tokens": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tokens from send_document for the documents to translate."
},
"certification": {
"enum": [
"standard",
"sworn",
"statement_of_truth",
"certified_translator_canada",
"naati"
],
"type": "string",
"description": "Omit for standard; the response lists every option the pair offers with its total."
},
"country_of_use": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "ISO 3166-1 alpha-2 code of the country the translation is for, e.g. ES for a sworn translation for Spain."
},
"source_language": {
"type": "string",
"description": "Source language code from list_languages, e.g. en-gb"
},
"target_language": {
"type": "string",
"description": "Target language code from list_languages, e.g. es"
},
"customer_country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "ISO 3166-1 alpha-2 code of the customer's country. Outside GB no VAT is charged."
}
}
}