feat: Add tool annotations for improved LLM tool understanding#97
Merged
meirk-brd merged 3 commits intobrightdata:mainfrom Jan 15, 2026
Merged
Conversation
Add readOnlyHint, destructiveHint, openWorldHint, and title annotations to all 63 tools to help LLMs better understand tool behavior and make safer decisions. Changes: - Added annotations to 7 API tools (search_engine, scrape_as_markdown, search_engine_batch, scrape_batch, scrape_as_html, extract, session_stats) - Added annotations to 43 web_data_* dataset tools via dynamic generation - Added annotations to 13 browser automation tools Annotation strategy: - Read-only tools (queries, fetches, scraping): readOnlyHint: true - Browser interaction tools (navigate, click, type, scroll): destructiveHint: true - Tools accessing external services: openWorldHint: true - All tools include human-readable title annotations 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Collaborator
|
Hi @triepod-ai, thank you for your contribution to Bright Data MCP. We’ll review your PR soon and proceed with the merge. |
…nto feat/add-tool-annotations
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds MCP tool annotations (
readOnlyHint,destructiveHint,openWorldHint,title) to all 63 tools to help LLMs better understand tool behavior and make safer decisions about tool execution.Changes
API Tools (7 tools)
search_engine- readOnlyHint: true, openWorldHint: truescrape_as_markdown- readOnlyHint: true, openWorldHint: truesearch_engine_batch- readOnlyHint: true, openWorldHint: truescrape_batch- readOnlyHint: true, openWorldHint: truescrape_as_html- readOnlyHint: true, openWorldHint: trueextract- readOnlyHint: true, openWorldHint: truesession_stats- readOnlyHint: trueWeb Data Tools (43 tools)
All
web_data_*dataset tools receive:readOnlyHint: true- these tools only fetch dataopenWorldHint: true- they access external APIstitle- dynamically generated human-readable titleBrowser Tools (13 tools)
scraping_browser_snapshot,scraping_browser_screenshot,scraping_browser_get_html,scraping_browser_get_text,scraping_browser_network_requests,scraping_browser_wait_for_refscraping_browser_navigate,scraping_browser_go_back,scraping_browser_go_forward,scraping_browser_click_ref,scraping_browser_type_ref,scraping_browser_scroll,scraping_browser_scroll_to_refWhy This Matters
Tool annotations provide semantic metadata that helps MCP clients:
Testing
npm installsucceedsnode --check)Before/After
Before:
After:
🤖 Generated with Claude Code