# com.ainetcafe/netcafe-docflow

> Markdown in, any format out. PDFs merged, split, watermarked. Runs on our own doc engines.

- name: com.ainetcafe/netcafe-docflow
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 88/100 flags: duplicate-repo
- quality: 94/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.ainetcafe%2Fnetcafe-docflow
- tools: https://api.protogrid.dev/v1/servers/com.ainetcafe%2Fnetcafe-docflow/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "netcafe-docflow": {
      "type": "http",
      "url": "https://ainetcafe.com/mcp/paper?s=registry"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 98
- freshness: 85
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-96% ~updated-56d-ago -duplicate-repo(13 names)
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 94/100 (strong)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 300000)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- warn `tools.annotations`: only 2 of 13 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 2 of 13 tools declare all four hints; missing: md_to_pdf (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); pdf_page_count (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); pdf_rotate (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 964 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 13, about 964 tokens to load them all
- tool set hash: a69e12b53ec4b74efc68d8243769ba70
- badge: [![protogrid quality](https://protogrid.dev/badge/com.ainetcafe/netcafe-docflow.svg)](https://protogrid.dev/servers/com.ainetcafe/netcafe-docflow)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://ainetcafe.com/mcp/paper?s=registry (streamable-http, auth none, reachable true, uptime30d 0.96153843)

## Packages

_none_

## Tools (13)

- `docx_to_md`: Word .docx (by URL) → clean Markdown. Feed documents to your agent pipeline.
- `md_to_docx`: Markdown → Word (.docx). The deliverable your non-technical colleagues actually open.
- `md_to_epub`: Markdown → EPUB e-book, with title and author metadata.
- `md_to_html`: Markdown → standalone styled HTML page (single file, inline CSS).
- `md_to_pdf`: Markdown → styled PDF. Send markdown text or a URL to a .md file, get a print-ready PDF back.
- `md_to_pptx`: Markdown (heading per slide) → PowerPoint .pptx. Fastest structured route to a deck.
- `merge_pdf`: Merge several PDFs (by URL) into one. urls = comma-separated links, in order.
- `pdf_add_page_numbers`: 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 combination Acrobat cannot do without scripting. Template supports {n} and {total}, e.g. "Page {n} of {total}".
- `pdf_page_count`: Count pages and report each page size of a PDF (by URL).
- `pdf_rotate`: Rotate all pages of a PDF (by URL) by 90/180/270 degrees.
- `pdf_watermark`: Stamp diagonal text watermark on every page of a PDF (by URL). text = the watermark.
- `split_pdf`: Extract a page range from a PDF (by URL) into a new PDF. from/to are 1-based page numbers.
- `what_can_you_do`: 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.
