Skip to content

fix(tools): describe automatic mode by what it does, not as getting past blocks - #47

Merged
tedi-z merged 3 commits into
mainfrom
fix/ACT-1566-neutral-tool-wording
Oct 14, 2026
Merged

tedi-z merged 3 commits into
mainfrom
fix/ACT-1566-neutral-tool-wording

Conversation

@tedi-z

@tedi-z tedi-z commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Why

ACT-1566: the ChatGPT plugin directory review reads tool descriptions against OpenAI's plugin guidelines. They prohibit bypassing third-party "access controls" and scraping "without proper authorization". Several descriptions read as exactly that:

  • "get past a block"
  • "escalates when a site blocks"
  • "anti-bot infrastructure"
  • "Adaptive Stealth Mode"

This PR needs a named sign-off before merging. Tool descriptions are shared by every MCP client (Claude, Cursor, OpenClaw, Codex …), so this changes what all of them read. It's draft until that person approves (ACT-1566, blocker 3).

What

  • "Adaptive Stealth Mode" becomes "automatic mode (mode=auto)" in tool and parameter descriptions. The parameter has always been mode=auto. The product name is unchanged everywhere else (docs, CLI, code identifiers).
  • scrape: "escalates only when the site blocks… Pass just the URL for protected, dynamic, or blocked pages; js_render and premium_proxy are not needed to get past a block" becomes "adds JS rendering or premium proxies per page only when a plain request does not return the page… Pass just the URL."
  • scrape, extract, batch_create (premium_proxy): "already escalates (to premium proxies) when a site blocks" becomes "already uses premium proxies when a page needs them".
  • extract and batch_create: "Pass just the URL(s) for protected or dynamic pages/sites" becomes "Pass just the URL(s)".
  • browser_navigate: "Zenrows' anti-bot infrastructure" becomes "Zenrows' hosted browser infrastructure".
  • No parameter, default or behaviour changes.

Test

tests/descriptions.test.ts lists every tool through a real MCP client, hosted and stdio, and fails if a tool or parameter description matches stealth|anti-bot|get past|site blocks|protected.

  • On main it fails, naming 20 descriptions.
  • With this change, npm test passes: 179 tests, 0 failures. typecheck and lint are clean.

Overlap

#44 edits extract's mode list and its fallback_autoparse text. Those are different lines from the ones this PR changes in src/tools/extract.ts, so whichever merges second may need a trivial rebase.

🤖 Generated with Claude Code

…ast blocks

Directory reviewers read tool descriptions against rules on bypassing
third-party access controls. Phrases like "get past a block", "escalates
when a site blocks", "anti-bot infrastructure" and "Adaptive Stealth Mode"
describe the tools as circumvention. The descriptions now say what the
default does (automatic mode, mode=auto: JS rendering or premium proxies
only when a plain request does not return the page) and what it costs.
No parameter, default or behaviour changes.

tests/descriptions.test.ts lists every tool through a real MCP client and
fails if a tool or parameter description uses that wording again.

Refs ACT-1566

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BUChpDttrHDtU8izeDT2op
@tedi-z tedi-z self-assigned this Oct 13, 2026
@tedi-z
tedi-z requested a review from AnderRV October 13, 2026 16:18
@tedi-z
tedi-z marked this pull request as ready for review October 13, 2026 16:18
…ally available

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ZenRows ZenRows deleted a comment from linear Bot Oct 13, 2026
#49 landed on main with its own version of the Batch-is-GA wording that
5aa2b50 added here, and #44 changed the README row next to it. These three
files now carry main's wording for those lines, so the PR merges cleanly
and its diff against main is the tool-wording change alone.

Refs ACT-1566

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BUChpDttrHDtU8izeDT2op
@tedi-z
tedi-z merged commit 1480b36 into main Oct 14, 2026
2 checks passed
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