netcafe-translate

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

¿Debería usar esto?

Calidad y seguridad

B
Calidad de la descripción
93%
Integridad del esquema
97%
Calidad de los nombres
86%
Riesgo de envenenamiento
20%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (7)

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

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,504Tokens (definiciones de herramientas)
~1.1 KBTamaño de respuesta típico
Impacto moderado en la atención (1.18% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (7)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

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

Esquema de salida

{
  "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

Esquema de entrada

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

Esquema de salida

{
  "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.

Esquema de entrada

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

Esquema de salida

{
  "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.

Esquema de entrada

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

Esquema de salida

{
  "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

Esquema de entrada

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

Esquema de salida

{
  "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>

Esquema de entrada

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

Esquema de salida

{
  "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

Esquema de entrada

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

Esquema de salida

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

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada7 herramientas
verificadoversión no registrada7 herramientas
verificadoversión no registrada7 herramientas