钢傀儡模型上下文协议服务器借助Puppeteer和Steel提供的浏览器自动化能力,让大语言模型(LLM)能够与网页交互、截取屏幕截图以及执行JavaScript代码,为其提供真实的浏览器环境。
安装依赖:
npm install
构建项目:
npm run build
启动服务器:
npm start
打开Claude桌面应用程序,即可开始使用!
默认情况下,服务器将在端口3000上监听请求。
以下是运行服务器所需的关键环境变量:
NODE_ENV:设置为"production"以启用生产模式,默认值:"development"。PORT:指定服务器监听的端口,范围1024到65535,默认值:3000。PUPPETEER_WS_ENDPOINT:指定Puppeteer WebSocket端点,默认值:ws://localhost:3000/ws/puppeteer。STEEL_API_KEY:Steel API密钥,用于身份验证。STEEL_SERVER_URL:Steel服务URL,默认值:http://localhost:8080。要自定义服务器行为,请编辑以下配置选项:
{
"puppeteer": {
"defaultViewport": { // 默认视口设置
"width": 1920,
"height": 1080,
"deviceScaleFactor": 1,
"isLandscape": true,
"hasTouch": false,
"isMobile": false
},
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.126 Safari/537.36" // 自定义用户代理字符串
},
"steel": {
"apiEndpoint": "http://localhost:8080", // Steel API端点
"timeout": 30000, // 请求超时时间(毫秒)
"proxyEnabled": true, // 是否启用代理
"proxyUrl": "http://localhost:8081" // 代理服务器URL
},
"logging": {
"enabled": true, // 启用日志记录
"level": "info", // 日志级别:"debug"、"info"、"warn"、"error"
"outputFile": "./logs/server.log" // 日志输出文件路径
}
}
| 工具名称 | 功能 | 输入参数 |
|---|---|---|
| puppeteer_navigate | 在浏览器中导航到任何URL | url (字符串,必需):要导航的URLtimeout (数字,可选,默认值:60000):导航超时时间(以毫秒为单位)waitUntil (字符串,可选,默认值:"domcontentloaded"):认为导航成功的条件。选项:"load"、"domcontentloaded"、"networkidle0"、"networkidle2" |
| puppeteer_screenshot | 截取整个页面或特定元素的屏幕截图 | name (字符串,必需):屏幕截图的名称selector (字符串,可选):截取特定元素的CSS选择器 |
| puppeteer_click | 点击页面上的元素 | selector (字符串,必需):要点击的元素的CSS选择器 |
| puppeteer_fill | 填充表单字段 | selector (字符串,必需):表单字段的CSS选择器value (字符串,必需):填充值 |
| puppeteer_select | 在SELECT标签中选择元素 | selector (字符串,必需):要选择的元素的CSS选择器value (字符串,必需):选择的值 |
| puppeteer_hover | 鼠标悬停在页面上的元素上 | selector (字符串,必需):悬停的元素的CSS选择器 |
| puppeteer_evaluate | 在浏览器控制台中执行JavaScript代码 | script (字符串,必需):要执行的JavaScript脚本 |
| puppeteer_get_content | 从当前页面提取内容 | selector (字符串,可选):从特定元素获取内容的CSS选择器。如果未提供,则返回整个页面内容 |
| puppeteer_scroll | 滚动页面以触发惰性加载 | behavior (字符串,可选,默认值:"auto"):滚动行为("auto" 或 "smooth")block (字符串,可选,默认值:"start"):滚动块("start"、"end"、"nearest"、"center") |
| 资源名称 | 功能 |
|---|---|
| 页面 | 提供对当前网页的访问 |
| 截图 | 返回屏幕截图数据 |
| 标题 | 返回当前页面的标题 |
| 内容 | 返回当前页面的内容 |
| cookies | 获取或设置当前页面的Cookie |
如需更多详细配置选项和高级用法,参考Steel文档和Puppeteer API参考资料。