Skip to main content
Glama
rsi-ai-platform

browser-research-mcp

act

Automate browser interactions like clicking, typing, and selecting to access data behind dynamic elements, then extract structured information.

Instructions

Drive a real Chromium through a sequence of steps, then run Sonnet structured extraction on the final state.

Use this when the data is BEHIND an interaction — a Year/Month dropdown that fires AJAX inline, a tab to click, a "Load more" button, a form to submit. visit and extract only read the page as it loaded; act clicks/types/selects first.

Steps are a list of single-key dicts: {"click": "css-selector"} {"fill": {"selector": "#q", "value": "x"}} {"select": {"selector": "#year", "value": "2024-2025"}} {"press": {"selector": "#q", "key": "Enter"}} {"scroll": {"to": "bottom"|"top"|}} {"wait_for_selector": "css-selector"} {"wait_for_load_state": "networkidle"|"load"} {"wait_ms": 1500} {"goto": "https://…"} // mid-flow navigation {"screenshot": {"name": "after-select"}} // logged, not returned

Example — pull PPAC FY2024-25 monthly consumption (a flow that needs the year dropdown change to fire an AJAX request): act( url="https://ppac.gov.in/consumption/products-wise", steps=[ {"wait_for_selector": "#financialYear"}, {"select": {"selector": "#financialYear", "value": "2024-2025"}}, {"wait_for_load_state": "networkidle"}, {"wait_ms": 2000}, ], focus="FY2024-25 monthly LPG, MS, HSD, ATF consumption", )

Returns the same shape as extract PLUS step_results (per-step timing + ok/error) and final_url.

Args: url: Starting page URL. steps: Ordered list of action dicts (vocabulary above). focus: Extraction focus passed to Sonnet. timeout_ms: Per-step navigation / wait timeout. full_page_screenshot: Whether the final screenshot is full-page.

Returns: {url, domain, title, dateline, summary, key_facts[], numeric_values[], dates[], tables_summary[], step_results[], final_url, kind: "browser"}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
stepsYes
focusNo
timeout_msNo
full_page_screenshotNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses that the tool drives a real browser, performs steps, takes screenshots (logged, not returned), and returns step_results and final_url. It clearly states the behavioral traits beyond the schema, such as per-step navigation and extraction focus.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-structured. It opens with the core purpose, followed by when to use, step vocabulary, example, argument list, and return shape. While every section adds value, some verbosity could be trimmed (e.g., the example could be condensed). However, it is front-loaded with key information and highly readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, no annotations, but output schema exists), the description is exceptionally complete. It explains the return shape (same as extract plus step_results and final_url), covers all parameters, and provides detailed step semantics. No gaps remain for an AI agent to correctly invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It does so thoroughly: describing 'url' as starting page URL, 'steps' as ordered list of action dicts with full vocabulary and examples, 'focus' as extraction focus passed to Sonnet, 'timeout_ms' as per-step timeout, and 'full_page_screenshot' as whether final screenshot is full-page. The example illustrates parameter usage effectively.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Drive a real Chromium through a sequence of steps, then run Sonnet structured extraction on the final state.' It uses a specific verb ('drive', 'run extraction') and resource ('Chromium', 'pages'). It distinguishes from siblings by stating that 'visit' and 'extract' only read the page as loaded, whereas 'act' interacts first.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells when to use this tool: 'Use this when the data is BEHIND an interaction—a Year/Month dropdown that fires AJAX inline, a tab to click, a "Load more" button, a form to submit.' It contrasts with siblings: 'visit and extract only read the page as it loaded; act clicks/types/selects first.' It also provides an extensive step vocabulary and a concrete example.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rsi-ai-platform/browser-research-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server