cd /news/ai-agents/show-hn-what-67-mcp-servers-do-at-st… · home › topics › ai-agents › article
[ARTICLE · art-161853] src=mcp.brydge-ai.com ↗ pub= topic=ai-agents verified=true sentiment=· neutral

Show HN: What [67] MCP servers do at startup, with the internet cut off

A Level 1 measurement of 67 npm MCP server packages, run on 2026-10-31 with no route to the internet and no real credentials, found that 7 servers reached for a website their own README does not name and 24 offered a tool their README does not name, out of 1,143 tools offered in total, none of which was called. The author cautions that the tool-naming rule reads only the README shipped in the package, so 10 servers with READMEs under three kilobytes show every tool as unnamed, and that the results are not calibration-backed and not a ranking of the most-used servers. The set measured was whatever two registry searches returned, filtered by hand for servers that start without a credential, and four widely used servers that neither search returned are included.

read7 min views1 publishedNov 1, 2026
Show HN: What [67] MCP servers do at startup, with the internet cut off
Image: source

7 of 67 servers reached for a website their own README does not name #

Each of those 7 servers is recorded with the name it asked for and the line of its README that does not contain it. Nothing left the machine: the room has no route off the host, so every name answered to the loopback address and no connection completed.

24 servers offered a tool their README does not name — 1,143 tools were offered in total and none was called. Read that second figure with the caveat attached: this rule reads only the README that shipped in the package, so a server documenting its tools in a reference file beside it shows every tool as unnamed, and 10 of those servers have a README under three kilobytes. A large count here is a fact about the rule as much as about the package.

2 did both. The remaining 38 had nothing found, which is not the same as a clean sweep — see below.

67 npm packages, each measured from its name alone: installed, started in a room with no route to the internet and no real credentials, asked for its list of tools, and compared against its own README. No tool was called. Measured 2026-10-31.

Not calibration-backed. The calibration behind the ten curated measurements proves the instrument catches planted claims about what a tool did. Level 1 calls no tool and reads each README by a stated rule rather than by a person, so nothing in that calibration speaks to these pages.

A website counts as declared only if the README names it. A tool counts as documented only if the README names it as a whole word.

This is not a ranking of the most-used servers. The set measured is whatever two registry searches returned, read by hand for whether each package is a server that starts without a credential. Download figures decided nothing about the order of this table, which is alphabetical by package, and four widely used servers are measured here that neither search returned at all. Nothing on this page says one server is more used, better or worse than another.

| Package | Version | Published at | Tools offered | Websites reached for | Not named in the README | Report |

