Translayte MCP
An official MCP server provided by Translayte (BDXL Ltd) that enables AI agents to request certified, sworn, notarised, and apostilled translations. It supports uploading documents, obtaining quotes, placing orders, and tracking status across 150+ languages without requiring an API key.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://translayte.com/mcpWhat you can do with it
- Upload documents for translation
- Request price quotes for translations
- Place orders for certified translations
- Track order status
Source and maintenance
Protocol and capabilities
- Server
- Translayte 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 9 advertised
- Resources
- 0 advertised
- Resource templates
- 0 advertised
- Prompts
- 0 advertised
{
"tools": {
"listChanged": false
},
"prompts": {
"listChanged": false
},
"resources": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
9 advertised
list_services — List services
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.
{
"type": "object",
"properties": {}
}{
"readOnlyHint": true
}list_languages — List languages
The language codes get_quote and create_order accept, each with the country whose sworn translators serve the language.
{
"type": "object",
"properties": {}
}{
"readOnlyHint": true
}list_countries — List countries
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.
{
"type": "object",
"properties": {}
}{
"readOnlyHint": true
}get_coverage — Service coverage
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.
{
"type": "object",
"properties": {}
}{
"readOnlyHint": true
}send_document — Send a document
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.
{
"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."
}
}
}{
"openWorldHint": true
}get_quote — Get a quote
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.
{
"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."
}
}
}{
"readOnlyHint": true
}create_order — Create an unpaid order
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.
{
"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."
}
}
}{
"openWorldHint": true
}get_order_status — Order status
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.
{
"type": "object",
"required": [
"status_url"
],
"properties": {
"status_url": {
"type": "string",
"description": "The status_url returned by create_order or sent to the customer"
}
}
}{
"readOnlyHint": true
}recover_order_links — Recover order links
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.
{
"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"
}
}
}{
"idempotentHint": true
}Prompts
0 advertised
Resources
0 advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 3159 ms
- 95th percentile latency
- 3159 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 3159 ms · metadata changed · 9 tool(s), 0 resource(s), 0 resource template(s), 0 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http translayte-mcp https://translayte.com/mcpCodex
codex mcp add translayte-mcp --url https://translayte.com/mcpCursor
{
"mcpServers": {
"translayte-mcp": {
"url": "https://translayte.com/mcp"
}
}
}Cline
{
"mcpServers": {
"translayte-mcp": {
"type": "streamableHttp",
"url": "https://translayte.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"translayte-mcp": {
"type": "http",
"url": "https://translayte.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http translayte-mcp https://translayte.com/mcpClaude Desktop
{
"mcpServers": {
"translayte-mcp": {
"url": "https://translayte.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"translayte-mcp": {
"serverUrl": "https://translayte.com/mcp"
}
}
}Let your agent find its tools
Find servers like Translayte MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run Translayte MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.