{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_wm2mu76pcwkx","handle":"netcafe-translate","url":"https://wellknown.network/agents/netcafe-translate","links":{"self":"https://wellknown.network/agents/netcafe-translate/record.json","html":"https://wellknown.network/agents/netcafe-translate","markdown":"https://wellknown.network/agents/netcafe-translate/record.md","api":"https://wellknown.network/api/v1/agents/netcafe-translate","status":"https://wellknown.network/api/v1/agents/netcafe-translate/status","claim":"https://wellknown.network/agents/netcafe-translate/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/netcafe-translate/claim.json","badge":"https://wellknown.network/agents/netcafe-translate/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/netcafe-translate/history","tools":"https://wellknown.network/api/v1/agents/netcafe-translate/tools"},"ard":{"identifier":"urn:air:ainetcafe.com:server:netcafe-translate","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"netcafe-translate","summary":"Translation that never breaks structure: .srt timings, i18n key trees, PDF layout.","description":"Translation that never breaks structure: .srt timings, i18n key trees, PDF layout.","publisher":{"name":"com.ainetcafe","url":null},"homepage":"https://ainetcafe.com/mcp.html","repository":"https://github.com/mario03690/ai-netcafe","version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://ainetcafe.com/mcp/translate?s=registry","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-13T11:09:24.741909Z","publishedAt":"2026-08-13T11:09:24.741909Z","registryName":"com.ainetcafe/netcafe-translate"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.translation","name":"Translation","confidence":1,"provenance":"derived"},{"slug":"content.localization","name":"Localization","confidence":0.833,"provenance":"derived"},{"slug":"research.web","name":"Deep Web Research","confidence":0.583,"provenance":"derived"},{"slug":"research.academic","name":"Academic Research","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"}],"categories":["content","research"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-10-10T23:23:32.869Z","lastProbedAt":"2026-10-10T23:23:32.869Z","statusComputedAt":"2026-10-10T23:24:13.992Z","reliability30d":{"probes":59,"successRate":1,"p50Ms":698,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":59,"ok":59,"authBoundaryOk":0,"serviceOk":59,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T23:23:32.869Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":703,"error":null,"detail":{"tools":[{"name":"what_can_you_do","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"},{"name":"translate_text","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"},{"name":"translate_srt","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 co"},{"name":"translate_i18n_json","description":"Translate an i18n JSON locale file, keeping the key structure identical and placeholders ({name}, {{count}}, %s, HTML tags) intact. Pass existing_json to transl"},{"name":"check_grammar","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 p"},{"name":"check_job","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 wor"},{"name":"translate_pdf","description":"Translate a PDF from a URL while preserving the original layout — formulas, figures and two-column academic typesetting stay intact, unlike ordinary translators"}],"toolCount":7,"toolsHash":"810529866d5de650adbcc8408f8319d11ad80972f7399372a491ce564c30003c","serverName":"netcafe-translate","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T17:29:07.180Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":938,"error":null,"detail":{"tools":[{"name":"what_can_you_do","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"},{"name":"translate_text","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"},{"name":"translate_srt","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 co"},{"name":"translate_i18n_json","description":"Translate an i18n JSON locale file, keeping the key structure identical and placeholders ({name}, {{count}}, %s, HTML tags) intact. Pass existing_json to transl"},{"name":"check_grammar","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 p"},{"name":"check_job","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 wor"},{"name":"translate_pdf","description":"Translate a PDF from a URL while preserving the original layout — formulas, figures and two-column academic typesetting stay intact, unlike ordinary translators"}],"toolCount":7,"toolsHash":"810529866d5de650adbcc8408f8319d11ad80972f7399372a491ce564c30003c","serverName":"netcafe-translate","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T10:29:20.322Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":752,"error":null,"detail":{"tools":[{"name":"what_can_you_do","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"},{"name":"translate_text","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"},{"name":"translate_srt","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 co"},{"name":"translate_i18n_json","description":"Translate an i18n JSON locale file, keeping the key structure identical and placeholders ({name}, {{count}}, %s, HTML tags) intact. Pass existing_json to transl"},{"name":"check_grammar","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 p"},{"name":"check_job","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 wor"},{"name":"translate_pdf","description":"Translate a PDF from a URL while preserving the original layout — formulas, figures and two-column academic typesetting stay intact, unlike ordinary translators"}],"toolCount":7,"toolsHash":"810529866d5de650adbcc8408f8319d11ad80972f7399372a491ce564c30003c","serverName":"netcafe-translate","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T04:33:04.103Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":747,"error":null,"detail":{"tools":[{"name":"what_can_you_do","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"},{"name":"translate_text","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"},{"name":"translate_srt","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 co"},{"name":"translate_i18n_json","description":"Translate an i18n JSON locale file, keeping the key structure identical and placeholders ({name}, {{count}}, %s, HTML tags) intact. Pass existing_json to transl"},{"name":"check_grammar","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 p"},{"name":"check_job","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 wor"},{"name":"translate_pdf","description":"Translate a PDF from a URL while preserving the original layout — formulas, figures and two-column academic typesetting stay intact, unlike ordinary translators"}],"toolCount":7,"toolsHash":"810529866d5de650adbcc8408f8319d11ad80972f7399372a491ce564c30003c","serverName":"netcafe-translate","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T22:28:08.376Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":718,"error":null,"detail":{"tools":[{"name":"what_can_you_do","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"},{"name":"translate_text","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"},{"name":"translate_srt","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 co"},{"name":"translate_i18n_json","description":"Translate an i18n JSON locale file, keeping the key structure identical and placeholders ({name}, {{count}}, %s, HTML tags) intact. Pass existing_json to transl"},{"name":"check_grammar","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 p"},{"name":"check_job","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 wor"},{"name":"translate_pdf","description":"Translate a PDF from a URL while preserving the original layout — formulas, figures and two-column academic typesetting stay intact, unlike ordinary translators"}],"toolCount":7,"toolsHash":"810529866d5de650adbcc8408f8319d11ad80972f7399372a491ce564c30003c","serverName":"netcafe-translate","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T15:33:00.632Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":818,"error":null,"detail":{"tools":[{"name":"what_can_you_do","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"},{"name":"translate_text","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"},{"name":"translate_srt","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 co"},{"name":"translate_i18n_json","description":"Translate an i18n JSON locale file, keeping the key structure identical and placeholders ({name}, {{count}}, %s, HTML tags) intact. Pass existing_json to transl"},{"name":"check_grammar","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 p"},{"name":"check_job","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 wor"},{"name":"translate_pdf","description":"Translate a PDF from a URL while preserving the original layout — formulas, figures and two-column academic typesetting stay intact, unlike ordinary translators"}],"toolCount":7,"toolsHash":"810529866d5de650adbcc8408f8319d11ad80972f7399372a491ce564c30003c","serverName":"netcafe-translate","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T09:27:19.702Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":698,"error":null,"detail":{"tools":[{"name":"what_can_you_do","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"},{"name":"translate_text","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"},{"name":"translate_srt","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 co"},{"name":"translate_i18n_json","description":"Translate an i18n JSON locale file, keeping the key structure identical and placeholders ({name}, {{count}}, %s, HTML tags) intact. Pass existing_json to transl"},{"name":"check_grammar","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 p"},{"name":"check_job","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 wor"},{"name":"translate_pdf","description":"Translate a PDF from a URL while preserving the original layout — formulas, figures and two-column academic typesetting stay intact, unlike ordinary translators"}],"toolCount":7,"toolsHash":"810529866d5de650adbcc8408f8319d11ad80972f7399372a491ce564c30003c","serverName":"netcafe-translate","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T03:22:35.205Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":690,"error":null,"detail":{"tools":[{"name":"what_can_you_do","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"},{"name":"translate_text","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"},{"name":"translate_srt","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 co"},{"name":"translate_i18n_json","description":"Translate an i18n JSON locale file, keeping the key structure identical and placeholders ({name}, {{count}}, %s, HTML tags) intact. Pass existing_json to transl"},{"name":"check_grammar","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 p"},{"name":"check_job","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 wor"},{"name":"translate_pdf","description":"Translate a PDF from a URL while preserving the original layout — formulas, figures and two-column academic typesetting stay intact, unlike ordinary translators"}],"toolCount":7,"toolsHash":"810529866d5de650adbcc8408f8319d11ad80972f7399372a491ce564c30003c","serverName":"netcafe-translate","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T20:23:55.529Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":721,"error":null,"detail":{"tools":[{"name":"what_can_you_do","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"},{"name":"translate_text","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"},{"name":"translate_srt","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 co"},{"name":"translate_i18n_json","description":"Translate an i18n JSON locale file, keeping the key structure identical and placeholders ({name}, {{count}}, %s, HTML tags) intact. Pass existing_json to transl"},{"name":"check_grammar","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 p"},{"name":"check_job","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 wor"},{"name":"translate_pdf","description":"Translate a PDF from a URL while preserving the original layout — formulas, figures and two-column academic typesetting stay intact, unlike ordinary translators"}],"toolCount":7,"toolsHash":"810529866d5de650adbcc8408f8319d11ad80972f7399372a491ce564c30003c","serverName":"netcafe-translate","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T13:21:34.047Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":849,"error":null,"detail":{"tools":[{"name":"what_can_you_do","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"},{"name":"translate_text","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"},{"name":"translate_srt","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 co"},{"name":"translate_i18n_json","description":"Translate an i18n JSON locale file, keeping the key structure identical and placeholders ({name}, {{count}}, %s, HTML tags) intact. Pass existing_json to transl"},{"name":"check_grammar","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 p"},{"name":"check_job","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 wor"},{"name":"translate_pdf","description":"Translate a PDF from a URL while preserving the original layout — formulas, figures and two-column academic typesetting stay intact, unlike ordinary translators"}],"toolCount":7,"toolsHash":"810529866d5de650adbcc8408f8319d11ad80972f7399372a491ce564c30003c","serverName":"netcafe-translate","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"what_can_you_do","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"},{"name":"translate_text","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"},{"name":"translate_srt","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 co"},{"name":"translate_i18n_json","description":"Translate an i18n JSON locale file, keeping the key structure identical and placeholders ({name}, {{count}}, %s, HTML tags) intact. Pass existing_json to transl"},{"name":"check_grammar","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 p"},{"name":"check_job","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 wor"},{"name":"translate_pdf","description":"Translate a PDF from a URL while preserving the original layout — formulas, figures and two-column academic typesetting stay intact, unlike ordinary translators"}],"package":null,"toolSurface":{"id":"ts_czn37x6vpj9x","endpointId":"ep_cm557cg397gy","hash":"810529866d5de650adbcc8408f8319d11ad80972f7399372a491ce564c30003c","toolCount":7,"serverName":"netcafe-translate","serverVersion":"1.5.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T15:26:06.912Z","lastSeenAt":"2026-10-10T23:23:32.872Z","observations":104,"toolNames":["what_can_you_do","translate_text","translate_srt","translate_i18n_json","check_grammar","check_job","translate_pdf"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_cm557cg397gy","url":"https://ainetcafe.com/mcp/translate?s=registry","type":"mcp_streamable_http","factsCheckedAt":"2026-10-08T20:23:55.534Z","auth":{"observedAt":"2026-10-08T20:23:56.357Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-08T20:23:56.378Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"ainetcafe.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-26T08:50:57.000Z","validTo":"2026-12-25T09:50:52.000Z","daysToExpiry":75,"sanCount":2,"fingerprint256":"D1:F1:90:2A:DA:17:E5:60:5F:31:A1:FC:D9:AA:ED:DF:9F:FF:48:77:11:DF:1A:BD:24:3B:42:37:35:87:91:13"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.ainetcafe/netcafe-translate","url":"https://registry.modelcontextprotocol.io/v0/servers/com.ainetcafe%2Fnetcafe-translate","firstSeenAt":"2026-09-05T16:18:53.207Z","fetchedAt":"2026-10-09T03:19:58.215Z","normalizedAt":"2026-10-09T03:19:58.215Z"}]},"firstSeenAt":"2026-09-05T16:18:53.207Z","updatedAt":"2026-10-10T23:25:21.273Z"}