Skip to content

fix(http): stop the server card describing the server as an anti-bot bypass - #88

Merged
tedi-z merged 2 commits into
mainfrom
fix/server-card-description
Oct 18, 2026
Merged

tedi-z merged 2 commits into
mainfrom
fix/server-card-description

Conversation

@zenrows-dev-pool

@zenrows-dev-pool zenrows-dev-pool Bot commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Why

The public server card still described the server as "scrape and extract from protected sites via Fetch (anti-bot bypass, JS rendering, proxies)":

curl -s https://mcp.zenrows.com/.well-known/mcp/server-card.json | jq .description

#47 removed that vocabulary from every tool and parameter description, because plugin directories (OpenAI's included) read it against their rules on bypassing access controls. The card, which directories and agents read before they connect, was the one public surface left. The text was hard-coded in src/http.ts; package.json and server.json already say something else.

Change

  • mcpServerCard() now uses pkg.description, the same text npm and the MCP Registry show: "Zenrows MCP server: Fetch, Extract, Batch, and Browser Sessions for AI agents" (wording from the follow-up commit, which also updates server.json). One source, so the three listings can't drift apart again.
  • New test in tests/well-known.test.ts: both card paths (/.well-known/mcp/server-card.json, /.well-known/mcp.json) must return the package.json description and must not contain stealth / anti-bot / bypass / protected.

No tool, schema or behaviour change.

Verification

  • The new test fails on main's http.ts (1 fail) and passes with this change.
  • npm test: 254 pass, 0 fail. typecheck, lint and prettier --check are clean.

…bypass

The server card at /.well-known/mcp/server-card.json (and /.well-known/mcp.json)
still said "scrape and extract from protected sites via Fetch (anti-bot bypass,
JS rendering, proxies)", text the tool descriptions dropped in #47. Plugin
directories and agents read this card before they connect.

The card now takes its description from package.json, the same text npm and
the MCP Registry show, so the three listings can't drift apart again. A test
checks both card paths against package.json and rejects the old wording.
@tedi-z tedi-z self-assigned this Oct 18, 2026
@tedi-z
tedi-z requested a review from AnderRV October 18, 2026 13:18
@tedi-z
tedi-z merged commit f233862 into main Oct 18, 2026
4 checks passed
@tedi-z
tedi-z deleted the fix/server-card-description branch October 18, 2026 15:30
@github-actions github-actions Bot mentioned this pull request Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants