Skip to main content

MCP Server for RAVERSE - AI Multi-Agent Binary Patching System with 35 tools

Project description

JAEGIS RAVERSE MCP Server

Production-ready Model Context Protocol (MCP) server for RAVERSE - AI Multi-Agent Binary Patching System.

📊 Package Distribution

NPM Version NPM Downloads PyPI Version PyPI Downloads License: MIT Python 3.13+

Overview

This MCP server exposes 35 core capabilities from RAVERSE 2.0 as standardized MCP tools, enabling seamless integration with Claude, other AI models, and external systems.

Features

Binary Analysis Tools (4 tools)

  • Disassemble Binary: Convert machine code to human-readable assembly
  • Generate Code Embedding: Create semantic vectors for code snippets
  • Apply Patch: Programmatically modify binary files
  • Verify Patch: Confirm patch application and integrity

Knowledge Base & RAG Tools (4 tools)

  • Ingest Content: Add content to knowledge base
  • Search Knowledge Base: Find relevant content via semantic search
  • Retrieve Entry: Get specific knowledge base entries
  • Delete Entry: Remove entries from knowledge base

Web Analysis Tools (5 tools)

  • Reconnaissance: Gather intelligence about web targets
  • Analyze JavaScript: Extract logic and API calls from JS code
  • Reverse Engineer API: Generate OpenAPI specs from traffic
  • Analyze WASM: Decompile and analyze WebAssembly modules
  • Security Analysis: Identify vulnerabilities and security issues

Infrastructure Tools (5 tools)

  • Database Query: Execute parameterized database queries
  • Cache Operation: Manage Redis cache operations
  • Publish Message: Send A2A protocol messages
  • Fetch Content: Download web content with retry logic
  • Record Metric: Track performance metrics

Advanced Analysis Tools (5 tools)

  • Logic Identification: Identify logic patterns in code
  • Traffic Interception: Intercept and analyze network traffic
  • Generate Report: Generate comprehensive analysis reports
  • RAG Orchestration: Execute RAG workflow
  • Deep Research: Perform deep research on topics

Management Tools (4 tools)

  • Version Management: Manage component versions
  • Quality Gate: Enforce quality standards
  • Governance Check: Check governance rules
  • Generate Document: Generate structured documents

Utility Tools (5 tools)

  • URL Frontier Operation: Manage URL frontier for crawling
  • API Pattern Matcher: Identify API patterns in traffic
  • Response Classifier: Classify HTTP responses
  • WebSocket Analyzer: Analyze WebSocket communication
  • Crawl Scheduler: Schedule crawl jobs

System Tools (4 tools)

  • Metrics Collector: Record performance metrics
  • Multi-Level Cache: Manage multi-level cache
  • Configuration Service: Access configuration
  • LLM Interface: Interface with LLM provider

NLP & Validation Tools (2 tools)

  • Natural Language Interface: Process natural language commands
  • PoC Validation: Validate vulnerabilities with PoC

Total: 35 Tools Across 9 Categories

Installation

Prerequisites

  • Python 3.13+
  • PostgreSQL 17 with pgvector
  • Redis 8.2
  • OpenRouter API key (for LLM features)

Quick Start (Recommended)

Option 1: NPX (Fastest - No Installation Required)

# Run the latest version without installation
npx raverse-mcp-server@latest

# Or with specific version
npx raverse-mcp-server@1.0.2

# Verify it works
npx raverse-mcp-server@latest --version

Option 2: NPM (Global Installation)

# Install globally
npm install -g raverse-mcp-server

# Run the server
raverse-mcp-server

# Verify installation
raverse-mcp-server --version

Option 3: PyPI (Python Package)

# Install via pip
pip install jaegis-raverse-mcp-server

# Run the server
python -m jaegis_raverse_mcp_server.server

# Verify installation
python -m jaegis_raverse_mcp_server.server --version

Option 4: Docker

