Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,534Letters: 13Defects: 1,322counted 2 min ago
teppi

Server definition

Hash
sha256:2cdfcc3cab74a92a1313182be9b8578520099b869daf4b413ccd78ce1da9da6e
What it is
What a remote MCP server returned when asked what it offers: 7 tools

The blob, as servednamed by its sha256

{ "instructions": "Translation that never breaks structure. translate_srt keeps every cue number and timestamp byte-identical (cues are anchored and refilled in code — the usual failure mode when handing a whole .srt to a model cannot happen). translate_i18n_json keeps the key tree and placeholders like {name} intact, and can translate only the keys missing from an existing locale. translate_pdf preserves layout (async, poll check_job).", "tools": [ { "description": "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", "inputSchema": { "properties": { "language": { "description": "Language code like \"en-US\", \"zh-CN\"; default \"auto\".", "type": "string" }, "text": { "description": "The text to check (≤10000 chars).", "type": "string" } }, "required": [ "text" ], "type": "object" }, "name": "check_grammar", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "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>", "inputSchema": { "properties": { "job_id": { "description": "The job_id returned when the task was started.", "type": "string" } }, "required": [ "job_id" ], "type": "object" }, "name": "check_job", "outputSchema": { "properties": { "error": { "type": "string" }, "is_terminal": { "type": "boolean" }, "job_id": { "type": "string" }, "kind": { "type": "string" }, "next_action": { "type": [ "object", "null" ] }, "result": {}, "retry_after_seconds": { "type": "integer" }, "status": { "type": "string" }, "structured_result": {} }, "required": [ "job_id", "status" ], "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "existing_json": { "description": "Existing target locale; only missing keys get translated.", "type": "string" }, "json": { "description": "Source locale file content (JSON).", "type": "string" }, "to": { "description": "Target language.", "type": "string" }, "url": { "description": "Or a link to the source JSON.", "type": "string" } }, "required": [], "type": "object" }, "name": "translate_i18n_json", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "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", "inputSchema": { "properties": { "lang_to": { "description": "Target language, e.g. \"Simplified Chinese\", \"Japanese\". Default Simplified Chinese.", "type": "string" }, "pages": { "description": "How much to translate. first = 1 page, first5 = first 5 pages (default), all = whole document (slow and expensive).", "enum": [ "first", "first5", "all" ], "type": "string" }, "url": { "description": "Direct URL to the PDF (e.g. an arXiv PDF link).", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "translate_pdf", "outputSchema": { "properties": { "job_id": { "type": "string" }, "poll_interval_seconds": { "type": "integer" }, "status": { "type": "string" } }, "required": [ "job_id", "status" ], "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "srt": { "description": "The .srt file content.", "type": "string" }, "to": { "description": "Target language, e.g. \"English\", \"日本語\".", "type": "string" }, "url": { "description": "Or a link to the .srt file.", "type": "string" } }, "required": [], "type": "object" }, "name": "translate_srt", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "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", "inputSchema": { "properties": { "source": { "description": "Source language code; default \"auto\".", "type": "string" }, "target": { "description": "Target language code, e.g. \"zh\", \"en\", \"ja\".", "type": "string" }, "text": { "description": "Text to translate (≤5000 chars).", "type": "string" } }, "required": [ "text", "target" ], "type": "object" }, "name": "translate_text", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "task": { "description": "What you are trying to do, e.g. \"reconcile a bank statement against my books\" or \"把一堆发票整理成能入账的表格\"", "type": "string" } }, "required": [ "task" ], "type": "object" }, "name": "what_can_you_do", "outputSchema": { "additionalProperties": true, "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:2cdfcc3cab74a92a1313182be9b8578520099b869daf4b413ccd78ce1da9da6e | sha256sum