本地浏览器自动化服务器

Innosynth MCP Server是一个支持本地模式运行的浏览器自动化服务器,允许用户在无云服务环境下执行Stagehand浏览器自动化任务。

  • by JEEVANANTHAMV
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 JEEVANANTHAMV/stagehand-mcp-offline

使用说明

Innosynth MCP服务器-本地模式

跑 舞台工作人员 本地浏览器自动化,无需云服务。官员的叉子 @brow保留HQ/mcp服务器brow 具有LOCAL模式支持和自定义OpenAI端点配置。

为什么是这个叉子?

官方Browserbase MCP服务器 仅支持云模式,需要付费的Browserbase订阅。然而,Stagehand本身完全支持本地浏览器执行。

此分叉解锁了该功能:

功能 官方版本 这个叉子
浏览器执行 仅限Browsebase Cloud 本地无头Chrome
所需凭据 BROWSERBASE_API_KEY + PROJECT_ID 只有LLM API密钥
成本 浏览器基础订阅 自由 (携带自己的LLM密钥)
网络要求 需要互联网 脱机/内联网工作
自动截图 ❌ ✅ 每次行动后
自定义LLM端点 ❌ ✅ Ollama、LM工作室等。
CDP连接 ❌ ✅ 连接到现有Chrome

用例

  • 本地开发 -无需云成本即可测试浏览器自动化
  • 自托管AI代理 -在您自己的服务器上运行
  • 气隙环境 -无外部云依赖
  • CI/CD管道 -无云API限制的自动化测试
  • 自定义LLM -使用Ollama或LM Studio等自托管模型

快速开始

启动服务器

MCP服务器可以通过多种方式启动:

使用npx(推荐)

HEADLESS=false STAGEHAND_ENV=LOCAL MODEL_NAME=qwen3-max MODEL_BASE_URL=http://172.174.244.221:8001/v1 OPENAI_API_KEY=any-key npx innosynth-mcp --experimental --port 3000 --host 0.0.0.0

使用npm(全局安装)

# Install globally
npm install -g innosynth-mcp

# Start the server
innosynth-mcp

来源(发展)

# Clone and build
git clone https://github.com/innosynth/innosynth-mcp.git
cd innosynth-mcp
pnpm install
pnpm build

# Start the server
node dist/program.js --port 3001

使用自定义模型端点(vLLM/Ollama)

STAGEHAND_ENV=LOCAL \
MODEL_NAME=qwen3-max \
MODEL_BASE_URL=http://localhost:8001/v1 \
OPENAI_API_KEY=any-key \
npx innosynth-mcp --experimental

持久设置(Claude帐户)

claude mcp add innosynth-mcp \
  -e STAGEHAND_ENV=LOCAL \
  -e MODEL_NAME=qwen3-max \
  -e MODEL_BASE_URL=http://localhost:8001/v1 \
  -e OPENAI_API_KEY=any-key \
  -- npx innosynth-mcp --experimental

添加到克劳德代码

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

添加到克劳德代码

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

添加到光标/VS代码

添加到MCP配置中:

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

安装

npm(全球)

npm install -g innosynth-mcp

源自源头

git clone https://github.com/innosynth/innosynth-mcp.git
cd innosynth-mcp
pnpm install
pnpm build

配置

环境变量

变量 描述 默认值 必填
STAGEHAND_ENV 设置为 LOCAL 对于本地模式 BROWSERBASE 是
OPENAI_API_KEY OpenAI API密钥 - 其中之一
GEMINI_API_KEY 需要Google Gemini API密钥 -
ANTHROPIC_API_KEY 阶段性API关键 -
MODEL_BASE_URL 自定义OpenAI兼容端点的基本URL(例如Ollama、LM Studio) - 否
HEADLESS 无头运行浏览器 true 没有
SCREENSHOT_ENABLED 启用自动截图 true 没有
SCREENSHOT_DIR 截图保存目录 /tmp/stagehand-screenshots 没有
CDP_ENDPOINT 连接到现有Chrome浏览器的Chrome DevTools协议端点 - 否

CLI选项

支持所有原始的Browserbase MCP服务器选项:

npx innosynth-mcp --browserWidth 1920 --browserHeight 1080 --experimental
标志 描述
--browserWidth <width> 浏览器视口宽度(默认值:1024)
--browserHeight <height> 浏览器视口高度(默认值:768)
--modelName <model> Stagehand的LLM型号(默认:gemini-2.0-flash)
--experimental 启用实验舞台手功能

