YaraFlux MCP Server A Model Context Protocol (MCP) server for YARA scanning, providing LLMs with capabilities to analyze files with YARA rules.
Overview YaraFlux MCP Server enables AI assistants to perform YARA rule-based threat analysis through the standardized Model Context Protocol interface. The server integrates YARA scanning with modern AI assistants, supporting comprehensive rule management, secure scanning, and detailed result analysis through a modular architecture.
Architecture Overview YaraFlux follows a modular architecture that separates concerns between:
MCP Integration Layer : Handles communication with AI assistantsTool Implementation Layer : Implements YARA scanning and management functionalityStorage Abstraction Layer : Provides flexible storage optionsYARA Engine Integration : Leverages YARA for scanning and rule managementFor detailed architecture diagrams, see the Architecture Documentation.
Features Clean separation of MCP integration, tool implementation, and storage Standardized parameter parsing and error handling Flexible storage backend with local and S3/MinIO options 19 integrated MCP tools for comprehensive functionality Optimized for Claude Desktop integration Direct file analysis from within conversations Compatible with latest MCP protocol specification URL and file content scanning Detailed match information with context Scan result storage and retrieval Performance-optimized scanning engine Create, read, update, delete YARA rules Rule validation with detailed error reporting Import rules from ThreatFlux repository Categorization by source (custom vs. community) Hexadecimal view for binary analysis String extraction with configurable parameters File metadata and hash information Secure file upload and storage JWT authentication for API access Non-root container execution Configurable access controls Quick Start Using Docker Image Installation from Source Claude Desktop Integration YaraFlux is designed for seamless integration with Claude Desktop through the Model Context Protocol.
Build the Docker image: Add to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json
): Restart Claude Desktop to activate the server. Available MCP Tools YaraFlux exposes 19 integrated MCP tools:
Rule Management Tools list_yara_rules : List available YARA rules with filtering optionsget_yara_rule : Get a specific YARA rule's content and metadatavalidate_yara_rule : Validate YARA rule syntax with detailed error reportingadd_yara_rule : Create a new YARA ruleupdate_yara_rule : Update an existing YARA ruledelete_yara_rule : Delete a YARA ruleimport_threatflux_rules : Import rules from ThreatFlux GitHub repositoryScanning Tools scan_url : Scan content from a URL with specified YARA rulesscan_data : Scan provided data (base64 encoded) with specified rulesget_scan_result : Retrieve detailed results from a previous scanFile Management Tools upload_file : Upload a file for analysis or scanningget_file_info : Get metadata about an uploaded filelist_files : List uploaded files with pagination and sortingdelete_file : Delete an uploaded fileextract_strings : Extract ASCII/Unicode strings from a fileget_hex_view : Get hexadecimal view of file contentdownload_file : Download an uploaded fileStorage Management Tools get_storage_info : Get storage usage statisticsclean_storage : Remove old files to free up storage spaceDocumentation Comprehensive documentation is available in the docs/ directory:
Architecture Diagrams - Visual representation of system architecture Code Analysis - Detailed code structure and recommendations Installation Guide - Detailed setup instructions CLI Usage Guide - Command-line interface documentation API Reference - REST API endpoints and usage YARA Rules Guide - Creating and managing YARA rules MCP Integration - Model Context Protocol integration details File Management - File handling capabilities Examples - Real-world usage examples Project Structure Note: Code block was split into 2 parts due to size limits.
Development Local Development CI/CD Workflows This project uses GitHub Actions for continuous integration and deployment:
CI Tests : Runs on every push and pull request to main and develop branchesVersion Auto-increment : Automatically increments version on pushes to main branchPublish Release : Triggered after successful version auto-incrementThese workflows ensure code quality and automate the release process.
Status Checks The following status checks run on pull requests:
Format Verification : Ensures code follows Black and isort formatting standardsLint Verification : Validates code quality and compliance with coding standardsTest Execution : Runs the full test suite to verify functionalityCoverage Report : Ensures sufficient test coverage of the codebaseAPI Documentation Interactive API documentation available at:
For detailed API documentation, see API Reference.
Contributing Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository Create your feature branch (git checkout -b feature/amazing-feature
) Commit your changes (git commit -m 'Add some amazing feature'
) Push to the branch (git push origin feature/amazing-feature
) Open a Pull Request License This project is licensed under the MIT License - see the LICENSE file for details.
Donate or Ask for Features YaraFlux MCP Server A Model Context Protocol (MCP) server for YARA scanning, providing LLMs with capabilities to analyze files with YARA rules.
Overview YaraFlux MCP Server enables AI assistants to perform YARA rule-based threat analysis through the standardized Model Context Protocol interface. The server integrates YARA scanning with modern AI assistants, supporting comprehensive rule management, secure scanning, and detailed result analysis through a modular architecture.
Architecture Overview YaraFlux follows a modular architecture that separates concerns between:
MCP Integration Layer : Handles communication with AI assistantsTool Implementation Layer : Implements YARA scanning and management functionalityStorage Abstraction Layer : Provides flexible storage optionsYARA Engine Integration : Leverages YARA for scanning and rule managementFor detailed architecture diagrams, see the Architecture Documentation.
Features Clean separation of MCP integration, tool implementation, and storage Standardized parameter parsing and error handling Flexible storage backend with local and S3/MinIO options 19 integrated MCP tools for comprehensive functionality Optimized for Claude Desktop integration Direct file analysis from within conversations Compatible with latest MCP protocol specification URL and file content scanning Detailed match information with context Scan result storage and retrieval Performance-optimized scanning engine Create, read, update, delete YARA rules Rule validation with detailed error reporting Import rules from ThreatFlux repository Categorization by source (custom vs. community) Hexadecimal view for binary analysis String extraction with configurable parameters File metadata and hash information Secure file upload and storage JWT authentication for API access Non-root container execution Configurable access controls Quick Start Using Docker Image Installation from Source Claude Desktop Integration YaraFlux is designed for seamless integration with Claude Desktop through the Model Context Protocol.
Build the Docker image: Add to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json
): Restart Claude Desktop to activate the server. Available MCP Tools YaraFlux exposes 19 integrated MCP tools:
Rule Management Tools list_yara_rules : List available YARA rules with filtering optionsget_yara_rule : Get a specific YARA rule's content and metadatavalidate_yara_rule : Validate YARA rule syntax with detailed error reportingadd_yara_rule : Create a new YARA ruleupdate_yara_rule : Update an existing YARA ruledelete_yara_rule : Delete a YARA ruleimport_threatflux_rules : Import rules from ThreatFlux GitHub repositoryScanning Tools scan_url : Scan content from a URL with specified YARA rulesscan_data : Scan provided data (base64 encoded) with specified rulesget_scan_result : Retrieve detailed results from a previous scanFile Management Tools upload_file : Upload a file for analysis or scanningget_file_info : Get metadata about an uploaded filelist_files : List uploaded files with pagination and sortingdelete_file : Delete an uploaded fileextract_strings : Extract ASCII/Unicode strings from a fileget_hex_view : Get hexadecimal view of file contentdownload_file : Download an uploaded fileStorage Management Tools get_storage_info : Get storage usage statisticsclean_storage : Remove old files to free up storage spaceDocumentation Comprehensive documentation is available in the docs/ directory:
Architecture Diagrams - Visual representation of system architecture Code Analysis - Detailed code structure and recommendations Installation Guide - Detailed setup instructions CLI Usage Guide - Command-line interface documentation API Reference - REST API endpoints and usage YARA Rules Guide - Creating and managing YARA rules MCP Integration - Model Context Protocol integration details File Management - File handling capabilities Examples - Real-world usage examples Project Structure Note: Code block was split into 2 parts due to size limits.
Development Local Development CI/CD Workflows This project uses GitHub Actions for continuous integration and deployment:
CI Tests : Runs on every push and pull request to main and develop branchesVersion Auto-increment : Automatically increments version on pushes to main branchPublish Release : Triggered after successful version auto-incrementThese workflows ensure code quality and automate the release process.
Status Checks The following status checks run on pull requests:
Format Verification : Ensures code follows Black and isort formatting standardsLint Verification : Validates code quality and compliance with coding standardsTest Execution : Runs the full test suite to verify functionalityCoverage Report : Ensures sufficient test coverage of the codebaseAPI Documentation Interactive API documentation available at:
For detailed API documentation, see API Reference.
Contributing Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository Create your feature branch (git checkout -b feature/amazing-feature
) Commit your changes (git commit -m 'Add some amazing feature'
) Push to the branch (git push origin feature/amazing-feature
) Open a Pull Request License This project is licensed under the MIT License - see the LICENSE file for details.
Donate or Ask for Features