# Pull and run Docker image
docker run -d \
  -e DATABASE_URL="postgresql://user:pass@host/db" \
  -e REDIS_URL="redis://localhost:6379" \
  -e OPENROUTER_API_KEY="sk-or-v1-..." \
  -p 8000:8000 \
  raverse/mcp-server:latest

Detailed Setup (From Source)

  1. Clone and navigate to directory:
cd jaegis-RAVERSE-mcp-server
  1. Create virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -e .
  1. Configure environment:
cp .env.example .env
# Edit .env with your configuration

Installation Guides

Configuration

All configuration is managed via environment variables. See .env.example for all available options.

Key Settings

Variable Default Description
LOG_LEVEL INFO Logging level (DEBUG, INFO, WARNING, ERROR)
DATABASE_URL localhost PostgreSQL connection string
REDIS_URL localhost Redis connection string
LLM_API_KEY - OpenRouter API key
ENABLE_* true Feature flags for tool categories

Usage

Starting the Server

raverse-mcp-server

Programmatic Usage

from jaegis_raverse_mcp_server import MCPServer

server = MCPServer()
result = await server.handle_tool_call(
    "disassemble_binary",
    {"binary_path": "/path/to/binary"}
)

Tool Reference

Binary Analysis

disassemble_binary

Disassemble a binary file and extract structural information.

Parameters:

  • binary_path (str): Path to binary file
  • architecture (str, optional): Target architecture

Returns:

  • binary_hash: SHA256 hash
  • file_size: Size in bytes
  • status: Operation status

generate_code_embedding

Generate semantic embedding for code content.

Parameters:

  • code_content (str): Code to embed
  • model (str): Embedding model name

Returns:

  • content_hash: Content hash
  • status: Operation status

apply_patch

Apply patches to binary file.

Parameters:

  • binary_path (str): Binary file path
  • patches (list): List of patch objects
  • backup (bool): Create backup before patching

Returns:

  • patch_count: Number of patches applied
  • status: Operation status

verify_patch

Verify patch was applied correctly.

Parameters:

  • original_binary (str): Original binary path
  • patched_binary (str): Patched binary path

Returns:

  • original_hash: Original binary hash
  • patched_hash: Patched binary hash
  • hashes_match: Whether hashes match

Knowledge Base

ingest_content

Add content to knowledge base.

Parameters:

  • content (str): Content to ingest
  • metadata (dict, optional): Associated metadata

Returns:

  • content_hash: Content hash
  • status: Operation status

search_knowledge_base

Search for relevant content.

Parameters:

  • query (str): Search query
  • limit (int): Max results (1-100)
  • threshold (float): Similarity threshold (0-1)

Returns:

  • query: Original query
  • status: Operation status

retrieve_entry

Get specific knowledge base entry.

Parameters:

  • entry_id (str): Entry ID

Returns:

  • entry_id: Entry ID
  • status: Operation status

delete_entry

Delete knowledge base entry.

Parameters:

  • entry_id (str): Entry ID

Returns:

  • entry_id: Entry ID
  • status: Operation status

Web Analysis

reconnaissance

Perform web reconnaissance on target.

Parameters:

  • target_url (str): Target URL

Returns:

  • target_url: Target URL
  • status: Operation status

analyze_javascript

Analyze JavaScript code.

Parameters:

  • js_code (str): JavaScript code
  • deobfuscate (bool): Deobfuscate code

Returns:

  • status: Operation status
  • endpoints_found: Number of endpoints found

reverse_engineer_api

Reverse engineer API from traffic.

Parameters:

  • traffic_data (dict): Traffic data
  • js_analysis (dict, optional): JS analysis results

Returns:

  • status: Operation status

analyze_wasm

Analyze WebAssembly module.

Parameters:

  • wasm_data (bytes): WASM module data

Returns:

  • status: Operation status
  • wasm_size: Module size

security_analysis

Perform security analysis.

Parameters:

  • analysis_data (dict): Analysis data
  • check_headers (bool): Check security headers
  • check_cves (bool): Check for CVEs

Returns:

  • status: Operation status

Infrastructure

database_query

Execute database query.

