netcafe-translate
Translation that never breaks structure: .srt timings, i18n key trees, PDF layout.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (7)
- HIGH
- MEDIUMin translate_i18n_json
- MEDIUMin translate_text
- MEDIUMin check_grammar
- MEDIUMin check_job
- LOWin translate_srt
- INFOin translate_i18n_json
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"netcafe-translate": {
"url": "https://ainetcafe.com/mcp/translate?s=registry"
}
}
}Remote-Endpunkte
https://ainetcafe.com/mcp/translate?s=registrystreamable-httpWas es kann
Tool-Inventar
Tools (7)
🟢what_can_you_do(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 the whole catalogue 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.
Eingabe-Schema
{
"type": "object",
"properties": {
"task": {
"type": "string",
"description": "What you are trying to do, e.g. \"reconcile a bank statement against my books\" or \"把一堆发票整理成能入账的表格\""
}
},
"required": [
"task"
]
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢translate_text(text, target, source)
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
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Text to translate (≤5000 chars)."
},
"target": {
"type": "string",
"description": "Target language code, e.g. \"zh\", \"en\", \"ja\"."
},
"source": {
"type": "string",
"description": "Source language code; default \"auto\"."
}
},
"required": [
"text",
"target"
]
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢translate_srt(srt, url, to)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"srt": {
"type": "string",
"description": "The .srt file content."
},
"url": {
"type": "string",
"description": "Or a link to the .srt file."
},
"to": {
"type": "string",
"description": "Target language, e.g. \"English\", \"日本語\"."
}
},
"required": []
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢translate_i18n_json(json, url, to, existing_json)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"json": {
"type": "string",
"description": "Source locale file content (JSON)."
},
"url": {
"type": "string",
"description": "Or a link to the source JSON."
},
"to": {
"type": "string",
"description": "Target language."
},
"existing_json": {
"type": "string",
"description": "Existing target locale; only missing keys get translated."
}
},
"required": []
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢check_grammar(text, language)
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
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The text to check (≤10000 chars)."
},
"language": {
"type": "string",
"description": "Language code like \"en-US\", \"zh-CN\"; default \"auto\"."
}
},
"required": [
"text"
]
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢check_job(job_id)
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>
Eingabe-Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "The job_id returned when the task was started."
}
},
"required": [
"job_id"
]
}Ausgabe-Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string"
},
"kind": {
"type": "string"
},
"status": {
"type": "string"
},
"is_terminal": {
"type": "boolean"
},
"retry_after_seconds": {
"type": "integer"
},
"next_action": {
"type": [
"object",
"null"
]
},
"result": {},
"structured_result": {},
"error": {
"type": "string"
}
},
"required": [
"job_id",
"status"
]
}🟢translate_pdf(url, lang_to, pages)
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
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Direct URL to the PDF (e.g. an arXiv PDF link)."
},
"lang_to": {
"type": "string",
"description": "Target language, e.g. \"Simplified Chinese\", \"Japanese\". Default Simplified Chinese."
},
"pages": {
"type": "string",
"enum": [
"first",
"first5",
"all"
],
"description": "How much to translate. first = 1 page, first5 = first 5 pages (default), all = whole document (slow and expensive)."
}
},
"required": [
"url"
]
}Ausgabe-Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string"
},
"status": {
"type": "string"
},
"poll_interval_seconds": {
"type": "integer"
}
},
"required": [
"job_id",
"status"
]
}Community
Nachweis