netcafe-translate

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

Should I use this

Quality & Safety

B
Description quality
93%
Schema completeness
97%
Naming quality
86%
Poisoning risk
20%
Permission match
100%
Protocol compliance
100%

Findings (7)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'translate_i18n_json' description contains placeholder textin translate_i18n_json
  • MEDIUMTool description contains URL to non-standard domainin translate_text
  • MEDIUMTool description contains URL to non-standard domainin check_grammar
  • MEDIUMTool description contains URL to non-standard domainin check_job
  • LOWTool 'translate_srt' description lacks action verbin translate_srt
  • INFOTool description contains placeholder or incomplete textin translate_i18n_json

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,504Tokens (tool definitions)
~1.1 KBTypical response size
Moderate attention impact (1.18% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "netcafe-translate": {
      "url": "https://ainetcafe.com/mcp/translate?s=registry"
    }
  }
}

Remote endpoints

https://ainetcafe.com/mcp/translate?s=registrystreamable-http

What it can do

Tool inventory

Tools (7)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒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.

Input 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"
  ]
}

Output 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

Input 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"
  ]
}

Output 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.

Input 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": []
}

Output 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.

Input 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": []
}

Output 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

Input 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"
  ]
}

Output 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>

Input Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "description": "The job_id returned when the task was started."
    }
  },
  "required": [
    "job_id"
  ]
}

Output 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

Input 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"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "poll_interval_seconds": {
      "type": "integer"
    }
  },
  "required": [
    "job_id",
    "status"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools
verifiedversion not recorded7 tools