sa2web-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sa2_help | Start here. Explains the simplest SA2 remote-browser workflow and which tools to call next. |
| sa2_list_available_targets | Use this first when the user wants to open a SaaS site, workspace, inner site, or asks what saved targets are available. Returns stable targetId values for sa2_open_target. |
| sa2_open_target | Open any SA2 target with one tool. For public websites use type=cloud and url. Saved targets can be opened by targetId or by type plus name; name matching is case-insensitive. |
| browser_open_loginA | Advanced compatibility tool. Open the configured remote browser login URL from SA2_LOGIN_URL; most agents should prefer sa2_open_target, which logs in automatically. |
| browser_navigateA | Advanced compatibility tool. Navigate to a public URL through cloud browsing. Prefer sa2_open_target with type=cloud for simpler agent behavior. |
| browser_navigate_backA | Go back by clicking the remote browser toolbar button #btn-back. |
| browser_navigate_forwardA | Go forward by clicking the remote browser toolbar button #btn-forward. |
| browser_reloadA | Reload by clicking the remote browser toolbar button #btn-reload. |
| browser_list_saas_sites | Advanced compatibility tool. List all SaaS sites from /api/v1/home/saas. Prefer sa2_list_available_targets. |
| browser_list_proxies | Advanced compatibility tool. List cloud browsing proxy options from /api/v1/home/freebrowse. |
| browser_enter_saas_site | Advanced compatibility tool. Enter a SaaS site by saasList id or name. Prefer sa2_open_target with a targetId. |
| browser_list_workspaces | Advanced compatibility tool. List all workspace sites and accounts from /api/v1/home/multis. Prefer sa2_list_available_targets. |
| browser_enter_workspace | Advanced compatibility tool. Enter a workspace account by accountId or by siteId + username. Prefer sa2_open_target with a targetId. |
| browser_list_inner_sites | Advanced compatibility tool. List all inner sites from /api/v1/home/innerSites. Prefer sa2_list_available_targets. |
| browser_enter_inner_site | Advanced compatibility tool. Enter an inner site by id or name. Prefer sa2_open_target with a targetId. |
| browser_snapshot | Capture a flat, model-readable semantic snapshot of the target page inside iframe#rbi-frame, including same-origin descendant iframes. The output is not an indented DOM tree: each line is a semantic record such as PAGE, FRAME, HEADING, TEXT, PARAGRAPH, BUTTON, LINK, INPUT, IMAGE, VIDEO, AUDIO, or SOURCE. Use ref=eN values for follow-up automation actions such as click, type, select, check, upload, hover, or drag. Readable text records include id=tN. Interactive/media records may include context=[t1,t2], which means the element is near or associated with those text records; resolve the ids by reading the matching text lines in the same snapshot. Important: id=tN and context=[tN] are snapshot-only text references, not DOM ids, not CSS selectors, and not valid refs for interaction tools. Do not pass tN, #tN, or text[id='tN'] to browser_extract_text, browser_click, or browser_type. Raw URLs and src/href/srcset values are intentionally omitted from snapshot text; elements with links or resources still receive refs and lightweight flags such as hasUrl=true or hasSource=true. Use the optional filter argument with a real CSS selector to snapshot only matching subtrees in the root page and each same-origin descendant iframe. Omit filter for the full page. Prefer this tool before interacting with the page so you can choose stable refs instead of guessing selectors. |
| browser_extract_text | Extract visible text from the current page. The optional selector must be a real CSS selector from the page DOM. Snapshot text ids such as id=t7 are only references inside browser_snapshot output; do not use t7, #t7, or text[id='t7'] as selector. Read the matching TEXT id=t7 line in the snapshot instead, or omit selector to extract all visible text. |
| browser_click | Click an element by snapshot ref, role/name, text, selector, or x/y coordinates. |
| browser_type | Type or fill text into an element by snapshot ref, role/name, selector, or the focused element. Textareas and contenteditable rich-text editors preserve multiline input; both actual newlines and escaped \n sequences are accepted. |
| browser_press | Press a keyboard key, such as Enter, Escape, Tab, ArrowDown, or Control+A. |
| browser_press_key | Press a keyboard key, such as Enter, Escape, Tab, ArrowDown, or Control+A. |
| browser_wait | Wait for time, text, selector, or URL substring. |
| browser_scroll | Scroll the target page or a scrollable element. With no target or movement arguments, scrolls the root page down 600px. Use ref/selector/role/name/text with mode=intoView to reveal an element, mode=by for relative movement, or mode=to/top/bottom for an absolute position. |
| browser_hover | Hover over an element by snapshot ref, role/name, text, or selector. |
| browser_drag | Drag and drop from one element to another by ref or selector. |
| browser_fill_formB | Fill multiple form fields at once. |
| browser_select_optionC | Select dropdown option values by ref or selector. |
| browser_checkB | Check a checkbox or radio by ref, selector, role/name, or text. |
| browser_uncheckB | Uncheck a checkbox by ref, selector, role/name, or text. |
| browser_file_uploadC | Upload files through a file input by ref or selector. |
| browser_pasteA | Paste clipboard-style text and/or files into a target by snapshot ref, selector, or role/name. Supports text/plain, text/html, text/rtf, and local file paths such as images. If no target is provided, the focused editable element is used, then the root document body. |
| browser_handle_dialogC | Accept or dismiss the current JavaScript dialog. |
| browser_resizeC | Resize the browser viewport. |
| browser_list_devicesA | List all Playwright device presets available to browser_toggle_device. Returns each preset's viewport, screen, device scale factor, touch/mobile flags, and default browser type. Desktop is included as the restore target. |
| browser_toggle_deviceA | Toggle the current browser page between desktop and mobile device emulation without recreating the browser context. Uses Playwright device descriptors and Chromium CDP for dynamic mobile metrics, touch, device scale factor, orientation, and user agent. On Firefox/WebKit only viewport resizing is available. Omit enabled to toggle the current state. |
| browser_screenshotC | Take a PNG screenshot of the current page. |
| browser_take_screenshotC | Take a PNG screenshot of the current page. |
| browser_evaluate | Evaluate JavaScript in iframe#rbi-frame. |
| browser_run_codeC | Run an async JavaScript snippet with Playwright page and iframe#rbi-frame helpers. |
| browser_closeB | Close the current Playwright browser session. |
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/sa2web/sa2web-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server