Skip to content

Commit bbeb661

Browse files
authored
feat: add reworked browserbase mcp server (#52)
1 parent 87ba0d4 commit bbeb661

File tree

14 files changed

+7287
-0
lines changed

14 files changed

+7287
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ A curated collection of production-ready Model Context Protocol (MCP) servers pu
1717
| Actor | Description | Actor badge | Original author |
1818
|----------------------------------------------------------|-------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------|
1919
| **[Brave Search MCP Server](./brave-search-mcp-server/)** | Web search capabilities powered by Brave Search | [![Brave Search MCP Server](https://apify.com/actor-badge?actor=mcp-servers/brave-search-mcp-server)](https://apify.com/mcp-servers/brave-search-mcp-server) | [MCP Community](https://github.com/modelcontextprotocol/servers-archived/tree/main/src/brave-search) |
20+
| **[BrowserBase MCP Server](./browserbase-mcp-server/)** | Cloud web automation capabilities | [![BrowserBase MCP Server](https://apify.com/actor-badge?actor=mcp-servers/browserbase-mcp-server)](https://apify.com/mcp-servers/browserbase-mcp-server) | [BrowserBase](https://github.com/browserbase/mcp-server-browserbase) |
2021
| **[Docfork MCP Server](./docfork-mcp-server/)** | FreshFresh docs for your AI code editor | [![Docfork MCP Server](https://apify.com/actor-badge?actor=mcp-servers/brave-search-mcp-server)](https://apify.com/mcp-servers/brave-search-mcp-server) | [Docfork.AI](https://x.com/docfork_ai) |
2122
| **[Perplexity Sonar MCP Server](./perplexity-mcp-server/)** | AI-powered search and information retrieval | [![Perplexity Soner MCP Server](https://apify.com/actor-badge?actor=mcp-servers/perplexity-sonar-mcp-server)](https://apify.com/mcp-servers/perplexity-sonar-mcp-server) | [Perplexity AI](https://github.com/ppl-ai/modelcontextprotocol) |
2223
| **[Firecrawl MCP Server](./firecrawl-mcp-server/)** | Web crawling and content extraction | [![Firecrawl MCP Server](https://apify.com/actor-badge?actor=mcp-servers/firecrawl-mcp-server)](https://apify.com/actor/mcp-servers/firecrawl-mcp-server) | [Mendable AI](https://github.com/mendableai/firecrawl-mcp-server) |
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Specify the base Docker image. You can read more about
2+
# the available images at https://docs.apify.com/sdk/js/docs/guides/docker-images
3+
# You can also use any other image from Docker Hub.
4+
FROM apify/actor-node:22 AS builder
5+
6+
# Check preinstalled packages
7+
RUN npm ls crawlee apify puppeteer playwright
8+
9+
# Copy just package.json and package-lock.json
10+
# to speed up the build using Docker layer cache.
11+
COPY package*.json ./
12+
13+
# Install all dependencies. Don't audit to speed up the installation.
14+
RUN npm install --include=dev --audit=false
15+
16+
# Next, copy the source files using the user set
17+
# in the base image.
18+
COPY . ./
19+
20+
# Install all dependencies and build the project.
21+
# Don't audit to speed up the installation.
22+
RUN npm run build
23+
24+
# Create final image
25+
FROM apify/actor-node:22
26+
27+
# Check preinstalled packages
28+
RUN npm ls crawlee apify puppeteer playwright
29+
30+
# Copy just package.json and package-lock.json
31+
# to speed up the build using Docker layer cache.
32+
COPY package*.json ./
33+
34+
# Install NPM packages, skip optional and development dependencies to
35+
# keep the image small. Avoid logging too much and print the dependency
36+
# tree for debugging
37+
RUN npm --quiet set progress=false \
38+
&& npm install --omit=dev --omit=optional \
39+
&& echo "Installed NPM packages:" \
40+
&& (npm list --omit=dev --all || true) \
41+
&& echo "Node.js version:" \
42+
&& node --version \
43+
&& echo "NPM version:" \
44+
&& npm --version \
45+
&& rm -r ~/.npm
46+
47+
# Copy built JS files from builder image
48+
COPY --from=builder /usr/src/app/dist ./dist
49+
50+
# Next, copy the remaining files and directories with the source code.
51+
# Since we do this after NPM install, quick build will be really fast
52+
# for most source file changes.
53+
COPY . ./
54+
55+
# Run the image.
56+
CMD npm run start:prod --silent
57+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"actorSpecification": 1,
3+
"name": "browserbase-mcp-server",
4+
"title": "Browserbase MCP Server",
5+
"description": "A Model Context Protocol (MCP) server that provides browser automation capabilities using Browserbase.",
6+
"version": "0.0",
7+
"input": "./input_schema.json",
8+
"dockerfile": "./Dockerfile",
9+
"webServerMcpPath": "/mcp"
10+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"title": "Browserbase MCP Server",
3+
"type": "object",
4+
"schemaVersion": 1,
5+
"properties": {
6+
}
7+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"actor-start": {
3+
"eventTitle": "Price for Actor start",
4+
"eventDescription": "Flat fee for starting an Actor run.",
5+
"eventPriceUsd": 0.1
6+
},
7+
"actor-runtime-minute": {
8+
"eventTitle": "Actor runtime per minute",
9+
"eventDescription": "Flat fee for each minute of Actor runtime.",
10+
"eventPriceUsd": 0.003
11+
},
12+
"browserbase-tool-call": {
13+
"eventTitle": "BrowserBase tool call",
14+
"eventDescription": "Charge for each BrowserBase tool call.",
15+
"eventPriceUsd": 0.036
16+
}
17+
}

browserbase-mcp-server/.gitignore

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# This file tells Git which files shouldn't be added to source control
2+
3+
.idea
4+
.vscode
5+
storage
6+
apify_storage
7+
crawlee_storage
8+
node_modules
9+
dist
10+
tsconfig.tsbuildinfo
11+
storage/*
12+
!storage/key_value_stores
13+
storage/key_value_stores/*
14+
!storage/key_value_stores/default
15+
storage/key_value_stores/default/*
16+
!storage/key_value_stores/default/INPUT.json
17+
18+
# Added by Apify CLI
19+
.venv
20+
.env
21+
.aider*

browserbase-mcp-server/README.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# 🅱️ Browserbase MCP Server
2+
3+
[![Browserbase MCP Server](https://apify.com/actor-badge?actor=mcp-servers/browserbase-mcp-server)](https://apify.com/mcp-servers/browserbase-mcp-server)
4+
5+
This Actor is a wrapper for the [browserbase](https://github.com/browserbase/mcp-server-browserbase) MCP server.
6+
7+
This server provides cloud browser automation capabilities using [Browserbase](https://www.browserbase.com/). This server enables LLMs to interact with web pages, and take screenshots, in a cloud browser environment.
8+
9+
## Connection URL
10+
MCP clients can connect to this server at:
11+
12+
```text
13+
https://mcp-servers--browserbase-mcp-server.apify.actor/mcp
14+
```
15+
16+
## Client Configuration
17+
To connect to this MCP server, use the following configuration in your MCP client:
18+
19+
```json
20+
{
21+
"mcpServers": {
22+
"browserbase": {
23+
"url": "https://mcp-servers--browserbase-mcp-server.apify.actor/mcp",
24+
"headers": {
25+
"Authorization": "Bearer YOUR_APIFY_TOKEN"
26+
}
27+
}
28+
}
29+
}
30+
```
31+
32+
**Note:** Replace `YOUR_APIFY_TOKEN` with your actual Apify API token. You can find your token in the [Apify Console](https://console.apify.com/account/integrations).
33+
34+
## 🚩 Claim this MCP server
35+
36+
All credits to the original authors of https://github.com/browserbase/mcp-server-browserbase
37+
38+
To claim this server, please write to [[email protected]](mailto:[email protected])
39+
40+
## 🚀 Features
41+
42+
| Feature | Description |
43+
| ------------------ | ----------------------------------------- |
44+
| Browser Automation | Control and orchestrate cloud browsers |
45+
| Data Extraction | Extract structured data from any webpage |
46+
| Console Monitoring | Track and analyze browser console logs |
47+
| Screenshots | Capture full-page and element screenshots |
48+
| JavaScript | Execute custom JS in the browser context |
49+
| Web Interaction | Navigate, click, and fill forms with ease |
50+
51+
## 🔍 Use cases
52+
53+
- 🌐 Web navigation and form filling
54+
- 📋 Structured data extraction
55+
- 🧪 LLM-driven automated testing
56+
- 🤖 Browser automation for AI agents
57+
58+
## 🧰 Tools
59+
60+
| Tool Name | Description |
61+
| ---------------------------------- | --------------------------------------------------------------------------- |
62+
| multi_browserbase_stagehand_session_create | Creates multiple browser sessions for parallel tasks like data scraping or A/B testing. Each session is isolated with its own cookies and state. |
63+
| multi_browserbase_stagehand_session_list | Lists all active browser sessions with their IDs, names, and details for easy management. |
64+
| multi_browserbase_stagehand_session_close | Closes a specific browser session to free up resources and avoid extra charges. |
65+
| multi_browserbase_stagehand_navigate_session | Navigates to a URL in a specific browser session. |
66+
| multi_browserbase_stagehand_act_session | Performs simple actions on page elements, like clicking buttons or typing text, in a specific session. |
67+
| multi_browserbase_stagehand_extract_session | Pulls structured data or text from a web page based on your instructions, for a specific session. |
68+
| multi_browserbase_stagehand_observe_session | Finds interactive elements on a page, like buttons or forms, to help with actions, for a specific session. |
69+
| multi_browserbase_stagehand_get_url_session | Retrieves the current URL of a specific browser session. |
70+
| browserbase_stagehand_get_all_urls | Gets the current URLs for all active browser sessions. |
71+
| browserbase_session_create | Sets up a single browser session for basic web automation tasks. |
72+
| browserbase_session_close | Closes the current browser session and cleans up resources. |
73+
| browserbase_stagehand_navigate | Navigates to a URL in the browser. |
74+
| browserbase_stagehand_act | Performs simple actions on page elements, like clicking buttons or typing text. |
75+
| browserbase_stagehand_extract | Pulls structured data or text from a web page based on your instructions. |
76+
| browserbase_stagehand_observe | Finds interactive elements on a page, like buttons or forms, to help with actions. |
77+
| browserbase_screenshot | Captures a screenshot of the current page for reference. |
78+
| browserbase_stagehand_get_url | Retrieves the current URL of the browser page. |
79+
80+
## 💸 Pricing
81+
82+
| Event | Description | Price (USD) |
83+
| ---------------------------------- | ------------------------------------------------------------- | ----------- |
84+
| Actor start | Flat fee for starting an Actor run. | $0.10 |
85+
| Actor runtime per minute | Flat fee for each minute of Actor runtime. | $0.003 |
86+
| Browserbase tool call | Fixed fee for each browser automation tool call. | $0.036 |

0 commit comments

Comments
 (0)