Token导航 LogoToken导航TokenDH.com
Dev Tool MCP logo
浏览器工具stdio官方级别未说明来源级核验

Dev Tool MCP

MCP Server

MCP服务器提供网页爬取功能,支持多种输出格式(HTML、JSON、PDF、截图、Markdown)和浏览器交互特性,适用于数据采集和内容分析场景。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
网页爬取Python浏览器自动化内容提取

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

osins

提供方

osins

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python launch_server.py

详细介绍

用于Web爬行的MCP服务器

一种MCP(模型上下文协议)服务器,使用crawl4ai提供网络爬行功能。支持多种内容格式输出(HTML、JSON、PDF、截图、Markdown)和浏览器交互功能。

快速开始

要启动服务器,您有几个选项:

选项1:使用Python启动脚本

python launch_server.py

选项2:使用shell脚本(基于Unix的系统)

./launch_server.sh

选项3:使用批处理脚本(Windows)

launch_server.bat

选项4:直接执行

python mcp_server/server.py

目录

MCP配置

要使用MCP配置此服务器,根据您的设置,您有多个选项:

方法1:使用启动脚本(推荐)

这是推荐的方法,因为它可以自动处理虚拟环境设置和依赖关系安装:

{
  "mcpServers": {
    "dev-tool-mcp": {
      "command": "/bin/bash",
      "args": [
        "-c",
        "cd /absolute/path/to/your/dev-tool-mcp && ./launch_server.sh"
      ],
      "description": "MCP development tool server providing web crawling, browser automation, content extraction, and real-time page analysis capabilities"
    }
  }
}

确保更换 /absolute/path/to/your/dev-tool-mcp 使用项目目录的实际绝对路径。

方法2:直接使用虚拟环境Python

如果您更喜欢直接在虚拟环境中运行服务器:

{
  "mcpServers": {
    "dev-tool-mcp": {
      "command": "/absolute/path/to/your/dev-tool-mcp/launch_server.sh",
      "args": [],
      "description": "MCP development tool server providing web crawling, browser automation, content extraction, and real-time page analysis capabilities"
    }
  }
}

方法3:使用已安装的控制台脚本

如果包安装在虚拟环境中,则可以使用控制台脚本:

{
  "mcpServers": {
    "dev-tool-mcp": {
      "command": "/absolute/path/to/your/dev-tool-mcp/launch_server.sh",
      "args": [],
      "description": "MCP development tool server providing web crawling, browser automation, content extraction, and real-time page analysis capabilities"
    }
  }
}

方法4:Windows配置

对于Windows系统,请使用批处理脚本:

{
  "mcpServers": {
    "dev-tool-mcp": {
      "command": "cmd",
      "args": [
        "/c",
        "cd /d C:\\absolute\\path\\to\\your\\dev-tool-mcp && launch_server.bat"
      ],
      "description": "MCP development tool server providing web crawling, browser automation, content extraction, and real-time page analysis capabilities"
    }
  }
}
备注:建议使用启动脚本(Unix/Linux/Mac上的方法1-3和Windows上的方法4),因为它们将: - 检查虚拟环境是否存在 - 如果需要,创建它 - 从pyproject.toml安装依赖项 - 激活环境 - 使用所有必要的依赖项启动服务器 这确保了MCP服务器设置的一致性和可靠性。

特性

  • 网络爬虫:使用crawl4ai的高级网络爬行功能
  • 多种输出格式:支持HTML、JSON、PDF、截图和Markdown输出
  • 浏览器交互:获取页面内容、控制台消息和网络请求
  • LLM集成:支持用于内容处理的LLM提取策略
  • 文件下载:自动下载和保存在已爬网页面上找到的文件
  • 进度跟踪:在爬网操作期间流式传输进度更新
  • 安全:URL验证和净化,以防止安全问题

建筑

MCP服务器由以下模块组成:

mcp_server/
├── server.py          # Main MCP server definition and tool handling
├── utils.py          # Utility functions for file operations
├── browser/          # Browser automation functionality
│   ├── browser_service.py  # Playwright-based browser service
│   └── README.md     # Browser module documentation
└── crawl/            # Web crawling functionality
    └── crawl.py      # Core crawling implementation with crawl4ai

