browser-research-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port to bind the MCP server | 7862 |
| HEADLESS | No | Whether to run Chromium headless (set to false to debug locally) | true |
| MCP_HOST | No | Host to bind the MCP server | 0.0.0.0 |
| MCP_TRANSPORT | No | MCP transport (stdio, SSE, or streamable-http) | stdio |
| ANTHROPIC_MODEL | No | Model name for Anthropic | claude-sonnet-4-6 |
| ANTHROPIC_API_KEY | No | API key for Anthropic, required for extract tool |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| visitA | Open a URL with a real Chromium and return its rendered state. Use when the cheaper fetch tools (web_fetch, pdf_fetch, http_post_form) fail because the page is a SPA, JS-rendered chart, login-walled, or has a dropdown that's not a separate URL. Args: url: The page URL. wait_for_selector: Optional CSS selector to await before reading the DOM. Use when data appears only after an AJAX call returns — e.g. ".chart svg", "table#monthly tbody tr". wait_extra_ms: Extra settle time after the wait fires (default 1500). timeout_ms: Hard navigation timeout (default 45s). screenshot: Whether to capture a PNG (default True). Adds ~200ms. full_page_screenshot: Scroll-stitch the whole page (default False). text_cap: Cap on extracted text length (default 30000). Returns: {url, title, domain, text, screenshot_b64, screenshot_bytes, fetched_at, current_date} |
| actA | 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. 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 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"}. |
| extractA | Visit a URL → focused Sonnet structured extraction. Sends BOTH rendered text AND a screenshot to Sonnet — so numbers drawn via canvas / SVG (chart values on PPAC, RBI, NSE dashboards) that don't appear in the DOM still get extracted. Same returned shape as pdf_fetch_structured / web_fetch_structured on authority-web-search-mcp. Args: url: The page URL. focus: What to extract, e.g. "monthly LPG, MS, HSD consumption for FY2024-25" or "Q4 FY26 EBITDA margin and revenue". wait_for_selector: Optional CSS selector to await (see visit). full_page_screenshot: Default True so charts below the fold are seen. Returns: {url, domain, title, dateline, summary, key_facts[], numeric_values[], dates[], tables_summary[], kind: "browser"}. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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