# com.ainetcafe/netcafe-translate (remote · ainetcafe.com)

Translation that never breaks structure: .srt timings, i18n key trees, PDF layout.

- Trust score: 71/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-16

## Components

- remote · `ainetcafe.com`: 71/100 (this document), [markdown](https://verifymcp.io/servers/com-ainetcafe-netcafe-translate/mcp-translate.md), [page](https://verifymcp.io/servers/com-ainetcafe-netcafe-translate/mcp-translate)

## Channel facts

- Endpoint: `https://ainetcafe.com/mcp/translate?s=registry`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-16.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 76/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1013 tokens (~144/item across 7 items; 7 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 10/100
  - Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### Claude

```bash
claude mcp add --transport http com-ainetcafe-netcafe-translate https://ainetcafe.com/mcp/translate?s=registry
```

### Codex

```toml
[mcp_servers.com-ainetcafe-netcafe-translate]
url = "https://ainetcafe.com/mcp/translate?s=registry"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-ainetcafe-netcafe-translate": {
      "type": "remote",
      "url": "https://ainetcafe.com/mcp/translate?s=registry",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-ainetcafe-netcafe-translate --url https://ainetcafe.com/mcp/translate?s=registry --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-ainetcafe-netcafe-translate:
    url: "https://ainetcafe.com/mcp/translate?s=registry"
```

### Other

```json
{
  "mcpServers": {
    "com-ainetcafe-netcafe-translate": {
      "type": "http",
      "url": "https://ainetcafe.com/mcp/translate?s=registry"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-16 (score 71, 0)

- [functional regression] Schema quality: 851 → 1013
- [functional] New tool “what_can_you_do”

### 2026-08-15 (score 71, +3)

- [functional improvement] MCP protocol: fail → pass
- [functional] MCP protocol version: 2025-06-18 → 2026-07-28

### 2026-08-14 (score 68, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-08-13 (score 68)

First indexed and scored.

## MCP tools (7)

### `what_can_you_do` (~162 tokens)

Find the right tool for a task

Describe a task in plain language (any language) and get back exactly which tools on this server do it, with ready-to-run example calls — instead of reading a catalogue of 89 tools and guessing. Also returns multi-step recipes when a task needs several tools chained (invoices to a ledger, a bank statement reconciled, a messy CSV turned into a deliverable). Deterministic and free: it calls no model, costs nothing, and never runs out of quota. Call this FIRST when you are not sure what this server offers.

Input parameters:

- `task` (string, required): What you are trying to do, e.g. "reconcile a bank statement against my books" or "把一堆发票整理成能入账的表格"

### `translate_text` (~116 tokens)

Translate text (offline engine)

Translate text between languages using a self-hosted LibreTranslate engine (fully offline, no big-tech API). For whole PDFs with layout preserved, use translate_pdf instead. Example — GET https://ainetcafe.com/t/translate_text?text=hello+world&to=zh

Input parameters:

- `source` (string): Source language code; default "auto".
- `target` (string, required): Target language code, e.g. "zh", "en", "ja".
- `text` (string, required): Text to translate (≤5000 chars).

### `translate_srt` (~113 tokens)

Translate subtitles, timeline untouched

Translate an .srt subtitle file into another language while keeping every timestamp and cue number byte-identical. Cues are anchored by index and refilled in code, so the timeline cannot drift — the usual failure mode when you hand a whole .srt to a model.

Input parameters:

- `srt` (string): The .srt file content.
- `to` (string): Target language, e.g. "English", "日本語".
- `url` (string): Or a link to the .srt file.

### `translate_i18n_json` (~119 tokens)

Translate an i18n locale file

Translate an i18n JSON locale file, keeping the key structure identical and placeholders ({name}, {{count}}, %s, HTML tags) intact. Pass existing_json to translate only the keys that are missing from it — the incremental sync people usually hand-roll a script for.

Input parameters:

- `existing_json` (string): Existing target locale; only missing keys get translated.
- `json` (string): Source locale file content (JSON).
- `to` (string): Target language.
- `url` (string): Or a link to the source JSON.

### `check_grammar` (~109 tokens)

Check grammar and style

Check text for grammar, spelling and style issues in 30+ languages (self-hosted LanguageTool). Returns each issue with a suggested replacement — apply them to produce corrected text. Example — GET https://ainetcafe.com/t/check_grammar?text=Their+going+to+the+park

Input parameters:

- `language` (string): Language code like "en-US", "zh-CN"; default "auto".
- `text` (string, required): The text to check (≤10000 chars).

### `check_job` (~108 tokens)

Check a long-running job

Get the status or result of a job started by deep_research, translate_pdf, or make_slides. Poll every 15-30 seconds until status is "done" or "error". While work is pending, follow retry_after_seconds and next_action; when complete, prefer structured_result when present. Example — GET https://ainetcafe.com/t/check_job?job_id=<id-from-a-job-tool>

Input parameters:

- `job_id` (string, required): The job_id returned when the task was started.

Output parameters:

- `error` (string)
- `is_terminal` (boolean)
- `job_id` (string)
- `kind` (string)
- `next_action` (object|null)
- `result`
- `retry_after_seconds` (integer)
- `status` (string)
- `structured_result`

### `translate_pdf` (~197 tokens)

Translate a PDF keeping its layout

Translate a PDF from a URL while preserving the original layout — formulas, figures and two-column academic typesetting stay intact, unlike ordinary translators that flatten the document. Returns a job_id; poll check_job for the download links (translated-only and bilingual side-by-side). Typically 20-60 seconds for a few pages. Powered by PDFMathTranslate (36k stars) hosted at AI NetCafé. Example — tools/call translate_pdf {"url":"<pdf-url>","target":"zh"} → poll check_job

Input parameters:

- `lang_to` (string): Target language, e.g. "Simplified Chinese", "Japanese". Default Simplified Chinese.
- `pages` (string): How much to translate. first = 1 page, first5 = first 5 pages (default), all = whole document (slow and expensive).
- `url` (string, required): Direct URL to the PDF (e.g. an arXiv PDF link).

Output parameters:

- `job_id` (string)
- `poll_interval_seconds` (integer)
- `status` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-ainetcafe-netcafe-translate/mcp-translate#diagnostics

## Score history

- 2026-08-16: 71
- 2026-08-15: 71
- 2026-08-14: 68
- 2026-08-13: 68

## Links

- Remote endpoint: https://ainetcafe.com/mcp/translate?s=registry
- Repository: https://github.com/mario03690/ai-netcafe
- Website: https://ainetcafe.com/mcp.html
- Changelog RSS feed: https://verifymcp.io/servers/com-ainetcafe-netcafe-translate/mcp-translate.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-ainetcafe-netcafe-translate/mcp-translate.json
- HTML version of this page: https://verifymcp.io/servers/com-ainetcafe-netcafe-translate/mcp-translate
