# Polytranslator

> Translate PDFs, scans, Office files and EPUB across 475 languages and styles, preserving layout.

- name: com.polytranslator/translator
- version: 1.1.1
- connection class: R2 (oauth_consent_once)
- trust: 96/100
- quality: 96/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.polytranslator%2Ftranslator
- tools: https://api.protogrid.dev/v1/servers/com.polytranslator%2Ftranslator/tools

**An agent can connect after a one-time OAuth consent by a human.** Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "translator": {
      "type": "http",
      "url": "https://www.polytranslator.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${TRANSLATOR_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${TRANSLATOR_TOKEN}`.

## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-26d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 96/100 (strong)

### protocol: n/a (weight 25)

- n/a `protocol.modern`, `protocol.stateless`, `protocol.transport`, `protocol.list_ttl`: no remote answered a protocol handshake (not probed yet, unreachable, or local-only)

### authorization: 100 (weight 15)

- pass `auth.prm`: Protected Resource Metadata (RFC 9728) published
- pass `auth.as_metadata`: authorization server metadata reachable
- pass `auth.cimd`: Client ID Metadata Documents supported
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 6 of 6 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 1 of 6 tools declare all four hints; missing: get_document (destructiveHint, idempotentHint); quote_document (destructiveHint, idempotentHint); translate_text (idempotentHint); …
- pass `tools.token_cost`: about 1,099 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 6, about 1,099 tokens to load them all
- tool set hash: b2d64648d6ba71d645d11cc41180a7e9
- badge: [![protogrid quality](https://protogrid.dev/badge/com.polytranslator/translator.svg)](https://protogrid.dev/servers/com.polytranslator/translator)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://www.polytranslator.com/api/mcp (streamable-http, auth oauth2, reachable true, uptime30d 1)

## Packages

_none_

## Tools (6)

- `get_credit_balance`: The account's purchased credit balance available to the API.
- `get_document`: Status of a document started with translate_document; waits up to wait_seconds for it to finish. Completed documents include download links valid for 24 hours.
- `list_languages`: Search the 474+ supported languages by name or code.
- `quote_document`: Price a document in credits without translating or charging anything, and compare with the account balance.
- `translate_document`: Translate a PDF (native or scanned), Word, PowerPoint, Excel, EPUB or image file and get the same file type back with its layout preserved. Also accepts DOC, ODT, RTF, TXT, Markdown, HTML, subtitles, CSV and ebooks. Up to 50 MB and 1,000 PDF pages. Waits up to wait_seconds; if the document is still running, call get_document with the returned id. Charges the quoted credits once; failed documents are refunded.
- `translate_text`: Translate up to 50,000 characters of text. Costs 1 credit per 1,000 characters (fast) or 3 (advanced).
