dsh-netcafe
mario03690/dsh-netcafe
DeepSeek Harness bundle: adds AI NetCafé's hosted outcome tools to your dsh profile in one install — invoice batches and bank statements that arithmetic-check themselves, SQL dialect transpile, mainland-China reachability from a real China Mobile vantage
Install
dsh plugin --profile web add github:mario03690/dsh-netcafeREADME
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>. The main endpoint exposes 24 curated tools; 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. |
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
Install
dsh plugin --profile <your-profile> add dsh-netcafe
@deepseek-ai/dsh-mcp-client is a peer dependency — it ships with dsh, so in a normal install
you already have it. If your profile doesn't, add it explicitly:
dsh plugin --profile <your-profile> add @deepseek-ai/dsh-mcp-client
Uninstall
dsh plugin --profile <your-profile> remove dsh-netcafe
That removes the bundle's layer; no state is left behind on your machine. Anything you stored with
remember lives on the server against your key — call forget first if you want it gone.
Supported versions
- Tested against
@deepseek-ai/dsh-mcp-client@0.0.1-rc.1(the version published 2026-08-10) and the developer-previewdshfrom that same window. - dsh is in developer preview and its maintainers explicitly warn about compatibility-breaking changes. This bundle deliberately depends only on the MCP client's config shape — the narrowest surface available — but if dsh renames or restructures that plugin, this will break until updated. Open an issue and it'll be fixed.
- The MCP server itself speaks protocol
2025-06-18over Streamable HTTP and is versioned independently of dsh.
Cost, quota and privacy
- Free anonymous quota, no signup. Every response reports the exact USD it cost.
- When the free quota runs out, the response tells you how to continue — either an
AllRouter key in an
Authorizationheader (billed to you at direct token rates), or a per-call x402 payment. Nothing silently fails. - Documents you send are processed in memory and not retained. Memory you store with
rememberis kept against your key until youforgetit. - The URL in the bundled config carries
?s=dsh-plugin. That is a channel tag so we can tell which distribution path actually gets used — it identifies the path, not you. Drop it by writing your own config row if you'd rather not send it.
Disclosure
Built and maintained by the people who run ainetcafe.com — this is our own service, not a neutral third-party integration. The tools have a free tier and paid usage beyond it.
License
MIT