home / mcp / browse together mcp server
Provides a headful browser session exposed via MCP for authenticated, scripted control.
Configuration
View docs{
"mcpServers": {
"canadaduane-browse-together-mcp": {
"command": "deno",
"args": [
"run",
"-A",
"/path/to/browse-together-mcp/mcp.ts"
],
"env": {
"PORT": "8888"
}
}
}
}Browse Together MCP provides a headful Playwright browser paired with an MCP Server on your desktop. You run a persistent browser session that you can control via HTTP API or MCP clients, enabling scriptable tasks and co-browsing while you work in a real browser session.
You will run two services: a Browser Service that keeps a single Playwright browser instance alive and accessible over HTTP, and an MCP Server that exposes that browser functionality to MCP clients. Start the Browser Service first to obtain a reachable API, then launch the MCP Server so you can issue high‑level browser actions through your MCP client.
With an MCP client, you can perform a sequence of operations such as navigating to URLs, clicking elements, filling forms, and retrieving page content. The system supports multiple browser tabs within one persistent browser instance so you can manage several pages concurrently using unique tab IDs. The HTTP API is simple JSON over HTTP, and the MCP integration lets you use familiar MCP tools to drive the browser actions.
Prerequisites: you need a Deno runtime and Playwright browser binaries. Install Playwright browsers, then install Deno. After that, you will run two tasks: one to start the Browser Service and one to start the MCP Server.
# Install all browsers
npx playwright install
# Or install specific browsers
npx playwright install chromium
npx playwright install firefox
# Install Deno
curl -fsSL https://deno.land/install.sh | sh
# Verify Deno is available
deno --versionStart the Browser Service to begin listening for browser control requests. The service runs on http://localhost:8888 by default unless you override the port in your environment.
deno task browserThen start the MCP Server to expose browser functionality to MCP clients.
deno task mcpConfigure your MCP client with a server entry that points to the MCP runner and forwards to the local MCP process. Create a configuration entry that runs the MCP server using Deno and passes the required flags and the path to the MCP script.
{
"mcpServers": {
"browse-together": {
"command": "/path/to/deno",
"args": [
"run",
"--allow-read",
"--allow-net",
"--allow-env",
"--allow-sys",
"/path/to/browse-together-mcp/mcp.ts"
],
"env": {
"PORT": "8888"
}
}
}
}Security: the HTTP endpoint for the browser proxy should be secured with an API token to prevent unauthorized access. Ensure you configure a strong token and limit access to trusted networks.
If you need to change the browser type, you can select Chromium (default) or Firefox by setting the BROWSER_TYPE environment variable or using the browser type flag when you start the Browser Service.
Troubleshooting: if the MCP Client cannot reach the MCP Server, verify that the PORT matches between the MCP client configuration and the MCP server, and confirm that the Browser Service is running and reachable at the expected HTTP endpoint.
The system consists of a Browser Service that maintains a persistent Playwright browser instance, and an MCP Server that forwards MCP commands to the Browser Service via HTTP. MCP Clients like Claude Desktop interact with the MCP Server to perform browser actions.
The MCP server provides a set of tools that map to common browser interactions. These tools enable you to navigate, interact with elements, and retrieve page content.
Navigate the browser to a specified URL within a named tab.
Click an element matching a CSS selector in the current tab.
Fill a form field by selector with the provided value.
Retrieve the current HTML content of the page.
Execute a fetch request within the browser context and return the response.
List all active browser pages (tabs) with their identifiers.
Close a specific browser page by its identifier.