返回 MCP 目录
public公开dns本地运行

pathscan-mcp-server

一个基于MCP协议的网站安全扫描工具,集成dirsearch目录扫描和firecrawl爬虫技术,可自动化识别网站技术栈并分类漏洞风险等级

article

README

🚀 使用方法

本部分将详细介绍如何安装和启动MCP服务,以及如何将其集成到cline中,同时还包含故障排除和后续待办事项等内容。

📦 安装依赖

1. 为dirsearch安装依赖

进入dirsearch目录,并执行以下命令将依赖安装在全局环境中:

pip install -r .\requirements.txt

2. 在全局环境中安装setuptools

pip install setuptools

3. 安装uv管理器

uv是一个极快的Python包和项目管理器,用Rust编写。执行以下命令进行安装:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

4. 为MCP服务安装依赖

uv sync

🚀 本地部署AI爬虫工具

部署firecrawl

firecrawl是一个AI爬虫工具,包含数据清洗功能,支持本地docker部署。参考文章如下:

  • https://www.cnblogs.com/skystrive/p/18893148
  • https://docs.firecrawl.dev/contributing/guide

故障排除

在使用本地部署的firecrawl进行网页爬取时,若返回Unauthorized,可将.env配置文件中的USE_DB_AUTHENTICATION字段值设为false,你也可以直接使用提供的.env文件。

测试服务是否正常运行

打开网址:http://{firecrawl server IP}:3002/test,若出现Hello, world!,则说明服务正常运行。

📝 编辑配置文件

编辑config.py文件

  • FIRECRAWL_HOST:你的firecrawl运行的HOST地址。
  • GLOBAL_PYTHON_PATH:你的全局Python地址,可在cmd中输入where python获取。

💻 启动服务

启动MCP服务

uv run main.py

alt text 当出现如上图所示的日志时,说明服务启动成功。

cline中添加服务

直接编辑配置文件:

{
    "mcpServers": {
        "path scanner": {
            "url": "http://127.0.0.1:8000/sse",
            "disabled": false,
            "autoApprove": [],
            "timeout": 1800
        }
    }
}

alt text 当出现如上图所示的情况时,说明你的MCP server可以被cline使用了。

📋 扫描网站提示

你可以调用已有的MCP服务对指定网站进行扫描,并返回结构化结果(表格形式)。根据MCP扫描结果,可进行以下操作:

  • 提取并总结网站所使用的技术栈。
  • 根据扫描报告中的风险等级,分类整理网站的漏洞信息(高危/中危/低危)。
  • 对于报告中标记为高危漏洞的相关URL,进一步读取该URL的页面内容,并生成内容摘要。

最终请将数据汇总为以下结构输出:

  • 技术栈
  • 漏洞信息(按严重程度分类)
  • 高危漏洞相关的URL及内容摘要
  • 目标网站URL

🎨 效果展示

alt text alt text alt text

📅 TODO

服务端尚未初始化完成就收到了客户端的请求,解决办法是在正式使用服务之前对服务进行init操作。

🔗 参考

此项目灵感来自于项目ai_dirscan

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端