dsh-netcafe
托管工具服务器(MCP):发票与银行流水提取并做代码内算术校验、按整数分对账、PDF 与表格转换、SQL 方言转写,以及从中国移动骨干网实测大陆可达性。
安装
dsh plugin --profile web add dsh-netcafe
沙箱测试结果
| 阶段 | 结果 |
|---|---|
| 1 安装 | ✗ |
| 2 列装 | — |
| 3 挂载 | — |
| 4 启动 | — |
dsh: initialized profile web at /home/node/.dsh/profiles/web四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。
README
dsh-netcafe

A DeepSeek Harness bundle that adds
AI NetCafé's hosted outcome tools to your dsh profile in one install.
It is a thin configuration layer — it ships no tool code of its own. All it does is insert one
pre-configured @deepseek-ai/dsh-mcp-client row pointing at a remote MCP server, so you don't have
to hand-write the YAML. If you'd rather write those six lines yourself,
the config is documented here and you don't need this package.
What you get
Tools register as mcp__netcafe__<name>. Start with what_can_you_do — describe your task in
any language and it returns exactly which tools here do it, with ready-to-run calls (deterministic,
free, never rate-limited). The main endpoint exposes the curated core set; a few worth naming:
Tool · What it does
extract_invoices · A batch of up to 20 invoices → one ledger-ready table. Every row is checked in code — net + tax must equal gross — and the batch total is re-added independently, so a row the model misread is flagged with the exact difference instead of quietly landing in your books. Mixed currencies get no batch total on purpose: adding them would be an accounting error.
extract_statement · Bank/credit statement PDF → structured transactions, with an arithmetic reconciliation check (opening + credits − debits = closing). If it doesn't balance, it says so and points at the row where the running total first breaks, instead of handing you clean-looking wrong data.
extract_tables · Tables out of PDFs, with schema alignment — give it a target column set and heterogeneous documents come back on the same columns. Rows it isn't sure about are flagged, not guessed.
transpile_sql · SQL between dialects (mysql, postgres, bigquery, snowflake, clickhouse, doris, starrocks, …). Deterministic — a real parser, not a model — so the same input always gives the same output, and syntax errors come back with line and column.
create_task (watch_reachability) · Subscribe a URL to daily China-reachability checks for 30 days — notified only on state change. Pair it with the live README badge: !China, refreshed daily. Weekly public report: <https://ainetcafe.com/lab/china-weekly>
china_reachability · Whether a URL is reachable from a real mainland-China network vantage point, with latency, HTTP status and the IP that China's DNS resolves to. The server genuinely sits on a China Mobile backbone; this is not a guess from an overseas VPS.
check_resume · Whether an ATS can actually parse a résumé (text extractable, contacts findable, multi-column layouts, tables). Rule-based and reproducible — same file, same score tomorrow.
remember / recall · Cross-session memory. Keyed to your AllRouter key or an anonymous workspace token, so a later session — or a different machine — picks up where you left off.
create_task · Hand a recurring job to a hosted runner (watch a page, re-run a question on a schedule). It runs on our servers and notifies you only when the result actually changes, so nothing has to stay open on your side.
Full list: <https://ainetcafe.com/tools>
Or install just one pack
Each pack is also a standalone repo — install exactly one capability set, pay the context cost of nothing else:
dsh-imagegen (image gen, free trial) ·
One dsh profile rarely needs both spreadsheet cleanup and the Chinese lunar calendar, and every
tool description costs tokens on every session. So the same tools are also served as four focused
endpoints — pick one and you only pay the context cost of what you actually use.
Pack · Endpoint · What it is
Tables · /mcp/table · Reconciliation that refuses to guess. Match a bank statement against a ledger with no shared reference — one invoice paid in instalments, one payment covering several invoices. Ambiguous splits are reported, never forced. Reads and writes real .xlsx (dates restored, leading zeros kept). Also: entity dedupe, table diff, messy-CSV cleanup.
Dev kit · /mcp/dev · JSON↔YAML, validate JSON, line diff, regex test, JWT decode, SQL dialect transpile, timezone and unit conversion.
Doc flow · /mcp/docs · Markdown → PDF / Word / PowerPoint / EPUB / HTML, and PDFs merged, split, rotated, watermarked.
China facts · /mcp/cn · Mainland reachability from a real China backbone, statutory holidays including make-up workdays, offline ID and mobile-number validation, lunar calendar.
Making a one-off check permanent
Every tool above is a single call and free. What is not free is having something **keep
running after your session ends** — re-checking a page, re-running a reconciliation each
month, watching whether an endpoint is still reachable from mainland China — and telling
you only when the answer changes.
create_task(kind="reachability", input="https://your-api.com")
That needs a workspace token (?w=ws_... on the MCP URL). The difference is not the
capability; it is who keeps it alive between your sessions.
To use one instead of the full catalogue, comment out the mcp-netcafe row in
cordis.patch.yml and uncomment the
…(truncated)
以上内容来自 npm 上的 README,我们只做格式化,不改内容。
版本
npm 上共发布:4,最后更新 2026-08-22