核心组件

  • 服务器:通过工具注册和执行实现MCP协议
  • 浏览器服务:管理Playwright浏览器实例以进行页面内容和网络监控
  • 爬虫:使用crawl4ai进行具有多种输出格式的高级web爬行
  • 工具集:提供用于保存内容的文件处理实用程序

安装

先决条件

  • Python 3.8或更高版本
  • pip包管理器
  • Playwright(Chromium浏览器)的系统依赖关系

步骤

  1. 克隆存储库:
   git clone 
   cd mcp-server
  1. 安装软件包和依赖项:
   pip install -e .
  1. 安装Playwright浏览器:
   python -m playwright install chromium

依赖项

服务器需要以下依赖项(通过pip自动安装):

  • crawl4ai>=0.7.7:Web爬行库
  • pydantic>=2.0.0:数据验证
  • mcp==1.0.0:模型上下文协议实现
  • httpx[socks]:HTTP客户端
  • litellm:LLM接口
  • beautifulsoup4>=4.12.2:HTML解析
  • lxml>=4.9.3:XML/HTML处理
  • sentencepiece:文本处理
  • playwright>=1.40.0:浏览器自动化

配置

环境变量

服务器使用以下环境变量(可选):

  • TEST_URL:测试URL(用于测试文件)

可用工具

服务器通过MCP公开以下工具:

你好

  • 描述:一个简单的问候工具,向用户返回个性化消息
  • 参数:

- name (字符串,可选):要问候的名称,默认为“World”

  • 退货:问候语文本

echo消息

  • 描述:Echo工具,按原样返回用户提供的信息
  • 参数:

- message (string,必填):要回显的消息

  • 退货:回声消息文本

crawl_web_page

  • 描述:从页面下载文件资源时,抓取网页内容并以多种格式(HTML、JSON、PDF、屏幕截图)保存
  • 参数:

- url (string,必填):要抓取的网页的URL - save_path (string,必填):用于保存已爬网内容和下载文件的基本文件路径 - instruction (字符串,可选):用于LLM的指令(默认值:“”) - save_screenshot (布尔值,可选):保存页面的屏幕截图(默认值:false) - save_pdf (布尔值,可选):保存页面的PDF(默认值:false) - generate_markdown (boolean,可选):生成页面的Markdown表示(默认值:false)

  • 退货:带有文件计数和保存位置的成功消息

get_page_content

  • 描述:获取指定URL网页的完整内容,包括HTML结构和页面数据
  • 参数:

- url (string,必填):从中获取内容的网页的URL - wait_for_selector (string,可选):获取内容前等待的可选CSS选择器 - wait_timeout (整数,可选):等待超时(毫秒),默认30000

  • 退货:包含页面内容、标题、HTML、文本、元数据、链接和图像的JSON对象

get_sole_message

  • 描述:从指定的URL网页捕获控制台输出信息(包括日志、警告、错误等)
  • 参数:

- url (string,必填):从中获取控制台消息的网页的URL - wait_for_selector (string,可选):在获取控制台消息之前等待的可选CSS选择器 - wait_timeout (整数,可选):等待超时(毫秒),默认30000

  • 退货:JSON对象,包含具有类型、文本、位置和堆栈信息的控制台消息

get_network_requests

  • 描述:监控并检索指定URL网页发起的所有网络请求(API调用、资源加载等)
  • 参数:

- url (string,必填):从中获取网络请求的网页的URL - wait_for_selector (string,可选):获取网络请求前等待的可选CSS选择器 - wait_timeout (整数,可选):等待超时(毫秒),默认30000

  • 退货:JSON对象,包含带有URL、状态、标头和计时信息的请求和响应

用法

运行服务器

可以使用pyproject.toml中定义的控制台脚本启动服务器:

dev-tool-mcp

或者直接通过Python:

python -m mcp_server.server

服务器使用stdio进行MCP通信,使其与MCP客户端兼容。

工具示例

抓取网页

要抓取网页并以多种格式保存内容,请执行以下操作:

