by ktrusteric
MCP Browser Console Capture Service 是一个基于 FastMCP 框架的浏览器自动化服务,专门用于智能舆情分析系统。该服务提供了完整的浏览器控制、JavaScript 执行、控制台日志捕获和页面交互功能。
test-token-eric
特殊认证# Ubuntu/Debian 系统 sudo apt update sudo apt install -y python3 python3-pip python3-venv # 安装必要的系统依赖 sudo apt install -y wget unzip curl
重要: 本服务需要特定路径的 Chrome 浏览器
重要: ChromeDriver 版本必须与 Chrome 版本匹配
Google Chrome for Testing 137.0.7151.119
ChromeDriver 137.0.7151.119 (e0ac9d12dff5f2d33c935958b06bf1ded7f1c08c-refs/branch-heads/7151@{#2356})
请自行下载安装:json 源地址
https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json
/opt/chromedriver-linux64/chromedriver --version
/opt/chrome-linux64/chrome --version
配置到对应路径到server.py
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install fastmcp
确保 config.json
中的路径配置正确:
*Configuration content*
# 确保 Chrome 和 ChromeDriver 有执行权限 sudo chmod +x /opt/chrome-linux64/chrome sudo chmod +x /opt/chromedriver-linux64/chromedriver # 创建必要的目录 mkdir -p ./screenshots mkdir -p ./logs
# 测试 Chrome 启动 /opt/chrome-linux64/chrome --version --no-sandbox # 测试 ChromeDriver /opt/chromedriver-linux64/chromedriver --version # 测试 Python 依赖 python3 -c "import selenium; print('Selenium version:', selenium.__version__)" python3 -c "import fastmcp; print('FastMCP imported successfully')"
fastmcp run server.py:mcp
IntelligentPublicSentimentSystem/mcp_services/browser_console_capture$ fastmcp run server.py:mcp
2025-06-20 03:02:09,006 - server_module - INFO - 日志系统初始化完成,配置已加载
2025-06-20 03:02:09,010 - auth_utils - INFO - === 浏览器MCP认证配置 ===
2025-06-20 03:02:09,010 - auth_utils - INFO - 默认用户: eric
2025-06-20 03:02:09,010 - auth_utils - INFO - 默认角色: admin
2025-06-20 03:02:09,010 - auth_utils - INFO - 特殊Token: test-token-eric
2025-06-20 03:02:09,011 - auth_utils - INFO - 浏览器MCP将自动使用eric用户身份进行认证
2025-06-20 03:02:09,011 - auth_utils - INFO - ==========================
2025-06-20 03:02:09,011 - server_module - INFO - 初始化FastMCP服务器...
2025-06-20 03:02:09,016 - server_module - INFO - FastMCP服务器初始化完成
2025-06-20 03:02:09,017 - server_module - INFO - 状态字典初始化完成
# 启动浏览器 start_browser(browser_type="chrome", headless=False) # 导航到页面 navigate_to_url("https://example.com") # 执行 JavaScript execute_javascript("console.log('Hello World'); return document.title;") # 获取控制台日志 get_console_logs(level="ALL", limit=100)
# 点击元素 click_element("#submit-button", by="css") # 输入文本 input_text("#search-input", "搜索内容", by="css") # 等待元素 wait_for_element(".loading-complete", condition="visible") # 截图 take_screenshot("page_screenshot.png", full_page=True)
chrome_binary_path
: Chrome 浏览器可执行文件路径chromedriver_path
: ChromeDriver 可执行文件路径headless
: 是否以无头模式运行window_size
: 浏览器窗口大小log_level
: 日志级别(DEBUG, INFO, WARNING, ERROR)log_file
: 日志文件路径max_log_size
: 最大日志文件大小page_load_timeout
: 页面加载超时时间script_timeout
: 脚本执行超时时间implicit_wait
: 隐式等待时间函数名 | 描述 | 参数 |
---|---|---|
start_browser | 启动浏览器实例 | browser_type , headless , window_width , window_height |
navigate_to_url | 导航到指定URL | url , wait_for_load |
execute_javascript | 执行JavaScript代码 | script , capture_console |
get_console_logs | 获取控制台日志 | level , limit , clear_after_get |
click_element | 点击页面元素 | selector , by , timeout |
input_text | 输入文本 | selector , text , by , clear_first |
take_screenshot | 截取页面截图 | filename , full_page , element_selector |
close_browser | 关闭浏览器实例 | 无 |
生产环境配置
认证安全
test-token-eric
本项目采用 MIT 许可证。详见 LICENSE 文件。
如有问题或建议,请通过以下方式联系:
No version information available