项目简介
'mcp-server-webcrawl' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在将各种网络爬虫工具收集到的数据转化为大型语言模型(LLM)可理解和利用的上下文资源。它充当LLM与您私有网络档案之间的桥梁,使LLM能够执行高级搜索、信息提取和自动化分析任务。
主要功能点
- 多源爬虫数据集成: 支持多种主流网络爬虫工具(如ArchiveBox, HTTrack, InterroBot, Katana, SiteOne, WARC, wget)的数据导入、管理和索引,将它们的数据转换为统一可搜索的格式。
- 高级搜索与过滤: 提供强大的布尔逻辑(AND, OR, NOT)搜索功能,并支持基于特定字段(如URL、内容类型、HTTP状态码、页面内容、HTTP头部信息、文件大小等)进行精确过滤。支持通配符和数值比较,实现对海量爬虫数据的快速定位。
- 丰富的上下文提取: 能够将复杂的HTML内容智能转换为简洁易读的Markdown格式,提取与查询相关的上下文代码片段(snippets),通过XPath和正则表达式从页面中精确提取数据,甚至能为图像资源生成可供LLM分析的缩略图。
- 可定制的Prompt模板: 支持用户定义和使用Markdown格式的Prompt模板(例如用于SEO审计、404错误分析、网站性能评估、文件组织分析或作为Gopher风格的搜索界面),直接指导LLM执行特定的分析任务或交互模式。
- 终端交互模式: 除了作为MCP服务器提供服务外,项目还提供一个独立的终端交互界面,用户可以直接在命令行中对爬虫数据进行搜索和浏览,无需通过LLM客户端。
安装步骤
该服务器是一个Python包,可以通过'pip'轻松安装:
pip install mcp-server-webcrawl
服务器配置
MCP客户端需要配置MCP服务器的启动命令和参数才能建立连接。以下是配置'mcp-server-webcrawl'服务器的示例:
{ "mcpServers": { "webcrawl-wget": { "command": "/path/to/your/python_env/bin/mcp-server-webcrawl", "args": [ "--crawler", "wget", "--datasrc", "/path/to/your/wget/archives/" ] }, "webcrawl-interrobot": { "command": "/path/to/your/python_env/bin/mcp-server-webcrawl", "args": [ "--crawler", "interrobot", "--datasrc", "/path/to/your/interrobot/database.db" ] } } }
配置参数说明:
- 'webcrawl-wget' 或 'webcrawl-interrobot': 这是您为MCP服务器实例定义的名称,LLM客户端将使用此名称来调用对应的服务器。您可以根据需要配置多个服务器实例,每个实例连接不同的爬虫类型或数据源。
- 'command': MCP服务器的可执行文件路径。通常是在Python虚拟环境的'bin'或'Scripts'目录下找到。
- 'args': 启动服务器时需要传递的参数列表。
- '"--crawler"': 指定要使用的爬虫适配器类型。例如,'wget'、'interrobot'、'archivebox'等。
- '"--datasrc"': 指定爬虫数据源的路径。这可以是包含多个网站存档的目录,或者单个爬虫数据库文件,具体取决于您选择的'--crawler'类型。
基本使用方法
- 启动MCP客户端: 启动您的LLM客户端应用,并确保其已加载上述MCP服务器配置。
- LLM调用: LLM客户端会自动发现'mcp-server-webcrawl'提供的工具(例如'webcrawl_sites'用于列出站点,'webcrawl_search'用于搜索资源)。您可以通过自然语言向LLM提问,例如:
- "在我的网站档案中搜索关于'隐私政策'的HTML页面。"
- "找出所有HTTP状态码为404的CSS文件。"
- "给我分析一下'pragmar.com'网站的技术SEO状况。"
- 接收结果: LLM会根据您的指令,自动调用'mcp-server-webcrawl'提供的工具,并将查询结果(包括结构化数据、Markdown内容、代码片段或图像缩略图等)呈现在您的聊天界面中。
- 终端模式: 如果您想在没有LLM客户端的情况下直接与爬虫数据交互,可以在命令行中运行:
这将启动一个交互式终端界面,允许您进行搜索和浏览。mcp-server-webcrawl --interactive
信息
分类
AI与计算