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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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