自定义模型端点

您可以通过设置以下参数来使用自托管LLM或OpenAI兼容API MODEL_BASE_URL 环境变量:

Ollama示例

claude mcp add stagehand-local \
  -e STAGEHAND_ENV=LOCAL \
  -e MODEL_BASE_URL=http://localhost:11434/v1 \
  -e OPENAI_API_KEY=ollama \
  -e modelName=llama3.2 \
  -- npx innosynth-mcp

LM工作室示例

{
  "mcpServers": {
    "stagehand-local": {
      "command": "npx",
      "args": ["innosynth-mcp"],
      "env": {
        "STAGEHAND_ENV": "LOCAL",
        "MODEL_BASE_URL": "http://localhost:1234/v1",
        "OPENAI_API_KEY": "any-key",
        "modelName": "your-model-name"
      }
    }
  }
}

通用OpenAI兼容API

export STAGEHAND_ENV=LOCAL
export MODEL_BASE_URL=https://api.your-custom-llm.com/v1
export OPENAI_API_KEY=your_api_key
export modelName=gpt-4o-mini
npx innosynth-mcp

CDP连接模式

您可以连接到 现有Chrome浏览器 通过Chrome DevTools协议(CDP)而不是启动新浏览器。当您想要控制手动打开的Chrome浏览器或由其他工具管理的浏览器时,这很有用。

如何在Chrome上启用CDP

  1. 打开启用远程调试的Chrome浏览器:

    Linux:

    google-chrome --remote-debugging-port=9222
    

    macOS:

    /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222
    

    窗户:

    "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222
    
  2. 注意CDP端点URL(通常 http://localhost:9222)

  3. 使用配置MCP服务器 CDP_ENDPOINT 环境变量:

    export STAGEHAND_ENV=LOCAL
    export CDP_ENDPOINT=http://localhost:9222
    export GEMINI_API_KEY=your_api_key
    npx innosynth-mcp
    

克劳德代码中的CDP

claude mcp add stagehand-local \
  -e STAGEHAND_ENV=LOCAL \
  -e CDP_ENDPOINT=http://localhost:9222 \
  -e GEMINI_API_KEY=your_key \
  -- npx innosynth-mcp

游标/VS代码中的CDP

{
  "mcpServers": {
    "stagehand-local": {
      "command": "npx",
      "args": ["innosynth-mcp"],
      "env": {
        "STAGEHAND_ENV": "LOCAL",
        "CDP_ENDPOINT": "http://localhost:9222",
        "GEMINI_API_KEY": "your_gemini_key"
      }
    }
  }
}

CDP端点格式

这 CDP_ENDPOINT 应该是Chrome DevTools协议调试URL:

  • 格式: http://<host>:<port>
  • 默认端口: 9222
  • 示例:
    • http://localhost:9222 -本地Chrome
    • http://127.0.0.1:9222 -本地Chrome(IPv4)
    • http://docker-host:9222 -Docker容器中的Chrome

备注

  • 当 CDP_ENDPOINT 设置后,MCP服务器将 连接 切换到现有浏览器,而不是启动新浏览器
  • Chrome浏览器必须启动 --remote-debugging-port 旗帜
  • Chrome浏览器中的多个选项卡/窗口将可访问
  • 浏览器必须保持运行,MCP服务器才能正常工作

可用的MCP工具

连接后,您的AI助手可以使用这些工具:

工具 说明
browserbase_session_create 创建新的浏览器会话
browserbase_session_close 关闭当前会话
browserbase_stagehand_navigate 导航到URL
browserbase_stagehand_act 执行操作(单击、键入等)
browserbase_stagehand_extract 从页面提取数据
browserbase_stagehand_observe 查找互动元素
browserbase_screenshot 截图
browserbase_stagehand_agent 运行自主代理任务

自动屏幕截图

在本地模式下,每次操作后都会自动捕获屏幕截图以进行调试和可视化:

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

以编程方式解析屏幕截图路径:

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

系统要求

macOS/Windows

Playwright将自动下载Chromium。

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

码头工人

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

在模式之间切换

您可以随时切换回Browserbase云模式:

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

贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

学分

这个项目是 @brow保留HQ/mcp服务器brow 通过 浏览,股份有限公司。.

内置:

许可证

Apache-2.0-见 许可证 了解详情。

原创作品:版权所有2025 Browserbase,股份有限公司。 修改:版权所有2025 innosynth