{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_8zwuje7qzrvj","handle":"ai-netcafe","url":"https://wellknown.network/agents/ai-netcafe","links":{"self":"https://wellknown.network/agents/ai-netcafe/record.json","html":"https://wellknown.network/agents/ai-netcafe","markdown":"https://wellknown.network/agents/ai-netcafe/record.md","api":"https://wellknown.network/api/v1/agents/ai-netcafe","status":"https://wellknown.network/api/v1/agents/ai-netcafe/status","claim":"https://wellknown.network/agents/ai-netcafe/claim","claimApi":"https://wellknown.network/api/v1/claims","badge":"https://wellknown.network/agents/ai-netcafe/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:ai-netcafe","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"netcafe-tasks","summary":"Recurring agent jobs that run on our servers and ping you only when the result changed.","description":"Recurring agent jobs that run on our servers and ping you only when the result changed.","publisher":{"name":"com.ainetcafe","url":null},"homepage":"https://ainetcafe.com/mcp.html","repository":"https://github.com/mario03690/ai-netcafe","version":"1.0.0","license":"MIT","protocols":["mcp"],"tags":["agent","ai-tools","llm","llm-cost","mcp","mermaid","model-context-protocol","model-pricing","web-search","whisper"],"pricing":null,"endpoints":[{"url":"npm:ai-netcafe","type":"package_npm","auth":null,"probeable":false},{"url":"pypi:ai-netcafe","type":"package_pypi","auth":null,"probeable":false},{"url":"https://ainetcafe.com/mcp?s=registry","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://ainetcafe.com/mcp/almanac?s=registry","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://ainetcafe.com/mcp/build?s=registry","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://ainetcafe.com/mcp/cn?s=registry","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://ainetcafe.com/mcp/dev?s=registry","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://ainetcafe.com/mcp/paper?s=registry","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://ainetcafe.com/mcp/docs?s=registry","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://ainetcafe.com/mcp/img?s=registry","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://ainetcafe.com/mcp/memory?s=registry","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://ainetcafe.com/mcp/table?s=registry","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://ainetcafe.com/mcp/tasks?s=registry","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://ainetcafe.com/mcp/data?s=registry","type":"mcp_streamable_http","auth":null,"probeable":true},{"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:21.547921Z","publishedAt":"2026-08-13T11:09:21.547921Z","registryName":"com.ainetcafe/netcafe-tasks"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","license":"pypi","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":"data.web-search","name":"Web Search","confidence":1,"provenance":"declared"},{"slug":"media.speech-recognition","name":"Speech Recognition","confidence":1,"provenance":"declared"},{"slug":"productivity.tasks","name":"Tasks & To-do","confidence":0.688,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.656,"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":["commerce","content","data","media","productivity","research"]},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-09-05T19:27:46.626Z","lastProbedAt":"2026-09-05T19:27:46.626Z","statusComputedAt":"2026-09-05T19:28:29.149Z","reliability30d":{"probes":13,"successRate":1,"p50Ms":411},"latestObservations":[{"at":"2026-09-05T19:27:46.626Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":411,"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,"serverName":"netcafe-translate","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-05T19:27:45.792Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":411,"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":"create_task","description":"Create a task that runs on a schedule in our cloud — you do not keep anything running. It only notifies you when the result actually changes. Kinds: watch_page "},{"name":"list_tasks","description":"Show scheduled tasks, next run times, run counts, and measured platform cost metadata. User charge is $0.00 during the beta."},{"name":"get_task_runs","description":"Recent runs of one scheduled task: what it returned, whether the result changed, and measured platform cost metadata. User charge is $0.00."},{"name":"delete_task","description":"Stop and remove a scheduled task and its run history."},{"name":"china_reachability","description":"Fetch a URL from a real mainland-China network egress and report HTTP status, latency and China DNS resolution. Answers \"is my site/API usable from China?\" with"}],"toolCount":6,"serverName":"netcafe-tasks","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-05T19:27:44.963Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":410,"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":"csv_to_qbo","description":"Convert a transaction CSV into a .qbo / OFX bank-feed file that QuickBooks and similar accounting software import directly. Needs date, description and amount c"},{"name":"diff_tables","description":"Matches rows across two CSVs on a key column and reports three things: keys only in A, keys only in B, and keys in both whose other columns disagree — naming th"},{"name":"clean_table","description":"Tidies a spreadsheet export: removes duplicate rows, trims whitespace (half-width and full-width — Chinese exports are full of 　), unifies the half-dozen ways a"},{"name":"merge_tables","description":"Combines up to 20 CSVs into a single table. Headers do not have to match: columns are unioned and a file missing a column contributes blanks for it, so rows nev"},{"name":"reconcile_ledger","description":"Reconciles two sets of records — your books against a bank, platform, or supplier statement. Matches rows on a key column, compares an amount column, and return"},{"name":"fix_csv_encoding","description":"Detect the real encoding of a CSV (GB18030, Shift-JIS, Windows-1252…), repair mojibake (UTF-8 that was read as Latin-1, e.g. \"Ã©\"), and re-emit UTF-8 with a BOM"},{"name":"read_xlsx","description":"Read an Excel .xlsx workbook (by URL) into rows — every sheet, or one you name. Returns cell values (not formula text), dates as YYYY-MM-DD instead of Excel ser"},{"name":"write_xlsx","description":"Build an Excel .xlsx file from rows (CSV text or JSON arrays), optionally several sheets at once. Numbers are written as real numbers so they sum in Excel, whil"},{"name":"match_transactions","description":"Match bank statement lines to ledger/invoice entries when there is NO shared key — by amount, date window, reference numbers found inside free-text descriptions"},{"name":"dedupe_entities","description":"Find records in a supplier/customer/store list that are probably the SAME entity under different names — \"北京星辰科技有限公司\" vs \"星辰科技(北京)\" — by cross-checking name sim"},{"name":"csv_to_md_table","description":"CSV (text or URL) → GitHub-flavoured Markdown table."},{"name":"csv_to_chart","description":"CSV (first column = labels, second = values) → chart PNG in one call."},{"name":"csv_to_json","description":"CSV (text or URL) → JSON array of objects (first row = keys). Returns a .json file."},{"name":"json_to_csv","description":"JSON array of objects → CSV file. Flattens keys, quotes fields containing commas."}],"toolCount":15,"serverName":"netcafe-tables","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-05T19:27:44.124Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":412,"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":"remember","description":"Persist a durable memory: an architecture decision, a stable user preference, a verified bug fix, or an important discovery. The free beta provides a bounded pe"},{"name":"recall","description":"Retrieve previously stored memories, optionally filtered by search query and/or project. Call at the start of work on a known project to restore context: why de"},{"name":"forget","description":"Permanently delete one memory you own (id from recall). Use when a memory is wrong or sensitive. Example — tools/call forget {\"id\":\"<memory-id>\"}"}],"toolCount":4,"serverName":"netcafe-memory","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-05T19:27:43.296Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":406,"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":"package_info","description":"Latest version, license, repo, description, dependencies and weekly downloads for any public package. Use it before adding a dependency, or to check whether the"},{"name":"check_vulns","description":"Query OSV.dev for known CVE/GHSA vulnerabilities affecting a package (optionally a specific version), and get the versions they were fixed in. Use it when revie"},{"name":"transpile_sql","description":"Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, "},{"name":"get_weather","description":"Current weather and short forecast for a city or coordinates. Works for Chinese cities too."},{"name":"china_reachability","description":"Fetch a URL from a real mainland-China network egress and report HTTP status, latency and China DNS resolution. Answers \"is my site/API usable from China?\" with"},{"name":"exchange_rate","description":"Live currency exchange rate: one pair with conversion, or a major-currency table for a base currency."},{"name":"domain_check","description":"Check if a domain is registered via official RDAP: availability, registrar, created/expiry dates, nameservers."},{"name":"ssl_check","description":"Inspect the TLS certificate of a domain: issuer, validity window, days until expiry, trust status, SANs."},{"name":"get_air_quality","description":"Live air quality for any city: US/European AQI, PM2.5, PM10, ozone."},{"name":"ip_lookup","description":"IP address geolocation and ISP: country, region, city, ISP, timezone."}],"toolCount":11,"serverName":"netcafe-live-data","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-05T19:27:42.464Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":412,"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":"split_spritesheet","description":"Cut a packed sprite sheet / texture atlas into separate transparent PNGs, returned as a zip. Give rows and cols for a uniform grid, or omit them to auto-detect "},{"name":"make_qr","description":"Any text or URL → a QR code PNG you can embed or download. Stateless URL form: https://ainetcafe.com/i/qr/<text>"},{"name":"text_to_image","description":"Text prompt → a generated image, returned as a hosted URL you can embed straight into Markdown, HTML or a chat reply. Use it for illustrations, covers, concept "},{"name":"make_badge","description":"Label + message + colour → a shields.io-style badge SVG, plus a ready-to-paste Markdown embed line. Stateless URL form: https://ainetcafe.com/i/badge/<label>-<m"},{"name":"make_chart","description":"Labels + values (or a full Chart.js config) → a chart PNG URL. Bar, line, pie, radar, scatter. Stateless URL form for embedding: https://ainetcafe.com/i/chart/<"},{"name":"render_diagram","description":"Turn diagram-as-code into an image: Mermaid, PlantUML, Graphviz/DOT, C4, Excalidraw and 20+ more (self-hosted Kroki). Returns a hosted SVG/PNG URL you can embed"},{"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"}],"toolCount":8,"serverName":"netcafe-images","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-05T19:27:41.631Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":407,"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":"redact_text","description":"Strip emails, phone numbers, ID numbers, API keys, private keys, JWTs, card numbers and IPs out of text, returning the redacted text plus a mapping table to res"},{"name":"csv_to_qbo","description":"Convert a transaction CSV into a .qbo / OFX bank-feed file that QuickBooks and similar accounting software import directly. Needs date, description and amount c"},{"name":"check_resume","description":"Check a resume (PDF or .docx) the way an applicant tracking system reads it: is the text extractable, are email/phone/sections findable, do multi-column layouts"},{"name":"pdf_to_markdown","description":"Convert a PDF (or a scanned page image) into clean Markdown that keeps headings, lists and tables, and puts multi-column pages in the right reading order. Text-"},{"name":"extract_tables","description":"Extract tables from a PDF into structured rows (JSON + CSV). Pass fields to force a fixed set of columns — that aligns a pile of documents that each name their "},{"name":"extract_statement","description":"Turn a bank statement or transaction PDF into a clean transaction table (JSON + CSV), then cross-check it: opening + credits - debits must equal the stated clos"},{"name":"extract_invoices","description":"Give it up to 20 invoice URLs (PDF or page images) and get back one table ready to post: number, date, seller, buyer, net / tax / gross, currency. Every row is "},{"name":"pdf_add_page_numbers","description":"Stamp page numbers or footer text onto every page of a PDF. Supports a starting number, roman numerals, skipping a cover page, position and font size — the comb"},{"name":"fix_csv_encoding","description":"Detect the real encoding of a CSV (GB18030, Shift-JIS, Windows-1252…), repair mojibake (UTF-8 that was read as Latin-1, e.g. \"Ã©\"), and re-emit UTF-8 with a BOM"},{"name":"transcribe_audio","description":"Fetch an audio file from a URL and transcribe it to text with open-source Whisper (100 languages, self-hosted). Good for voice memos, podcast clips and meeting "},{"name":"convert_to_pdf","description":"Print-quality PDF from a URL or raw HTML via self-hosted Gotenberg (headless Chromium). Returns a hosted PDF download URL. Example — GET https://ainetcafe.com/t"},{"name":"deep_research","description":"Start an autonomous web research task. The agent plans sub-questions, searches the web, reads the sources and writes a report with citations — this is real rese"},{"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"},{"name":"make_slides","description":"Turn a topic or an outline into a real downloadable .pptx file — not a link into someone's web editor. Returns a job_id; poll check_job for the download URL. Us"},{"name":"pdf_page_count","description":"Count pages and report each page size of a PDF (by URL)."},{"name":"pdf_watermark","description":"Stamp diagonal text watermark on every page of a PDF (by URL). text = the watermark."},{"name":"xlsx_to_pdf","description":"Excel .xlsx (by URL) → PDF."},{"name":"pptx_to_pdf","description":"PowerPoint .pptx (by URL) → PDF handout."},{"name":"webpage_to_docx","description":"Any article URL → Word .docx (rendered page → clean document)."},{"name":"meeting_pack","description":"会议录音 → 纪要包 PDF:转写、要点、决议、待办。纪要里点名的负责人会与转写原文比对 —— 把任务安排给一个从没在录音里出现过的人,报告会判不通过。入参 url(音频直链)。自证不通过不计费。"},{"name":"doc_translate_cn","description":"文档翻译成中文,保留段落结构。逐段翻译并核对段落条数进出一致 —— 漏译最常见的形态就是整段消失,这里会当场发现。入参 url(文档链接)或 text,可选 target(默认 zh)。自证不通过不计费。"}],"toolCount":23,"serverName":"netcafe-docs","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-05T19:27:40.786Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":404,"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":"pdf_add_page_numbers","description":"Stamp page numbers or footer text onto every page of a PDF. Supports a starting number, roman numerals, skipping a cover page, position and font size — the comb"},{"name":"md_to_pdf","description":"Markdown → styled PDF. Send markdown text or a URL to a .md file, get a print-ready PDF back."},{"name":"md_to_docx","description":"Markdown → Word (.docx). The deliverable your non-technical colleagues actually open."},{"name":"md_to_pptx","description":"Markdown (heading per slide) → PowerPoint .pptx. Fastest structured route to a deck."},{"name":"md_to_html","description":"Markdown → standalone styled HTML page (single file, inline CSS)."},{"name":"md_to_epub","description":"Markdown → EPUB e-book, with title and author metadata."},{"name":"docx_to_md","description":"Word .docx (by URL) → clean Markdown. Feed documents to your agent pipeline."},{"name":"merge_pdf","description":"Merge several PDFs (by URL) into one. urls = comma-separated links, in order."},{"name":"split_pdf","description":"Extract a page range from a PDF (by URL) into a new PDF. from/to are 1-based page numbers."},{"name":"pdf_page_count","description":"Count pages and report each page size of a PDF (by URL)."},{"name":"pdf_watermark","description":"Stamp diagonal text watermark on every page of a PDF (by URL). text = the watermark."},{"name":"pdf_rotate","description":"Rotate all pages of a PDF (by URL) by 90/180/270 degrees."}],"toolCount":13,"serverName":"netcafe-docflow","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-05T19:27:39.963Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":409,"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":"redact_text","description":"Strip emails, phone numbers, ID numbers, API keys, private keys, JWTs, card numbers and IPs out of text, returning the redacted text plus a mapping table to res"},{"name":"json_yaml","description":"Converts JSON to YAML or YAML to JSON. It works out which one you gave it, so you do not have to say. A parse failure comes back with the parser message instead"},{"name":"validate_json","description":"Checks that text parses as JSON, and optionally that required keys are present with the right top-level types. Returns the specific violations, not just true/fa"},{"name":"diff_text","description":"Returns which lines were added and which were removed, with line numbers — computed with a longest-common-subsequence, not guessed by a model. Use to compare tw"},{"name":"jwt_decode","description":"Decodes the header and payload of a JWT and reports issued-at / expiry as readable timestamps plus seconds remaining. The signature is NOT verified and the resp"},{"name":"regex_test","description":"Runs a regular expression against sample text and returns every match with its position and capture groups (named groups included). Use before wiring a pattern "},{"name":"transpile_sql","description":"Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, "},{"name":"make_qr","description":"Any text or URL → a QR code PNG you can embed or download. Stateless URL form: https://ainetcafe.com/i/qr/<text>"},{"name":"json_format","description":"Validate and pretty-print JSON (2-space indent). Reports the error location if invalid."},{"name":"timezone_convert","description":"Convert a time between time zones, or get current time in any zone. from/to = IANA zone (Asia/Shanghai), time = YYYY-MM-DDTHH:mm (default now)."},{"name":"unit_convert","description":"Convert units: length, weight, temperature, area, volume, speed, data size. value + from + to (e.g. 100 km mi, 25 c f)."},{"name":"sql_from_description","description":"Plain-language request + table schema → ready-to-run .sql file with comments."},{"name":"screenshot_url","description":"Full-page screenshot of any URL → PNG. The same job screenshot APIs charge $7-79/month for."}],"toolCount":14,"serverName":"netcafe-devkit","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-05T19:27:39.106Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":410,"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":"china_reachability","description":"Fetch a URL from a real mainland-China network egress and report HTTP status, latency and China DNS resolution. Answers \"is my site/API usable from China?\" with"},{"name":"lunar_calendar","description":"Chinese lunar calendar for any date: 农历、干支纪年、生肖、节气、节日、星座。date omitted = today."},{"name":"bazi_chart","description":"八字排盘 from birth date and hour: four pillars (年月日时柱), five-element counts, 纳音, zodiac. Uses true solar-term boundaries."},{"name":"huangli","description":"Chinese almanac for a date: 宜 (auspicious activities), 忌 (avoid), 冲煞, 彭祖百忌. date omitted = today."},{"name":"pick_lucky_days","description":"Find auspicious days in a month for an event: 结婚/领证/搬家/开业/装修/出行/签约/订婚/安床/安葬 or any 黄历宜 term."},{"name":"cn_holiday","description":"Is a date a Chinese public holiday, weekend, or 调休 make-up workday? Plus the next holiday."},{"name":"id_card_check","description":"中国大陆身份证号校验:check digit validity, birth date, age, gender, region code. id = 18-digit ID number."},{"name":"phone_info","description":"中国大陆手机号识别:validity, carrier (移动/联通/电信/虚拟运营商), formatted forms. phone = 11-digit number."},{"name":"pinyin_convert","description":"Convert Chinese text to pinyin: with or without tones, first letters only, or as a slug. text = Chinese text."},{"name":"reachability_report","description":"一批 URL 的中国大陆可达性体检 → PDF 报告:逐个的可达结论、延迟、HTTP 状态与大陆 DNS 解析到的 IP。探测从真实的中国移动骨干网节点发出,不是境外 VPS 推断。入参 urls(数组或逗号分隔,最多 20 个)。自证不通过不计费。"}],"toolCount":11,"serverName":"netcafe-china","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":{"name":"ai-netcafe","registry":"pypi","observedAt":"2026-09-05T19:28:38.814Z","publishedAt":"2026-08-21T01:40:29.653583Z","latestVersion":"1.6.1"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.ainetcafe/netcafe-tasks","url":"https://registry.modelcontextprotocol.io/v0/servers/com.ainetcafe%2Fnetcafe-tasks","firstSeenAt":"2026-09-05T16:18:53.207Z","fetchedAt":"2026-09-05T16:18:53.207Z","normalizedAt":"2026-09-05T16:18:53.207Z"},{"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-09-05T16:18:53.207Z","normalizedAt":"2026-09-05T16:18:53.207Z"},{"source":"mcp_registry","key":"com.ainetcafe/ai-netcafe","url":"https://registry.modelcontextprotocol.io/v0/servers/com.ainetcafe%2Fai-netcafe","firstSeenAt":"2026-09-05T16:18:53.207Z","fetchedAt":"2026-09-05T16:18:53.207Z","normalizedAt":"2026-09-05T16:18:53.207Z"},{"source":"mcp_registry","key":"com.ainetcafe/netcafe-almanac","url":"https://registry.modelcontextprotocol.io/v0/servers/com.ainetcafe%2Fnetcafe-almanac","firstSeenAt":"2026-09-05T16:18:53.207Z","fetchedAt":"2026-09-05T16:18:53.207Z","normalizedAt":"2026-09-05T16:18:53.207Z"},{"source":"mcp_registry","key":"com.ainetcafe/netcafe-build","url":"https://registry.modelcontextprotocol.io/v0/servers/com.ainetcafe%2Fnetcafe-build","firstSeenAt":"2026-09-05T16:18:53.207Z","fetchedAt":"2026-09-05T16:18:53.207Z","normalizedAt":"2026-09-05T16:18:53.207Z"},{"source":"mcp_registry","key":"com.ainetcafe/netcafe-china","url":"https://registry.modelcontextprotocol.io/v0/servers/com.ainetcafe%2Fnetcafe-china","firstSeenAt":"2026-09-05T16:18:53.207Z","fetchedAt":"2026-09-05T16:18:53.207Z","normalizedAt":"2026-09-05T16:18:53.207Z"},{"source":"mcp_registry","key":"com.ainetcafe/netcafe-devkit","url":"https://registry.modelcontextprotocol.io/v0/servers/com.ainetcafe%2Fnetcafe-devkit","firstSeenAt":"2026-09-05T16:18:53.207Z","fetchedAt":"2026-09-05T16:18:53.207Z","normalizedAt":"2026-09-05T16:18:53.207Z"},{"source":"mcp_registry","key":"com.ainetcafe/netcafe-docflow","url":"https://registry.modelcontextprotocol.io/v0/servers/com.ainetcafe%2Fnetcafe-docflow","firstSeenAt":"2026-09-05T16:18:53.207Z","fetchedAt":"2026-09-05T16:18:53.207Z","normalizedAt":"2026-09-05T16:18:53.207Z"},{"source":"mcp_registry","key":"com.ainetcafe/netcafe-docs","url":"https://registry.modelcontextprotocol.io/v0/servers/com.ainetcafe%2Fnetcafe-docs","firstSeenAt":"2026-09-05T16:18:53.207Z","fetchedAt":"2026-09-05T16:18:53.207Z","normalizedAt":"2026-09-05T16:18:53.207Z"},{"source":"mcp_registry","key":"com.ainetcafe/netcafe-images","url":"https://registry.modelcontextprotocol.io/v0/servers/com.ainetcafe%2Fnetcafe-images","firstSeenAt":"2026-09-05T16:18:53.207Z","fetchedAt":"2026-09-05T16:18:53.207Z","normalizedAt":"2026-09-05T16:18:53.207Z"},{"source":"mcp_registry","key":"com.ainetcafe/netcafe-live-data","url":"https://registry.modelcontextprotocol.io/v0/servers/com.ainetcafe%2Fnetcafe-live-data","firstSeenAt":"2026-09-05T16:18:53.207Z","fetchedAt":"2026-09-05T16:18:53.207Z","normalizedAt":"2026-09-05T16:18:53.207Z"},{"source":"mcp_registry","key":"com.ainetcafe/netcafe-memory","url":"https://registry.modelcontextprotocol.io/v0/servers/com.ainetcafe%2Fnetcafe-memory","firstSeenAt":"2026-09-05T16:18:53.207Z","fetchedAt":"2026-09-05T16:18:53.207Z","normalizedAt":"2026-09-05T16:18:53.207Z"},{"source":"mcp_registry","key":"com.ainetcafe/netcafe-tables","url":"https://registry.modelcontextprotocol.io/v0/servers/com.ainetcafe%2Fnetcafe-tables","firstSeenAt":"2026-09-05T16:18:53.207Z","fetchedAt":"2026-09-05T16:18:53.207Z","normalizedAt":"2026-09-05T16:18:53.207Z"},{"source":"pypi","key":"ai-netcafe","url":"https://pypi.org/project/ai-netcafe/","firstSeenAt":"2026-09-05T16:19:28.253Z","fetchedAt":"2026-09-05T16:19:28.253Z","normalizedAt":"2026-09-05T16:19:28.253Z"}]},"firstSeenAt":"2026-09-05T16:18:53.207Z","updatedAt":"2026-09-05T19:28:38.814Z"}