项目简介
'jaegis-RAVERSE' 是一个强大的AI驱动多智能体系统,专注于二进制分析、逆向工程和自动化补丁。它通过MCP (Model Context Protocol) 框架,将这些复杂功能以标准化的服务接口暴露给大型语言模型(LLM)客户端。该服务器能够托管和管理各种资源,注册并执行丰富的工具,并支持灵活的Prompt模板,为LLM提供上下文感知和功能调用能力。
主要功能点
- 二进制分析与修补: 自动对可执行文件进行反汇编、模式识别、漏洞分析,并生成和应用安全补丁。
- Web安全分析: 执行Web侦察、JavaScript分析、API逆向工程和WebAssembly分析,以识别Web应用中的安全风险。
- 知识库管理: 支持内容摄取、语义搜索和检索增强生成(RAG),为LLM提供实时知识查询。
- 智能体与工具编排: 协调35+种专业AI智能体,执行复杂任务,并通过JSON-RPC协议响应客户端的工具调用请求。
- 基础设施管理: 集成PostgreSQL和Redis进行数据持久化和高速缓存,支持度量收集、日志记录和配置服务。
- 高级分析与报告: 具备逻辑识别、流量拦截、深层研究和综合报告生成能力。
安装步骤
RAVERSE MCP服务器支持通过NPM或PyPI进行快速安装和运行,也可以通过Git仓库克隆部署。以下是推荐的安装方法:
-
使用NPX(最快,无需本地安装): 直接运行最新的MCP服务器版本,无需全局安装。
npx raverse-mcp-server@latest或指定版本:
-
通过NPM全局安装: 首先全局安装NPM包,然后运行服务器。
npm install -g raverse-mcp-server raverse-mcp-server -
通过PyPI安装: 从PyPI安装Python包,然后运行服务器模块。
pip install jaegis-raverse-mcp-server python -m jaegis_raverse_mcp_server.server -
从GitHub仓库克隆(用于开发):
- 克隆仓库:
git clone https://github.com/usemanusai/jaegis-RAVERSE.git cd jaegis-RAVERSE/jaegis-RAVERSE-mcp-server - 创建并激活Python虚拟环境:
python -m venv venv source venv/bin/activate # Windows用户使用 'venv\Scripts\activate' - 安装依赖:
pip install -r requirements.txt - 复制并配置 '.env' 文件(包含数据库、Redis和OpenRouter API密钥等):
cp .env.example .env # 根据需要编辑 .env 文件,特别是 LLM_API_KEY、DATABASE_URL 和 REDIS_URL - 运行服务器:
python -m jaegis_raverse_mcp_server.server
- 克隆仓库:
注意: 首次运行时,服务器可能会启动一个交互式设置向导,引导您配置必要的数据库、Redis和LLM API密钥。请按照提示完成设置。
服务器配置(供MCP客户端使用)
MCP客户端需要以下JSON格式的配置信息才能连接并使用RAVERSE MCP服务器。这个配置会告诉客户端如何启动和通信。
{ "server_name": "RAVERSE MCP Server", "description": "AI多智能体二进制分析与修补系统", "command": ["python", "-m", "jaegis_raverse_mcp_server.server"], "args": [], "options": { "log_level": "INFO", // 可选:服务器的日志级别 (DEBUG, INFO, WARNING, ERROR) "openrouter_api_key_env": "OPENROUTER_API_KEY", // 可选:指定OpenRouter API密钥的环境变量名 "database_url_env": "DATABASE_URL", // 可选:指定PostgreSQL数据库URL的环境变量名 "redis_url_env": "REDIS_URL" // 可选:指定Redis URL的环境变量名 }, "transport": "stdio", // 传输协议:Stdio "protocol": "jsonrpc" // 协议类型:JSON-RPC }
参数注释:
- 'server_name': 服务器的显示名称。
- 'description': 服务器的简要描述。
- 'command': 启动MCP服务器进程的命令列表。这里指定了使用Python解释器运行 'jaegis_raverse_mcp_server.server' 模块。
- 'args': 传递给启动命令的额外参数列表。默认情况下,RAVERSE MCP服务器通过环境变量进行配置,无需额外的命令行参数。
- 'options': 客户端可用于配置服务器运行时行为的额外参数映射。这里列举了一些常用的环境变量,客户端可以提示用户设置这些环境变量,而不是直接在 'args' 中传递敏感信息。
- 'transport': 服务器与客户端通信所使用的传输协议,这里是 'stdio'(标准输入/输出)。
- 'protocol': 服务器支持的通信协议,这里是 'jsonrpc'。
基本使用方法
RAVERSE MCP服务器主要由LLM客户端通过其暴露的工具接口进行调用。以下是典型的交互流程:
- 初始化连接: LLM客户端发送 'initialize' 请求,服务器返回其能力声明和支持的协议版本。
- 获取可用工具列表: LLM客户端发送 'tools/list' 请求,服务器返回其所有35+种工具的详细信息(包括名称、描述和输入Schema)。LLM可以根据这些信息了解服务器能提供的功能。
- 调用工具执行任务: LLM客户端根据需要选择一个工具(例如 'disassemble_binary' 或 'search_knowledge_base'),并发送 'tools/call' 请求,附带工具名称和所需的参数。
例如,LLM客户端可能请求服务器:
- 'disassemble_binary' (二进制文件路径: '/path/to/vulnerable.exe', 架构: 'x64')
- 'ingest_content' (内容: "最新的零日漏洞报告", 元数据: '{"tag": "security"}')
- 'reconnaissance' (目标URL: 'https://example.com')
- 接收工具执行结果: 服务器执行工具,并将结果以JSON-RPC响应的形式返回给LLM客户端。结果中包含任务是否成功、返回的数据或错误信息。
通过这种方式,LLM可以利用RAVERSE MCP服务器的专业能力,进行复杂的二进制分析、Web安全评估或知识查询,从而增强其自身的上下文理解和决策能力。
信息
分类
AI与计算