apex-browser-mcp
The apex-browser-mcp server provides a multi-session browser automation interface via MCP, letting you programmatically control real browsers (Chrome, Chromium, WebKit, Safari) locally or attach to an existing Chrome session.
Session Management
browser_new_session: Launch isolated browser sessions using Chrome, Chromium, WebKit, or Safaribrowser_attach: Connect to a running Chrome instance (adopting its real logged-in session with cookies, or opening a fresh isolated context)browser_list_sessions: View all active sessions with their engine type and current URLbrowser_close_session: Cleanly close and free any open session
Navigation & Page State
browser_navigate: Direct any session to load a specified URLbrowser_snapshot: Capture the page title, current URL, and an indexed list of interactive elements (buttons, inputs, links, etc.) with reference IDs for subsequent interactions
Interaction
browser_click: Click any interactive element using a reference ID from a snapshotbrowser_type: Fill text into form fields by reference, with optional Enter/submit supportbrowser_evaluate: Execute arbitrary JavaScript expressions in the page context and return results
Artifacts
browser_screenshot: Save a PNG of the current browser view and return its file path
The server supports both HTTP daemon and stdio transport, configurable at startup.
Allows controlling real Safari.app via WebDriver for browser automation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@apex-browser-mcpNavigate to https://example.com and take a screenshot."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
apex-browser-mcp
Local multi-session browser MCP for real Chrome, Chromium, WebKit, and real Safari, plus attach to an already-running Chrome session without moving the work into a cloud browser.
Release posture: npm package @apexradius/browser-mcp, version 1.0.0 from
package.json.
Choose your path
You are... | Start here | Then |
Running the daemon or stdio server | Quick start below | |
Auditing browser routing or attach behavior | ||
Reviewing the MCP tool surface |
Related MCP server: Better Browser MCP
Architecture
flowchart TD
U[AI operator] --> C[MCP client]
C --> T[stdio or HTTP transport]
T --> S[MCP server]
S --> M[BrowserManager]
M --> P[SessionPool]
M --> F[SafariLane]
P --> B[Chrome Chromium WebKit sessions]
P --> D[Attached Chrome via CDP]
F --> R[Real Safari.app session]Request flow
flowchart TD
A[Operator opens or attaches a browser session] --> B[Selected MCP tool]
B --> C{New session or attach?}
C -- new --> D[BrowserManager creates session]
C -- attach --> E[Connect to CDP endpoint]
D --> F[Session stored in pool]
E --> F
F --> G[Subsequent navigate snapshot click type evaluate tools]
G --> H[Return text or screenshot path to MCP client]Quick start
Install dependencies and browser engines.
npm install
npx playwright install chromium webkitStart the shared HTTP daemon.
APEX_BROWSER_TRANSPORT=http node src/index.jsRegister it in your MCP client.
{
"mcpServers": {
"apex-browser": {
"type": "http",
"url": "http://127.0.0.1:3010/mcp"
}
}
}Available tools
Tool group | Tools | Purpose |
Session lifecycle |
| Open, adopt, inspect, and close sessions |
Navigation and state |
| Load pages and capture indexed interactive refs |
Interaction |
| Drive page interactions and execute page JS |
Artifacts |
| Save a PNG and return its path |
Runtime proof
Claim | Proof |
Package entry point is stable |
|
HTTP and stdio transports are both first-class | Transport selection in |
Session routing is engine-aware |
|
Tool registration is centralized |
|
Repo map
Path | Purpose |
Process entry point, transport selection, HTTP daemon | |
MCP tool registration and request handlers | |
Unified routing across SessionPool and SafariLane | |
Multi-session Playwright and CDP attach backend | |
Real Safari.app lane | |
Setup, env, validation, common failures | |
Component map and runtime lifecycle |
Validation
Check | Command |
Core regression suite |
|
Attached-Chrome concurrency |
|
README/docs links stay local |
|
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/apexradius/browser-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server