Parameters:

  • query (str): SQL query
  • params (list, optional): Query parameters

Returns:

  • status: Operation status

cache_operation

Perform cache operation.

Parameters:

  • operation (str): Operation (get, set, delete, exists, clear)
  • key (str): Cache key
  • value (any, optional): Value for set operation
  • ttl (int, optional): Time to live in seconds

Returns:

  • status: Operation status

publish_message

Publish A2A message.

Parameters:

  • channel (str): Channel name
  • message (dict): Message content

Returns:

  • status: Operation status

fetch_content

Fetch content from URL.

Parameters:

  • url (str): URL to fetch
  • timeout (int): Timeout in seconds
  • retries (int): Number of retries

Returns:

  • status: Operation status

record_metric

Record performance metric.

Parameters:

  • metric_name (str): Metric name
  • value (float): Metric value
  • labels (dict, optional): Metric labels

Returns:

  • status: Operation status

Error Handling

All tools return structured error responses:

{
  "success": false,
  "error": "Error message",
  "error_code": "ERROR_TYPE"
}

Error Codes

  • VALIDATION_ERROR: Input validation failed
  • DATABASE_ERROR: Database operation failed
  • CACHE_ERROR: Cache operation failed
  • BINARY_ANALYSIS_ERROR: Binary analysis failed
  • WEB_ANALYSIS_ERROR: Web analysis failed
  • TOOL_EXECUTION_ERROR: Tool execution failed
  • UNKNOWN_TOOL: Tool not found

Logging

Structured logging with JSON output. Configure via LOG_LEVEL environment variable.

Performance

  • Concurrent Tasks: Configurable via MAX_CONCURRENT_TASKS
  • Cache TTL: Configurable via CACHE_TTL_SECONDS
  • Request Timeout: Configurable via REQUEST_TIMEOUT_SECONDS

Security

  • Input validation on all parameters
  • Parameterized database queries
  • Secure credential management via environment variables
  • No hardcoded secrets

Distribution

RAVERSE MCP Server is available through multiple distribution channels:

NPM Package

npm install -g @raverse/mcp-server

PyPI Package

pip install jaegis-raverse-mcp-server

Docker Image

docker pull raverse/mcp-server:latest
  • Registry: Docker Hub
  • Image: raverse/mcp-server

MCP Client Integration

The server is compatible with 20+ MCP clients including:

  • Claude Desktop (Anthropic)
  • Cursor
  • Cline (VSCode)
  • Roo Code (VSCode)
  • Augment Code
  • Continue.dev
  • Windsurf (Codeium)
  • Zed Editor
  • And many more...

See MCP_CLIENT_SETUP.md for detailed configuration guides.

Documentation

License

MIT License - See LICENSE file for details

Support

For issues and questions, please refer to the main RAVERSE repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jaegis_raverse_mcp_server-1.0.3.tar.gz (34.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jaegis_raverse_mcp_server-1.0.3-py3-none-any.whl (34.5 kB view details)

Uploaded Python 3

File details

Details for the file jaegis_raverse_mcp_server-1.0.3.tar.gz.

File metadata

File hashes

Hashes for jaegis_raverse_mcp_server-1.0.3.tar.gz
Algorithm Hash digest
SHA256 0bb8c96d98eca1c33189065ef7177f5cf050d9409fbc9a88798f4b4eda7ef630
MD5 2f0cc813b9bb8a7dfaa1bbf6f594c846
BLAKE2b-256 0b84ff2f9ee2fd3a70d5172a51e743e03d422c9e8322b9a36f503281b288ce97

See more details on using hashes here.

File details

Details for the file jaegis_raverse_mcp_server-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for jaegis_raverse_mcp_server-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4ced7d430bcc1ed277dad370b28d8e2d1ecfe76e50505422b6aa8274e72afbf5
MD5 ceb64d9fb8fcaa6e2c337897a21911d0
BLAKE2b-256 51744860f9464c4049ad85e3f4512b5b47b9e824eb90a71b1406833d238b7029

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page