{
  "name": "crawl_web_page",
  "arguments": {
    "url": "https://example.com",
    "save_path": "/path/to/save",
    "save_screenshot": true,
    "save_pdf": true,
    "generate_markdown": true
  }
}

这将创建一个带有时间戳的子目录,其中包含:

  • output.html -页面HTML内容
  • output.json -JSON格式的页面内容
  • output.png -页面截图(如果需要)
  • output.pdf -页面的PDF(如果需要)
  • raw_markdown.md -页面的Markdown表示(如果需要)
  • downloaded_files.json -下载文件列表
  • files/ -包含下载文件的目录

获取页面内容

要检索页面内容,请执行以下操作:

{
  "name": "get_page_content",
  "arguments": {
    "url": "https://example.com",
    "wait_for_selector": "#main-content",
    "wait_timeout": 10000
  }
}

获取控制台消息

要从页面捕获控制台消息,请执行以下操作:

{
  "name": "get_console_messages",
  "arguments": {
    "url": "https://example.com",
    "wait_for_selector": ".app",
    "wait_timeout": 15000
  }
}

获取网络请求

要监视页面发出的网络请求,请执行以下操作:

{
  "name": "get_network_requests",
  "arguments": {
    "url": "https://example.com",
    "wait_for_selector": "[data-loaded]",
    "wait_timeout": 20000
  }
}

测试

该项目包括对浏览器和爬虫功能的全面测试:

运行测试

# Run all tests
pytest

# Run specific test files
python -m pytest test/test_crawler.py
python -m pytest test/test_browser.py

# Run browser tests directly
python -m test.test_browser

测试覆盖率

  • test_crawler.py:测试完整的爬虫功能,包括文件保存和格式生成
  • test_browser.py:测试页面内容、控制台消息和网络请求的浏览器服务功能

爬虫测试专门验证:

  • HTML、JSON、PDF、截图和Markdown文件生成
  • 文件下载和保存功能
  • 正确的错误处理和目录创建

部署

生产部署

  1. 在生产环境中安装该软件包:
   pip install dev-tool-mcp
  1. 安装Playwright浏览器:
   python -m playwright install chromium --with-deps
  1. 运行服务器:
   dev-tool-mcp

Docker部署(可选)

为容器化部署创建一个Dockerfile:

FROM python:3.11-slim

WORKDIR /app

COPY pyproject.toml .
COPY mcp_server/ ./mcp_server/

RUN pip install -e .
RUN python -m playwright install chromium --with-deps

CMD ["dev-tool-mcp"]

安全

URL验证

服务器包括防止恶意URL的安全措施:

  • URL长度限制(2048个字符)
  • 协议验证(只允许http/https)
  • 输入消毒以防止注射攻击
  • 验证以防止访问本地网络地址

浏览器安全性

  • 默认情况下,Playwright以无头模式运行
  • 安全标志设置为禁用危险功能
  • 浏览器以有限权限运行

文件系统安全

  • 文件仅保存到明确指定的路径
  • 不允许任意访问文件系统
  • 临时文件已正确清理

故障排除

常见问题

找不到剧作家浏览器

如果您遇到与浏览器相关的错误:

python -m playwright install chromium

权限错误

确保服务器对指定的保存路径具有写权限:

mkdir -p /path/to/save
chmod 755 /path/to/save

网络问题

对于与网络相关的爬网问题,请验证:

  • 目标URL可访问
  • 不存在防火墙限制
  • 设置适当的超时值

内存使用

大页面抓取会消耗大量内存。对于大规模爬行:

  • 监控内存使用情况
  • 按顺序而不是并行处理页面
  • 定期清理临时文件

调试

启用详细日志记录以排除问题:

# Check the server logs for error messages
# Monitor file system permissions
# Verify network connectivity to target URLs

版本信息

  • 包裹:开发工具mcp
  • 版本: 0.1.0
  • Python支持: 3.8+
  • 依赖项:有关确切版本,请参阅pyproject.toml

许可证

此项目根据pyproject.toml文件中指定的条款获得许可。有关完整的许可证详细信息,请参阅项目存储库。

目录标签

目录标签

网页爬取Python浏览器自动化内容提取本地部署数据采集多格式输出

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP