Browser automation plugins driven by a real Chromium instance.
BrowserBro exposes 2 tools (browserbro_googlesearch, browserbro_screenshot) via the MCP SDK. Both tools are registered with input schemas derived from plugin implementations, but the actual schema definitions and parameter descriptions are not visible in the provided source code. The code shows that tools are registered dynamically from plugins (pkg/mcp/tools.go, line ~20: `schema := plugin.InputSchema()`), but the plugin implementations (pkg/plugins/googlesearch/googlesearch.go and pkg/plugins/screenshot/screenshot.go) are not included in the source excerpt. This means schema quality, parameter naming, and descriptions cannot be verified from the provided code. The tool registration mechanism is sound (panic recovery, nil-schema checks), but without visibility into the actual plugin schema definitions, we must score conservatively. The names follow a reasonable verb_noun pattern (googlesearch, screenshot) but lack clear action verbs (search_web, take_screenshot would be stronger). No tool descriptions are visible in the registration code provided.
Tool parameter schemas not visible in source code. The plugin implementations (googlesearch.go, screenshot.go) are referenced but not provided, making it impossible to verify input schema structure, parameter types, constraints, or descriptions.
Tool descriptions missing in registration code. The addTools function at pkg/mcp/tools.go line ~34 calls plugin.Description(), but the actual description text is not visible. Without descriptions, LLMs cannot determine when or why to select these tools.
Tool names lack action verbs. 'browserbro_googlesearch' and 'browserbro_screenshot' do not start with clear verbs like 'search_' or 'take_'. This forces LLMs to infer intent from context rather than reading the action from the name.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 33 | <=2025-11-25 | v2 |
Output schema documentation not visible. While the code returns structured output (map[string]any converted to callToolResult.Content), the expected fields and their types are not documented in the visible source.
Parameter descriptions inferred missing. The addTools function validates schema['type'] == 'object' but does not verify that individual properties have descriptions. If plugin schemas lack property-level descriptions, parameters are undocumented.