|---|---|---|---|---|---|---|
| `@ai-dossier/mcp-server` | `1.6.5` | github.com/imboard-ai/ai-dossier | 10 | 0 | none | [report](https://mcp.brydge-ai.com/s/ai-dossier--mcp-server.html) | 
| `@cap-js/mcp-server` | `0.1.0` | github.com/cap-js/mcp-server | 2 | 1 | none | [report](https://mcp.brydge-ai.com/s/cap-js--mcp-server.html) | 
| `@contentrain/mcp` | `3.11.21` | github.com/Contentrain/ai | 22 | 0 | none | [report](https://mcp.brydge-ai.com/s/contentrain--mcp.html) | 
| `@cyanheads/pubmed-mcp-server` | `2.11.1` | github.com/cyanheads/pubmed-mcp-server | 12 | 0 | none | [report](https://mcp.brydge-ai.com/s/cyanheads--pubmed-mcp-server.html) | 
| `@drawio/mcp` | `1.10.1` | github.com/jgraph/drawio-mcp | 8 | 0 | none | [report](https://mcp.brydge-ai.com/s/drawio--mcp.html) | 
| `@ericthered926/duckduckgo-mcp-server` | `0.6.0` | github.com/ericthered926/duckduckgo-mcp-server | 2 | 0 | none | [report](https://mcp.brydge-ai.com/s/ericthered926--duckduckgo-mcp-server.html) | 
| `@hisma/server-puppeteer` | `0.6.5` | github.com/Hisma/servers-archived | 7 | 0 | none | [report](https://mcp.brydge-ai.com/s/hisma--server-puppeteer.html) | 
| `@knip/mcp` | `0.0.37` | github.com/webpro-nl/knip | 2 | 0 | none | [report](https://mcp.brydge-ai.com/s/knip--mcp.html) | 
| `@kubb/mcp` | `5.15.3` | github.com/kubb-labs/kubb | 3 | 0 | none | [report](https://mcp.brydge-ai.com/s/kubb--mcp.html) | 
| `@magicuidesign/mcp` | `2.0.0` | github.com/magicuidesign/mcp | 3 | 0 | none | [report](https://mcp.brydge-ai.com/s/magicuidesign--mcp.html) | 
| `@mantine/mcp-server` | `9.7.4` | github.com/mantinedev/mantine | 5 | 0 | none | [report](https://mcp.brydge-ai.com/s/mantine--mcp-server.html) | 
| `@mastra/mcp-registry-registry` | `1.1.7` | github.com/mastra-ai/mastra | 2 | 0 | none | [report](https://mcp.brydge-ai.com/s/mastra--mcp-registry-registry.html) | 
| `@modelcontextprotocol/server-memory` | `2.0.1` | github.com/modelcontextprotocol/servers | 9 | 0 | none | [report](https://mcp.brydge-ai.com/s/modelcontextprotocol--server-memory.html) | 

| @modelcontextprotocol/server-sequential-thinking | 2.0.0 | github.com/modelcontextprotocol/servers | 1 | 0 | none | report |

| `@mui/mcp` | `0.1.9` | github.com/mui/mui-x | 2 | 1 | none | [report](https://mcp.brydge-ai.com/s/mui--mcp.html) | 
| `@negokaz/excel-mcp-server` | `0.12.0` | not stated | 6 | 0 | none | [report](https://mcp.brydge-ai.com/s/negokaz--excel-mcp-server.html) | 
| `@next-ai-drawio/mcp-server` | `0.4.7` | github.com/DayuanJiang/next-ai-draw-io | 16 | 0 | none | [report](https://mcp.brydge-ai.com/s/next-ai-drawio--mcp-server.html) | 
| `@playwright/mcp` | `0.0.83` | github.com/microsoft/playwright-mcp | 25 | 0 | none | [report](https://mcp.brydge-ai.com/s/playwright--mcp.html) | 
| `@putervision/behavior-mcp` | `0.4.1` | github.com/putervision/behavior-mcp | 10 | 0 | none | [report](https://mcp.brydge-ai.com/s/putervision--behavior-mcp.html) | 
| `@putervision/state-memory-mcp` | `1.4.1` | github.com/putervision/state-memory-mcp | 13 | 0 | none | [report](https://mcp.brydge-ai.com/s/putervision--state-memory-mcp.html) | 
| `@putervision/world-model-mcp` | `0.6.1` | github.com/putervision/world-model-mcp | 15 | 0 | none | [report](https://mcp.brydge-ai.com/s/putervision--world-model-mcp.html) | 
| `@superdoc/mcp` | `1.12.0` | github.com/superdoc/docx-editor | 13 | 0 | none | [report](https://mcp.brydge-ai.com/s/superdoc--mcp.html) | 
| `@taiga-ui/mcp` | `0.4.1` | github.com/taiga-family/taiga-ui-mcp | 4 | 0 | none | [report](https://mcp.brydge-ai.com/s/taiga-ui--mcp.html) | 
| `@tokenizin/mcp-npx-fetch` | `1.0.0` | github.com/tokenizin-agency/mcp-npx-fetch | 4 | 0 | none | [report](https://mcp.brydge-ai.com/s/tokenizin--mcp-npx-fetch.html) | 
| `@transcend-io/mcp-server-docs` | `0.4.16` | github.com/transcend-io/tools | 2 | 0 | none | [report](https://mcp.brydge-ai.com/s/transcend-io--mcp-server-docs.html) | 
| `@ui5/mcp-server` | `0.3.2` | github.com/UI5/mcp-server | 10 | 0 | none | [report](https://mcp.brydge-ai.com/s/ui5--mcp-server.html) | 
| `@upstash/context7-mcp` | `4.4.4` | github.com/upstash/context7 | 2 | 0 | none | [report](https://mcp.brydge-ai.com/s/upstash--context7-mcp.html) | 
| `ai-model-advisor-mcp` | `2.3.0` | github.com/Semicolon-D/model-advisor-mcp | 9 | 0 | none | [report](https://mcp.brydge-ai.com/s/ai-model-advisor-mcp.html) | 
| `excalidraw-mcp` | `1.0.0` | not stated | 11 | 0 | none | [report](https://mcp.brydge-ai.com/s/excalidraw-mcp.html) | 
| `hourei-mcp-server` | `1.0.6` | github.com/groundcobra009/hourei-mcp-server | 3 | 0 | none | [report](https://mcp.brydge-ai.com/s/hourei-mcp-server.html) | 
| `mcp-server-code-runner` | `0.1.8` | github.com/formulahendry/mcp-server-code-runner | 1 | 0 | none | [report](https://mcp.brydge-ai.com/s/mcp-server-code-runner.html) | 
| `package-registry-mcp` | `2.1.0` | github.com/artmann/package-registry-mcp | 16 | 0 | none | [report](https://mcp.brydge-ai.com/s/package-registry-mcp.html) | 
| `playwright-mcp` | `0.0.19` | github.com/Ashish-Bansal/playwright-mcp | 7 | 0 | none | [report](https://mcp.brydge-ai.com/s/playwright-mcp.html) | 
| `puppeteer-mcp-server` | `0.7.2` | github.com/merajmehrabi/puppeteer-mcp-server | 8 | 0 | none | [report](https://mcp.brydge-ai.com/s/puppeteer-mcp-server.html) | 
| `sample-aws-pricing-calculator-mcp` | `1.3.4` | not stated | 10 | 0 | none | [report](https://mcp.brydge-ai.com/s/sample-aws-pricing-calculator-mcp.html) | 
| `scryfall-mcp-server` | `0.1.1` | modelcontextprotocol.io | 7 | 0 | none | [report](https://mcp.brydge-ai.com/s/scryfall-mcp-server.html) | 
| `smart-web-mcp` | `1.10.19` | github.com/jojo-labs/smart-web | 6 | 0 | none | [report](https://mcp.brydge-ai.com/s/smart-web-mcp.html) | 
| `ssh-mcp` | `2.22.0` | github.com/tufantunc/ssh-mcp | 15 | 0 | none | [report](https://mcp.brydge-ai.com/s/ssh-mcp.html) | 

Reading the table #

  • Published at is the repository or homepage the package's own manifest points at, printed because two packages measured here are called Playwright and are not by the same people. It is what each package says about itself and is not verified.
  • Tools offered is what each server answered to onetools/list request. None was called.
  • Websites reached for counts the distinct names a server looked up or opened an encrypted connection to before any tool was used. Nothing left the machine: every name answered to the loopback address, so no connection completed and no contents were seen.
  • Not named in the README is the comparison, by the rule above and nothing looser. "none" means every tool it offered and every website it reached for appears in its own README.
  • An empty row is not a clean sweep. A server that offers few tools and reaches for no website has little for this comparison to find, which is a fact about the measurement as much as about the server.
  • A large count is not a scandal either. Only the README file that shipped in the package is read. A server that documents its tools in another file — a reference page beside the README, or a website — shows every tool it offers as not named here. Each report cites the README it read, its digest and its line count, and the name it looked for and did not find, so any row can be checked rather than taken.
  • It is one run, once, with no route off the machine and no tool called. A page here says what a server did at startup while being watched, and where its README was silent about it. It says nothing else.

All 67 packages started, so no row says could not start. Evidence for every row — the full trace, the tool list, the README digest and each citation — is in level1/evidence/, one JSON file per package, beside the code that produced it.

29 pages are not published yet. Each reports a finding, and a page reporting a finding goes up only after its maintainers have been notified and three days have passed. The counts above include them; the pages and the package names do not appear until then. How that works

── more in #ai-agents 4 stories · sorted by recency
── more on @@modelcontextprotocol/server-memory 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-what-67-mcp-…] indexed:0 read:7min 2026-11-01 · —