Skip to content

feat!: remove the discover tool and Discover API integration - #164

Open
nirsha-brd wants to merge 1 commit into
brightdata:mainfrom
nirsha-brd:remove-discover-api
Open

feat!: remove the discover tool and Discover API integration#164
nirsha-brd wants to merge 1 commit into
brightdata:mainfrom
nirsha-brd:remove-discover-api

Conversation

@nirsha-brd

@nirsha-brd nirsha-brd commented Aug 12, 2026

Copy link
Copy Markdown

Removes the discover tool and its integration with the Bright Data Discover API (POST/GET https://api.brightdata.com/discover).

This is the inverse of #130, which added the tool.

Why this is not a leaf removal

discover was listed in base_tools (tool_groups.js), which is spread into every tool group, and separately in pro_mode_tools (server.js) — which despite its name is the set served when neither GROUPS nor TOOLS is configured, i.e. the default. It was therefore exposed in every out-of-the-box configuration, so removing it changes the default tool set clients see. Hence the major version bump.

Changes

File Change
server.js Deleted the discover tool definition (119 lines); dropped 'discover' from pro_mode_tools
tool_groups.js Dropped 'discover' from base_tools
manifest.json Removed the discover tools entry
assets/Tools.md Removed the table row
README.md Removed the tool row, the routing bullets, the comparison row, three use-case table rows; adjusted tool counts and the #tools-reference-* anchor; renumbered the Tool Selection list
CHANGELOG.md ### Removed entry under 3.0.0
package.json / package-lock.json 2.11.1 → 3.0.0

No changes to test/, mcp-evals/, examples/, or server.json — none reference discover.

Version: 3.0.0, following the precedent of ## [2.0.0], which was cut for "Removed duplicate web_data_ tools" — the same class of change.

Verification

Test suite unchanged from baseline: 16/16 pass before and after.

tools/list over stdio, verified via both the MCP SDK client and a raw JSON-RPC handshake:

Config Tools before Tools after discover
PRO_MODE=true 74 73 absent
default (no GROUPS/TOOLS) 5 4 absent
GROUPS=research 5 4 absent
GROUPS=ecommerce,browser 28 27 absent
TOOLS=extract,scrape_as_html 2 2 absent

A set-difference of the tool names before and after yields exactly REMOVED: discover, ADDED: none — no collateral. Every group still contains the remaining base tools. Calling discover on a stale client returns a clean -32601 Unknown tool: discover rather than crashing the server. Server stderr is byte-identical across configs (only the expected dummy-token zone warning). node --check passes on all changed JS; all JSON files re-validated; every README internal anchor still resolves; all markdown tables keep header/separator/column consistency.

Remaining discover matches in the tree were each reviewed and intentionally left: the English verb in manifest.json's long_description and in prompts.js, the README's "Market discovery" / "discovery queries" phrasing, the historical CHANGELOG entry for #142, and discover_new / discover_by in server.js — the latter are Web Scraper API dataset-trigger parameters for an unrelated product. Searches for relevance_score, filter_keywords, remove_duplicates, include_content and api.brightdata.com/discover return zero hits repo-wide.

Migration

Use search_engine / search_engine_batch to find sources, and scrape_as_markdown / scrape_batch to read them.

Pre-existing issues I deliberately did not fix

Flagging rather than fixing, to keep this diff scoped to the removal:

  1. README tool count is wrong independently of this change. It advertised "69 tools" while the server actually registers 74. I applied only the −1 delta (69 → 68); the real count is now 73. The README's internal arithmetic is self-consistent either way.
  2. manifest.json version drift. It sits at 2.10.0 and was already stale against 2.11.1 on main. Unlike server.json, which .github/workflows/publish-mcp.yml syncs from package.json at publish time, manifest.json has no sync step. This PR edits manifest.json but leaves its version alone.
  3. README.md:381 claims search_engine_batch and scrape_batch are always-enabled base tools, but base_tools never contained them — with GROUPS set they load only via advanced_scraping.

Out of scope

brightdata/skills still ships a discover-api skill, and its live-research and rag-pipeline skills are built on Discover. Those need a follow-up PR.

Removes the `discover` tool and its integration with the Bright Data
Discover API (POST/GET https://api.brightdata.com/discover).

`discover` was part of `base_tools`, so it was spread into all 13 tool
groups, and it was also listed in `pro_mode_tools` - meaning it was
enabled by default in every server configuration. Removing it therefore
changes the default tool set the server advertises.

Migration: use `search_engine` / `search_engine_batch` to find sources
and `scrape_as_markdown` / `scrape_batch` to read them.

BREAKING CHANGE: the `discover` tool is no longer exposed by the server.
@nirsha-brd
nirsha-brd force-pushed the remove-discover-api branch from 5ce5c7d to ed44806 Compare August 12, 2026 14:49
@nirsha-brd
nirsha-brd marked this pull request as ready for review August 12, 2026 15:43
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.

1 participant