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

Marshal-MCP

一个基于go-mcp实现的MCP服务器,用于自动化应急响应下的漏洞扫描任务,支持生成POC、创建扫描任务和工作流,同时兼容HTTP API和MCP协议。

article

README

🚀 漏洞扫描 MCP 服务器

本项目是基于 github.com/ThinkInAIXYZ/go-mcp 实现的 MCP 服务器,主要用于自动化应急响应场景下的漏洞扫描任务,能够高效、便捷地完成漏洞扫描相关工作。

🚀 快速开始

安装和运行

# 克隆仓库
git clone https://github.com/your-username/marshal-mcp.git
cd marshal-mcp

# 编译
go build -o marshal-mcp .

# 运行
./marshal-mcp --config=config/config.yaml

配置文件

修改 config/config.yaml 文件:

# MCP服务器配置
server:
  port: 8000
  timeout: 60

# Marshal API配置
api:
  url: "http://your-marshal-api-url"  # Marshal API服务地址
  token: "your-api-token"             # API认证令牌(必填)

⚠️ 重要提示

api.token 字段是必填的,用于 Marshal API 的认证。请确保设置了有效的 token 值。

✨ 主要特性

  • 接收漏洞特征和扫描URL列表
  • 自动生成 nuclei 漏洞扫描 POC
  • 上传 POC 到 Marshal 平台
  • 创建扫描工作流
  • 自动创建并提交扫描任务
  • 支持自定义扫描参数(集群、优先级、端口等)
  • 同时支持 HTTP API 和 MCP 协议

📚 详细文档

使用方法

MCP 协议

在支持 MCP 的客户端中使用

参数说明

| 参数名 | 类型 | 必填 | 默认值 | 说明 | |--------|------|------|--------|------| | vuln_name | string | 是 | - | 漏洞名称 | | vuln_desc | string | 是 | - | 漏洞描述/特征 | | urls | string[] | 是 | - | 需要扫描的URL列表 | | cluster | string | 是 | - | 扫描集群 | | priority | string | 否 | low | 优先级(high/medium/low) | | task_name | string | 否 | 年月日-漏洞名称 | 任务名称 | | task_num | int | 否 | 100 | 任务数量 | | cycle_scan | bool | 否 | false | 是否周期扫描 | | domain | string | 否 | - | 域名 | | ip | string | 否 | - | IP地址 | | port | string | 否 | 1-65535 | 扫描端口范围 | | engine | string | 否 | naabu | 扫描引擎(naabu/osint) | | interval_days | int | 否 | 7 | 扫描间隔天数 |

API认证说明

本服务器调用的Marshal API需要认证。认证方式为在HTTP请求头中添加Authorization字段:

Authorization: <your-token>

确保在config/config.yaml中正确设置了api.token字段,服务器会自动将其添加到所有API请求中。

help

运行方式说明

cloud

托管运行

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

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

本地运行 / 其它方式

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

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