Stagehand MCP Server - Local Mode

Stagehand MCP Server - Local Mode

Enables local browser automation using Stagehand without cloud services. Supports navigation, data extraction, and autonomous agent tasks through natural language.

Category
Visit Server

README

Stagehand MCP Server - Local Mode

npm version License: Apache-2.0

Run Stagehand browser automation locally without cloud services. A fork of the official @browserbasehq/mcp-server-browserbase with LOCAL mode support.

Why This Fork?

The official Browserbase MCP server only supports cloud mode, requiring a paid Browserbase subscription. However, Stagehand itself fully supports local browser execution.

This fork unlocks that capability:

Feature Official Version This Fork
Browser execution Browserbase Cloud only Local Headless Chrome
Required credentials BROWSERBASE_API_KEY + PROJECT_ID Only LLM API key
Cost Browserbase subscription Free (bring your own LLM key)
Network requirement Internet required Works offline/intranet
Auto screenshots ❌ ✅ After each action

Use Cases

  • Local development - Test browser automation without cloud costs
  • Self-hosted AI agents - Run on your own servers
  • Air-gapped environments - No external cloud dependency
  • CI/CD pipelines - Automated testing without cloud API limits

Quick Start

Using npx (Recommended)

npx stagehand-mcp-local

Add to Claude Code

claude mcp add stagehand-local \
  -e STAGEHAND_ENV=LOCAL \
  -e OPENAI_API_KEY=your_key \
  -- npx stagehand-mcp-local

Add to Cursor / VS Code

Add to your MCP configuration:

{
  "mcpServers": {
    "stagehand-local": {
      "command": "npx",
      "args": ["stagehand-mcp-local"],
      "env": {
        "STAGEHAND_ENV": "LOCAL",
        "OPENAI_API_KEY": "your_openai_key"
      }
    }
  }
}

Installation

npm (Global)

npm install -g stagehand-mcp-local

From Source

git clone https://github.com/weijiafu14/stagehand-mcp-local.git
cd stagehand-mcp-local
pnpm install
pnpm build

Configuration

Environment Variables

Variable Description Default Required
STAGEHAND_ENV Set to LOCAL for local mode BROWSERBASE Yes
OPENAI_API_KEY OpenAI API key - One of these
GEMINI_API_KEY Google Gemini API key - is required
ANTHROPIC_API_KEY Anthropic API key - for Stagehand
HEADLESS Run browser headless true No
SCREENSHOT_ENABLED Enable auto screenshots true No
SCREENSHOT_DIR Screenshot save directory /tmp/stagehand-screenshots No

CLI Options

All original Browserbase MCP server options are supported:

npx stagehand-mcp-local --browserWidth 1920 --browserHeight 1080 --experimental
Flag Description
--browserWidth <width> Browser viewport width (default: 1024)
--browserHeight <height> Browser viewport height (default: 768)
--modelName <model> LLM model for Stagehand (default: gemini-2.0-flash)
--experimental Enable experimental Stagehand features

Available MCP Tools

Once connected, your AI assistant can use these tools:

Tool Description
browserbase_session_create Create a new browser session
browserbase_session_close Close the current session
browserbase_stagehand_navigate Navigate to a URL
browserbase_stagehand_act Perform actions (click, type, etc.)
browserbase_stagehand_extract Extract data from page
browserbase_stagehand_observe Find interactive elements
browserbase_screenshot Take a screenshot
browserbase_stagehand_agent Run autonomous agent task

Auto Screenshots

In LOCAL mode, screenshots are automatically captured after each action for debugging and visualization:

Action performed: Click the login button
[SCREENSHOT:/tmp/stagehand-screenshots/default/1702012345678.jpg]

Parse the screenshot path programmatically:

const match = output.match(/\[SCREENSHOT:(.+?)\]/);
if (match) {
  const screenshotPath = match[1];
  // Use the screenshot...
}

System Requirements

macOS / Windows

Playwright will download Chromium automatically.

Linux (Ubuntu/Debian)

# Install browser dependencies
apt-get update && apt-get install -y \
  chromium libatk1.0-0 libatk-bridge2.0-0 libcups2 \
  libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 \
  libxfixes3 libxrandr2 libgbm1 libasound2 \
  libpango-1.0-0 libcairo2

# Install Playwright browsers
npx playwright install chromium

Docker

FROM node:20

RUN apt-get update && apt-get install -y \
  chromium libatk1.0-0 libatk-bridge2.0-0 libcups2 \
  libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 \
  libxfixes3 libxrandr2 libgbm1 libasound2 \
  libpango-1.0-0 libcairo2 \
  && rm -rf /var/lib/apt/lists/*

ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright
RUN npx playwright install chromium

ENV STAGEHAND_ENV=LOCAL

Switching Between Modes

You can switch back to Browserbase cloud mode anytime:

{
  "env": {
    "STAGEHAND_ENV": "BROWSERBASE",
    "BROWSERBASE_API_KEY": "your_key",
    "BROWSERBASE_PROJECT_ID": "your_project_id",
    "GEMINI_API_KEY": "your_gemini_key"
  }
}

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Credits

This project is a fork of @browserbasehq/mcp-server-browserbase by Browserbase, Inc.

Built with:

License

Apache-2.0 - See LICENSE for details.

Original work: Copyright 2025 Browserbase, Inc. Modifications: Copyright 2025 weijiafu14

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured