Skip to main content
Glama
rsi-ai-platform

rsi-search-pro-mcp

Official

act

Navigate interactive web pages by executing a sequence of browser actions (click, fill, select, wait), then extract structured data from the final state.

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"|<int px>}}
    {"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
Behavior5/5

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

With no annotations provided, the description fully covers behavioral traits. It details the sequence of steps, various action types (click, fill, select, etc.), timing, screenshots, and the return shape including step_results and final_url. No negative traits are concealed.

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 well-structured and front-loaded with a clear summary, but it is quite lengthy. However, every sentence adds value, and the example aids understanding.

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 complexity of 5 parameters and no output schema, the description is complete. It covers all input parameters, step types, and output fields, and provides a concrete example. No missing information.

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%, but the description compensates by explaining each parameter: url, steps (with full vocabulary and examples), focus, timeout_ms, and full_page_screenshot. It also describes the return value structure, adding significant meaning beyond the schema.

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 the tool drives a Chromium through steps and then extracts data using Sonnet. It distinguishes itself from sibling tools 'visit' and 'extract' by noting that they only read the page as loaded, while 'act' performs interactions.

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 specifies when to use the tool: 'when the data is BEHIND an interaction' such as dropdowns, tabs, buttons, or forms. It also contrasts with alternatives, stating that 'visit' and 'extract' only read the page as it loaded.

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/rsi-search-pro-mcp'

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