浏览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-浏览项目IDGEMINI_API_KEY/GOOGLE_API_KEY/MODEL_API_KEY-舞台手LLM钥匙MODEL_NAME(可选)-覆盖舞台手模型
核心概念
无状态架构: 服务器使用原始的Browserbase MCP工具。当您通过时,Browsebase的SessionManager会自动处理会话管理 sessionId 工具调用。
会话重用: 要在多个工具调用中重用会话,请执行以下操作:
- 捕捉
sessionId从browserbase_session_create响应 - 通过
sessionId到所有后续工具调用 - 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.
