与Microsoft Edge浏览器DevTools协议集成的MCP(模型上下文协议)服务器。
npm install edge-devtools-mcp
可以通过以下环境变量配置连接参数:
EDGE_DEBUG_PORTEdge调试端口(默认:9222)EDGE_DEBUG_HOST调试主机(默认:localhost)EDGE_HEADLESS是否无头模式(默认:false)EDGE_BROWSER_PATHEdge浏览器可执行路径在使用之前,需要以调试模式启动Edge浏览器:
Windows:
msedge.exe --remote-debugging-port=9222 --user-data-dir="C:\edge-dev-debug"
macOS:
/Applications/Microsoft\ Edge.app/Contents/MacOS/Microsoft\ Edge --remote-debugging-port=9222 --user-data-dir="/tmp/edge-dev-debug"
Linux:
microsoft-edge --remote-debugging-port=9222 --user-data
在Claude Desktop配置文件中添加以下内容:
{
"mcpServers": {
"edge-devtools": {
"command": "node",
"args": ["path/to/edge-devtools-mcp/dist/index.js"]
}
}
}
edge_connect连接到Edge浏览器edge_disconnect断开连接edge_get_targets获取所有可用的目标edge_navigate导航到指定的URLedge_screenshot捕获页面截图edge_get_page_content获取页面HTML内容edge_get_element获取元素信息edge_click_element点击元素edge_type_text在输入框中输入文本edge_wait_for_selector等待元素出现edge_evaluate执行JavaScript表达式edge_enable_devtools启用DevTools会话edge_dom_query查询DOM节点edge_get_attributes获取元素属性// 连接到浏览器
await edge_connect();
// 导航到网页
await edge_navigate({ url: "https://example.com" });
// 等待页面加载
await edge_wait_for_selector({ selector: "body" });
// 获取页面内容
const { content } = await edge_get_page_content();
// 截取截图
const { screenshot } = await edge_screenshot({ format: "png" });
// 断开连接
await edge_disconnect();
// 导航到登录页面
await edge_navigate({ url: "https://example.com/login" });
// 等待用户名输入框
await edge_wait_for_selector({ selector: "#username" });
// 填写表单
await edge_type_text({ selector: "#username", text: "myusername" });
await edge_type_text({ selector: "#password", text: "mypassword" });
// 点击登录按钮
await edge_click_element({ selector: "#login-button" });
// 执行简单表达式
const { result } = await edge_evaluate({ expression: "document.title" });
// 执行复杂脚本
const { result } = await edge_evaluate({
expression: `
const links = Array.from(document.querySelectorAll('a')).map(a => a.href);
return links.slice(0, 10);
`
});
// 获取目标列表
const { targets } = await edge_get_targets();
// 启用 DevTools 会话
const { sessionId } = await edge_enable_devtools({ targetId: targets[0].id });
// 查询 DOM 节点
const { nodeId } = await edge_dom_query({
sessionId,
selector: "h1"
});
// 获取节点属性
const { attributes } = await edge_get_attributes({
sessionId,
nodeId
});
npm run build
npm run dev
npm test
npm run lint
@modelcontextprotocol/sdkMCP SDKpuppeteer-core浏览器自动化wsWebSocket客户端MIT许可证
欢迎提交问题和拉取请求!