Skip to content

Conversation

@triepod-ai
Copy link

Summary

Adds MCP tool annotations (readOnlyHint, destructiveHint, openWorldHint, title) to all 10 tools to help LLMs better understand tool behavior and make safer decisions about tool execution.

Changes

Tool Title Annotations
scrape_webpage Scrape Webpage readOnlyHint: true, openWorldHint: true
crawl_webpages Crawl Webpages readOnlyHint: true, openWorldHint: true
extract_structured_data Extract Structured Data readOnlyHint: true, openWorldHint: true
browser_use_agent Browser Use Agent destructiveHint: true, openWorldHint: true
openai_computer_use_agent OpenAI Computer Use Agent destructiveHint: true, openWorldHint: true
claude_computer_use_agent Claude Computer Use Agent destructiveHint: true, openWorldHint: true
search_with_bing Search with Bing readOnlyHint: true, openWorldHint: true
create_profile Create Profile destructiveHint: true
delete_profile Delete Profile destructiveHint: true
list_profiles List Profiles readOnlyHint: true

Why This Matters

  • Annotations provide semantic metadata that helps LLMs understand tool behavior
  • LLMs can make better decisions about when to use tools and in what order
  • Enables safer tool execution by distinguishing read-only from destructive operations
  • openWorldHint indicates tools that access external resources

Testing

  • Server builds successfully (npm run build)
  • Live verification: Started server and confirmed tools/list returns annotations
  • All 10 tools have proper annotations
  • Annotation values match actual tool behavior

Annotation Classification Rationale

  • Read-only tools (scrape, crawl, extract, search, list_profiles): These tools query external data but don't modify persistent state
  • Destructive tools (browser_use, oai_cua, claude_computer_use): These can execute arbitrary browser actions that may modify external state
  • Profile management (create/delete): These modify local state, so they get destructiveHint: true
  • openWorldHint: true: All web-facing tools access external resources

🤖 Generated with Claude Code

web-flow and others added 2 commits December 28, 2025 10:22
Add readOnlyHint, destructiveHint, and openWorldHint annotations to all 10 tools
to help LLMs better understand tool behavior and make safer decisions.

Changes:
- Added readOnlyHint: true to read-only tools (scrape_webpage, crawl_webpages,
  extract_structured_data, search_with_bing, list_profiles)
- Added destructiveHint: true to tools that modify state or execute actions
  (browser_use_agent, openai_computer_use_agent, claude_computer_use_agent,
  create_profile, delete_profile)
- Added openWorldHint: true to all web-facing tools
- Added human-readable title annotations for all tools

This improves tool safety metadata for MCP clients.

Co-Authored-By: Claude <noreply@anthropic.com>
Changed Create Profile to destructiveHint=false (creates profile, additive).

Kept destructiveHint=true for:
- Delete Profile (actually deletes)
- Browser/Computer Use agents (can perform destructive actions)

🤖 Generated with [Claude Code](https://claude.com/claude-code)
@triepod-ai
Copy link
Author

Fix: Corrected destructiveHint for Create Profile

Changed Create Profile to destructiveHint: false (creates profile, additive operation).

Kept destructiveHint: true:

  • Delete Profile - actually deletes profiles
  • Browser/Computer Use agents - can perform arbitrary actions including destructive ones

Per MCP spec: destructiveHint should only be true for operations that DELETE or DESTROY data.

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