Innosynth MCP服务器-本地模式
](https://www.npmjs.com/package/innosynth-mcp) 
为什么是这个叉子?
官方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 | 浏览器视口宽度(默认值:1024) |
--browserHeight | 浏览器视口高度(默认值:768) |
--modelName | 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-mcpLM工作室示例
{
"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-mcpCDP连接模式
您可以连接到 现有Chrome浏览器 通过Chrome DevTools协议(CDP)而不是启动新浏览器。当您想要控制手动打开的Chrome浏览器或由其他工具管理的浏览器时,这很有用。
如何在Chrome上启用CDP
- 打开启用远程调试的Chrome浏览器:
Linux:
google-chrome --remote-debugging-port=9222macOS:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222窗户:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222- 注意CDP端点URL(通常
http://localhost:9222)
- 使用配置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://:
`
- 默认端口:
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"
}
}贡献
欢迎投稿!请随时提交拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
学分
内置:
许可证
Apache-2.0-见 许可证 了解详情。
原创作品:版权所有2025 Browserbase,股份有限公司。 修改:版权所有2025 innosynth
