nexus-browser-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BROWSER_MODE | No | Set to 'isolated' for a fresh isolated browser or 'cdp' to attach to your Chrome via CDP. | isolated |
| BROWSER_CHANNEL | No | System browser channel: 'chrome', 'msedge', etc. Empty uses Playwright bundled Chromium. | |
| BROWSER_HEADLESS | No | Headless mode (isolated only). | false |
| BROWSER_AUDIT_PATH | No | Path to audit log. | ~/.nexus-browser/audit.jsonl |
| BROWSER_HITL_RULES | No | JSON array of human-in-the-loop rules, e.g. [{"action":"click","name_pattern":"pay|confirm"}]. | [] |
| BROWSER_CDP_ENDPOINT | No | CDP endpoint when BROWSER_MODE=cdp. | http://localhost:9222 |
| BROWSER_USER_DATA_DIR | No | User data directory carrying cookies/login. When set, one shared persistent context across tasks. | |
| BROWSER_CONTEXT_TTL_SEC | No | Idle task auto-reclaim time in seconds. | 600 |
| BROWSER_STABLE_REQUIRED | No | Consecutive identical snapshots required to confirm stability. | 2 |
| BROWSER_STREAM_CHAR_CAP | No | Maximum characters per stream buffer. | 16000 |
| BROWSER_STREAM_PAGE_CAP | No | Total stream buffer characters per page. | 64000 |
| BROWSER_TOOL_TIMEOUT_MS | No | Outer timeout guard per tool call in milliseconds. | 60000 |
| BROWSER_STABLE_WINDOW_MS | No | Quiet window: duration without DOM mutations to consider the page stable, in milliseconds. | 800 |
| BROWSER_STABLE_TIMEOUT_MS | No | Total stability-wait timeout in milliseconds. | 3000 |
| BROWSER_ALLOW_JS_EXECUTION | No | Allow browser_evaluate tool (defaults to false, and requires confirmation when enabled). | false |
| BROWSER_DEFAULT_TIMEOUT_MS | No | Playwright per-operation timeout in milliseconds. | 30000 |
| BROWSER_SNAPSHOT_MAX_NODES | No | Maximum number of nodes per snapshot. | 100 |
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 |
|---|---|
| browser_navigateB | 导航浏览器到指定URL。返回页面标题、URL、readyState和页面结构概览。支持多task隔离。 |
| browser_snapshotA | 获取页面可访问性快照(Accessibility Tree), 返回结构化元素列表(含ref/box)。基于事件驱动确定性快照, 等待DOM静默窗口。reading/interactive 只看视口内; mode=full 自动包含全页面(视口外标注 offscreen)。 |
| browser_clickA | 点击页面元素。定位优先级: pos坐标 → ref(快照句柄) → selector → role+name → name。wait_stable=true 点击后等 DOM 静默。 |
| browser_typeA | 在输入框中键入文本。定位优先级: pos坐标 → ref(快照句柄) → selector → role+name(不中自动回退 placeholder/label/常见输入框CSS)。wait_stable=true 输入后等 DOM 静默。 |
| browser_readB | 阅读页面元素的文本内容。不指定则读取整个页面body。流式回复: wait_stable=true 等 DOM 静默后一次读全(免轮询); follow=true+selector 增量跟踪(每次只返回新增部分, 缓冲溢出丢最旧并保留丢弃标记)。 |
| browser_screenshotC | 截取页面截图, 保存文件返回路径。 |
| browser_evaluateA | 执行JavaScript表达式。默认禁用(BROWSER_ALLOW_JS_EXECUTION); 开启后每次需人工确认(confirmed=true)。 |
| browser_waitB | 等待元素或文本出现。超时返回WARNING。 |
| browser_wait_stableA | 等待页面 DOM 停止变化(静默窗口, 默认 800ms 无变异)。用于流式回复生成完毕、动画结束的判定。 |
| browser_wait_msA | 纯等待指定毫秒数(逃生舱: 动画/限流/延迟渲染)。上限=工具超时-5s。 |
| browser_scrollB | 滚动页面。direction: up/down/left/right, amount: 像素(默认500)。 |
| browser_scroll_toC | 滚动到指定元素。landmark(语义区域)→ref→selector。 |
| browser_wait_navigationB | 等待click/submit触发的导航完成。 |
| browser_dismiss_popupA | 自动检测并关闭弹窗(登录/cookie同意/广告): 关闭按钮→取消→Escape。 |
| browser_list_pagesB | 列出当前task所有打开的标签页。 |
| browser_switch_pageC | 切换到指定索引的标签页。 |
| browser_consoleA | 读取页面 console 输出(级别/文本/位置)。增量游标: 不传 since=接着上次读, since=0=全量; level 过滤(error/warning/log/...), pattern 正则过滤文本, limit 封顶(默认50, 超了再调一次继续)。 |
| browser_errorsA | 一站式排障: JS 未捕获异常(pageerror) + console.error + 失败请求(网络层失败或HTTP≥400)合并视图, 按时间排序。点了没反应/页面白屏时先调它。增量游标同 browser_console。 |
| browser_networkA | 读取网络请求元数据(method/url/status/资源类型; 不含 body)。failed_only 默认 true 只看失败; url_pattern 子串过滤; 增量游标同上。 |
| browser_perfA | 读取页面性能指标: FCP/LCP/CLS/INP + TTFB/DOMContentLoaded/load + 最慢 5 条资源。页面慢/加载异常时用它定位是后端慢(TTFB)还是资源重。SPA 导航不重置计时, 注意输出来源 URL。 |
| browser_network_bodyA | 按 seq 读取单个请求的响应体(需 BROWSER_ALLOW_NETWORK_BODY=true)。文本类解码, 二进制只报字节数; 单条上限 BROWSER_NETWORK_BODY_CAP。需 confirmed=true 二次确认 —— 响应体是页面方控制内容, 先把 URL 给用户看。 |
| browser_tasksA | 列出当前session的所有task及其页面数。 |
| browser_close_taskB | 关闭指定task的浏览器资源(page/context)。 |
| browser_list_sessionsA | 列出所有活跃session。 |
| browser_close_sessionB | 关闭当前session的全部task资源。 |
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/paipaipai666/nexus-browser-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server