使用说明
🌐 浏览器MCP
用于模型上下文协议(MCP)的轻量级无头浏览器服务器
浏览器MCP为AI助手带来了网页浏览功能。导航页面、提取内容、截图以及与web元素交互——所有这些都是通过MCP协议完成的。
✨ 特性
- 🌐 导航和浏览 -加载任何URL并浏览网页
- 📸 截图 -捕获整页或可见部分
- 🔍 内容提取 -从页面获取HTML或纯文本
- 🖱️ 元素交互 -点击、填写表单并互动
- 📜 JavaScript执行 -在页面上下文中运行自定义JS
- 🔧 查找元素 -通过CSS选择器或XPath定位元素
- 🍪 Cookie管理 -访问浏览器Cookie
📦 安装
快速安装
pip install browser-mcp
系统相关性
Ubuntu/Debian:
sudo apt install libwebkit2gtk-4.1-dev python3-gi python3-gi-cairo gir1.2-webkit2-4.1
Fedora:
sudo dnf install webkit2gtk4.1-devel pygobject3 cairo-gobject
Arch Linux:
sudo pacman -S webkit2gtk4.1 python-gobject python-cairo gobject-introspection
macOS:
brew install webkitgtk4.1 gobject-introspection pygobject3 py3cairo
🚀 用法
命令行界面
# Run directly
python -m browser_mcp
# Or install and run
pip install browser-mcp
browser-mcp
使用克劳德桌面
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"browser": {
"command": "python",
"args": ["-m", "browser_mcp"]
}
}
}
使用n8n
// In your n8n MCP node configuration
{
"command": "python",
"args": ["-m", "browser_mcp"]
}
🛠️ 可用工具
| 工具 | 说明 | 参数 |
|---|---|---|
navigate |
导航到URL | url, wait (可选) |
get_page_content |
获取页面HTML | - |
get_text |
提取可见文本 | - |
click |
单击元素 | selector, xpath (可选) |
fill |
填写输入 | selector, value |
screenshot |
截图 | path, full_page (可选) |
execute_js |
运行JavaScript | script |
find_elements |
查找元素 | selector, xpath (可选) |
get_cookies |
获取Cookie | - |
💡 例子
基本导航
# Navigate to a page
{"name": "navigate", "arguments": {"url": "https://google.com"}}
# Get the page text
{"name": "get_text", "arguments": {}}
表单交互
# Fill a search box and search
{"name": "fill", "arguments": {"selector": "input[name='q']", "value": "search query"}}
{"name": "click", "arguments": {"selector": "button[type='submit']"}}
截图
# Take a screenshot
{"name": "screenshot", "arguments": {"path": "/tmp/page.png"}}
自定义JavaScript
# Extract specific data with JS
{"name": "execute_js", "arguments": {"script": "document.title"}}
{"name": "execute_js", "arguments": {"script": "[...document.querySelectorAll('a')].map(a => a.href)"}}
🔧 发展
# Clone the repo
git clone https://github.com/Adarsh1Y/browser-mcp
cd browser-mcp
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # Linux/macOS
# .venv\Scripts\activate # Windows
# Install with dev dependencies
pip install -e ".[dev,webkit]"
# Run tests
pytest
# Lint
ruff check .
# Type check
mypy browser_mcp
📁 项目结构
browser-mcp/
├── browser_mcp/
│ ├── __init__.py # Package init
│ ├── __main__.py # Entry point
│ ├── browser.py # WebKit browser wrapper
│ ├── server.py # MCP server implementation
│ └── cli.py # CLI interface
├── tests/
│ └── test_browser.py # Unit tests
├── examples/
│ └── basic_usage.py # Usage examples
├── pyproject.toml # Project config
├── README.md
├── LICENSE
├── CONTRIBUTING.md
└── CHANGELOG.md
🐛 故障排除
“WebKitGTK不可用”
确保安装了系统依赖项:
sudo apt install libwebkit2gtk-4.1-dev python3-gi python3-gi-cairo gir1.2-webkit2-4.1
无头环境问题
WebKitGTK需要一个显示器。在无头环境中,使用Xvfb:
xvfb-run python -m browser_mcp
屏幕截图上的权限被拒绝
确保目标目录可写:
chmod 755 /tmp
🤝 贡献
欢迎投稿!请看 贡献.md 作为指导方针。
📝 许可证
MIT许可证-请参阅 许可证 了解详情。
⭐ 表示支持
给一个⭐ 如果这个项目对你有帮助!
由以下材料制成❤️ 对于AI社区