浏览器自动化MCP服务器

Browserbase MCP Server是一个用于浏览器自动化的生产就绪的模型上下文协议服务器,具有无状态架构和自动会话管理功能。

  • by ayu2310
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 ayu2310/Mcp-browser-automation-render

使用说明

浏览MCP服务器

用于浏览器自动化的生产就绪模型上下文协议(MCP)服务器。 完全无国籍--会话管理由Browsebase的SessionManager处理。

状态

✅ 生产就绪 -部署在渲染上

端点: https://mcp-browser-automation-render.onrender.com/api/mcp

快速开始

npm install
npm run dev

环境变量

  • BROWSERBASE_API_KEY -浏览API密钥
  • BROWSERBASE_PROJECT_ID -浏览项目ID
  • GEMINI_API_KEY / GOOGLE_API_KEY / MODEL_API_KEY -舞台手LLM钥匙
  • MODEL_NAME (可选)-覆盖舞台手模型

核心概念

无状态架构: 服务器使用原始的Browserbase MCP工具。当您通过时,Browsebase的SessionManager会自动处理会话管理 sessionId 工具调用。

会话重用: 要在多个工具调用中重用会话,请执行以下操作:

  1. 捕捉 sessionId 从 browserbase_session_create 响应
  2. 通过 sessionId 到所有后续工具调用
  3. Browserbase SessionManager会自动重用相同的浏览器会话

用法示例

const { Client } = require('@modelcontextprotocol/sdk/dist/cjs/client/index.js');
const { StreamableHTTPClientTransport } = require('@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js');

const transport = new StreamableHTTPClientTransport('https://mcp-browser-automation-render.onrender.com/api/mcp');
const client = new Client({ name: 'my-client', version: '1.0.0' });
await client.connect(transport);

// Create session
const sessionResult = await client.callTool({
  name: 'browserbase_session_create',
  arguments: {}
});
const sessionId = extractSessionId(sessionResult.content);

// Navigate
await client.callTool({
  name: 'browserbase_stagehand_navigate',
  arguments: { url: 'https://example.com', sessionId }
});

// Act (natural language)
await client.callTool({
  name: 'browserbase_stagehand_act',
  arguments: { action: 'Click the login button', sessionId }
});

// Act (deterministic - using observation)
const observeResult = await client.callTool({
  name: 'browserbase_stagehand_observe',
  arguments: { instruction: 'Find the login button', returnAction: true, sessionId }
});
const observations = extractObservations(observeResult.content);
if (observations.length > 0) {
  await client.callTool({
    name: 'browserbase_stagehand_act',
    arguments: { observation: observations[0], sessionId }
  });
}

文档

  • MCP_SERVER_GUIDE.md -包含所有工具和示例的完整用户指南 参见 MCP_SERVER_GUIDE.md 了解每个MCP工具和使用模式的完整详细信息。

特性

✅ 无状态-无服务器存储
✅ 会话管理-通过Browsebase会话管理器自动执行
✅ 确定性操作-通过观察支持基于XPath/选择器的操作
✅ 自然语言操作-支持基于提示的操作
✅ 生产测试-部署和验证

部署

使用在Render上部署 render.yaml。该服务安装依赖项,运行 npm run build,并从以下内容开始 npm start.健康检查解决 /api/health.