钢铁MCP服务器
](https://smithery.ai/server/@steel-dev/steel-mcp-server)
https://github.com/user-attachments/assets/25848033-40ea-4fa4-96f9-83b6153a0212
一个模型上下文协议(MCP)服务器,使Claude等LLM能够通过基于Puppeteer的工具和Steel浏览网络。基于Web Voyager框架,它为所有标准的Web操作提供了工具——点击/滚动/打字等和截图。
让克劳德帮助你完成以下任务:
- “搜索食谱并保存配料表”
- “跟踪包裹交付状态”
- “查找并比较特定产品的价格”
- “填写在线工作申请”
🚀 快速开始
下面是在Claude Desktop中运行Steel Voyager的简化指南。您只需调整环境选项,即可在Steel Cloud和本地/自托管实例之间切换。
先决条件
______________________________________________________________________
A) 快速入门(钢云)
- 克隆并构建项目:
git clone https://github.com/steel-dev/steel-mcp-server.git
cd steel-mcp-server
npm install
npm run build- 配置Claude桌面(
~/Library/Application Support/Claude/claude_desktop_config.json)通过添加服务器条目:
{
"mcpServers": {
"steel-puppeteer": {
"command": "node",
"args": ["path/to/steel-voyager/dist/index.js"],
"env": {
"STEEL_LOCAL": "false",
"STEEL_API_KEY": "YOUR_STEEL_API_KEY_HERE",
"GLOBAL_WAIT_SECONDS": "1"
}
}
}
}- 将“YOUR_STEEL_API_KEY_HERE”替换为有效的STEEL API密钥。 - 确保云模式的“STEEL_LOCAL”设置为“false”。
- 启动克劳德桌面。它将在云模式下自动启动此MCP服务器。
- (可选)您可以在您的 仪表盘.
______________________________________________________________________
B) 快速入门(本地/自托管钢)
- 确保您的本地或自托管Steel服务正在运行(例如,使用开源Steel Docker映像)。
- 克隆并构建项目(如果尚未完成,则与上述相同):
git clone https://github.com/steel-dev/steel-mcp-server.git
cd steel-mcp-server
npm install
npm run build- 配置Claude桌面(
~/Library/Application Support/Claude/claude_desktop_config.json)对于本地模式:
{
"mcpServers": {
"steel-puppeteer": {
"command": "node",
"args": ["path/to/steel-voyager/dist/index.js"],
"env": {
"STEEL_LOCAL": "true",
"STEEL_BASE_URL": "http://localhost:3000",
"GLOBAL_WAIT_SECONDS": "1"
}
}
}
}- “STEEL_LOCAL”必须为“true”。 - 如果在云服务器上自托管,请配置“STEEL_BASE_URL”以指向您的本地/自托管STEEL URL。
- 启动Claude Desktop,它将连接到您本地运行的Steel,并以本地模式启动Steel Voyager。
- (可选)要在本地查看会话,您可以访问您的自托管仪表板(本地主机:5173)或特定于您的Steel运行时环境的日志。
______________________________________________________________________
就是这样!一旦Claude Desktop启动,它将在幕后编排MCP服务器,并允许您通过Steel Voyager与web自动化功能进行交互。
有关设置的更多信息,或者如果您遇到问题,请查看MCP设置文档:https://modelcontextprotocol.io/quickstart/user
组件
工具
- 导航
- 导航到浏览器中的任何URL - 输入: - url (字符串,必填):要导航到的URL(例如“https://example.com").
- 搜索
- 通过导航到“”执行谷歌搜索https://www.google.com/search?q=encodedQuery". - 输入: - query (string,必填):在谷歌上搜索的文本。
- 点击
- 使用编号标签单击页面上的元素 - 输入: - label (number,必填):要单击的元素的标签号。
- 类型
- 使用编号标签在输入字段中键入文本 - 输入: - label (number,必填):输入字段的标签号。 - text (字符串,必填):要在字段中键入的文本。 - replaceText (boolean,可选):如果为true,则替换字段中的任何现有文本。
- scroll_down
- 向下滚动页面 - 输入: - pixels (整数,可选):要向下滚动的像素数。如果未指定,则滚动一整页。
- scroll_up
- 向上滚动页面 - 输入: - pixels (整数,可选):向上滚动的像素数。如果未指定,则滚动一整页。
- go_back
- 导航到浏览器历史记录中的上一页 - 无需输入
- 等待
- 等待最多10秒,对于加载缓慢或需要更多时间显示动态内容的页面非常有用。 - 输入: - seconds (number,必填):等待的秒数(0到10)。
- 保存_未标记_截图
- 捕获当前页面,不使用边界框或突出显示,并将其存储为资源。 - 输入: - resourceName (string,可选):用于存储屏幕截图的名称(例如“before_login”)。如果省略,将自动生成通用名称。
资源
- 截图:
每个保存的屏幕截图都可以通过MCP资源URI以以下形式访问: • screenshot://RESOURCE_NAME
每当您指定“save_nodemarkd_screenshot”工具时,或者当操作(对于大多数工具)以带注释的屏幕截图结束时,服务器都会存储这些屏幕截图。这些图像可以通过标准的MCP资源检索请求进行检索。
(注意:虽然控制台日志仍被收集用于分析和调试,但在此实现中它们不会作为可检索资源公开。它们出现在服务器的日志中,但不会通过MCP资源URI提供服务。)
主要特点
- 使用Puppeteer实现浏览器自动化
- 用于浏览器会话管理的钢铁集成
- 通过编号标签进行视觉元素识别
- 屏幕截图功能
- 基本的网络交互(导航、点击、表单填写)
- 通过滚动实现延迟加载支持
- 本地和远程Steel实例支持
理解边界框
在与页面交互时,Steel Puppeteer添加了视觉叠加来帮助识别交互元素:
- 每个交互元素(按钮、链接、输入)都有一个唯一的编号标签
- 彩色框勾勒出元素的边界
- 标签出现在元素上方或内部,便于参考
- 在指定用于单击或键入操作的元素时使用这些数字
配置
Steel Voyager可以在两种模式下运行:“本地”或“云”。此行为由环境变量控制。以下是一个简明的概述:
| 环境变量 | 默认值 | 描述 |
|---|---|---|
| STEEL_LOCAL | “false” | 确定STEEL Voyager是在本地(true)模式还是云(false)模式下运行。 |
| STEEL_API_KEY | (none) | 仅当STEEL_LOCAL=“false”时才需要。用于对Steel端点的请求进行身份验证。 |
| STEEL_BASE_URL | “https://api.steel.dev“ | Steel API的基本URL。如果自托管Steel服务器(本地或您自己的云环境中),请覆盖此URL。如果Steel_LOCAL=”true“且未设置Steel_base_URL,则默认为”http://localhost:3000". |
| GLOBAL_WAIT_SECONDS | (无) | 可选。每次工具操作后等待的秒数(例如,允许缓慢加载页面)。 |
本地模式
- 将STEEL_LOCAL设置为“true”。
- (可选)如果您在自定义域上托管STEEL服务器,请将STEEL_BASE_URL设置为指向STEEL服务器。否则,Steel Voyager将默认为http://localhost:3000.
- 在此模式下不需要API密钥。
- 木偶将通过ws://0.0.0.0:3000连接
例子:
导出STEEL_LOCAL=“true”
导出STEEL_BASE_URL=“http://localhost:3000“#仅当覆盖
云模式
- 将STEEL_LOCAL设置为“false”。
- 设置STEEL_API_KEY,以便STEEL Voyager可以通过STEEL云服务进行身份验证(如果您更改了STEEL_BASE_URL,则可以通过您的自托管STEEL进行身份验证)。
- STEEL_BASE_URL默认为https://api.steel.dev;如果您在另一个端点上运行自托管Steel实例,请覆盖此选项。
- Puppeter将通过以下方式连接wss://connect.steel.dev?sessionId=…&apiKey=…
例子:
导出STEEL_LOCAL=“false”
导出STEEL_API_KEY=“YOUR_STEEL_API_KEY_HERE”
Claude桌面配置
要将Steel Voyager与Claude Desktop一起使用,请将类似内容添加到您的配置文件中(通常位于 ~/库/应用支持/Claude/Claude_desktop_config):
{
"mcpServers": {
"steel-puppeteer": {
"command": "node",
"args": ["path/to/steel-puppeteer/dist/index.js"],
"env": {
"STEEL_LOCAL": "false",
"STEEL_API_KEY": "your_api_key_here"
}
}
}
}调整环境变量以匹配所需的模式:
•如果在本地/自托管运行,请保留 "STEEL_LOCAL": "true" 并且可选 "STEEL_BASE_URL": "http://localhost:3000".\ •如果在云模式下运行,请删除 "STEEL_LOCAL": "true",添加 "STEEL_LOCAL": "false"和供应 "STEEL_API_KEY": "" 这将允许Claude Desktop以正确的模式启动Steel Voyager。
安装与运行
通过Smithery安装
通过以下方式自动安装克劳德桌面的Steel MCP服务器 史密瑟里:
npx -y @smithery/cli install @steel-dev/steel-mcp-server --client claude地方发展
- 克隆存储库
- 安装依赖项:
npm install- 构建项目:
npm run build- 启动服务器:
npm start示例用法📹
我们请Claude用它的新功能给我们留下深刻印象,它决定用sora研究最新进展,然后创建一个交互式可视化来演示模型背后的数据及其工作原理🤯
https://github.com/user-attachments/assets/8d4293ea-03fc-459f-ba6b-291f5b017ad7
\*很抱歉质量问题,github强制我们将视频保持在10mb以下:/
故障排除
常见问题和解决方案:
- 使用云服务时验证您的Steel API密钥,并确保本地Steel实例正在运行。检查您是否已正确连接到该服务的网络。
- 如果您对页面的呈现、标记和发送方式有问题,请尝试通过以下方式在配置中添加延迟
GLOBAL_WAIT_SECONDSenv变量。
- 确保页面已完全加载,并检查视口大小设置。确保您的系统有足够的可用内存来捕获屏幕截图。
- 会话清理目前不是最好的,因此您可能需要在会话启动以执行任务时手动释放会话。
- 以正确的方式激励克劳德可以大大提高绩效,避免可能产生的愚蠢错误。
- 利用会话查看器分析您的模型可能在哪里停止。
- 大约15-20次浏览器操作后,claude开始变慢,因为它的上下文窗口充满了图像。这应该不可怕,但我们注意到这里有一些延迟,尤其是在Claude Desktop客户端落后的情况下。
贡献
这个项目是实验性的,正在积极开发中。欢迎投稿!
- 分叉存储库
- 创建要素分支
- 提交拉取请求
请包括:
- 变更的清晰描述
- 动机
- 文档更新
免责声明
⚠️ 这个项目是实验性的,基于WebVoyager代码库。在生产环境中使用,风险自负。
