ImHex MCP Integration
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ImHex MCP IntegrationSearch for shellcode patterns in the malware sample"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ImHex MCP Integration
π§ AI-Powered Binary Analysis with ImHex
Model Context Protocol server enabling AI assistants like Claude to analyze binary files programmatically
β‘ Quick Start β’ Features β’ Documentation β’ Testing β’ Performance
π‘ Overview
ImHex MCP provides a production-ready Python MCP server that connects AI assistants to ImHex, the powerful hex editor. This enables autonomous binary analysis, malware inspection, firmware analysis, and reverse engineering workflows.
What's Included
π MCP Server - 40+ tools for binary analysis (Python)
π¦ ImHex Patches - 10 patches adding network interface & queue-based file opening
β‘ Performance Optimizations - 18% faster with caching, compression, async operations
π§ͺ Comprehensive Testing - 255/255 tests passing (100% success rate)
π Production Features - Prometheus metrics, circuit breakers, rate limiting
π Complete Documentation - API docs, architecture diagrams, guides
π Features
Core Capabilities
File Operations
Queue-based async file opening (no manual GUI interaction!)
Multi-file management (list, switch, close)
Binary data read/write with multiple encodings
Analysis Tools
Pattern searching (hex, text, regex) with pagination
Multi-architecture disassembly (x86, ARM, MIPS, etc.)
Hash calculation (MD5, SHA-1, SHA-256, SHA-384, SHA-512)
String extraction (ASCII, UTF-16)
File type detection (30+ magic number signatures)
Entropy analysis for encryption detection
Binary diff with Myers algorithm
Batch Operations
Multi-file pattern search
Batch hashing
Comparative analysis across files
Advanced Features
Chunked reading for large files (100MB+)
Data export (binary, hex, base64)
Bookmark management
Pattern Language integration
Python Library Features
Performance (17 improvements, 100% complete)
18% faster overall (0.217s β 0.178s)
98.9% bandwidth reduction with zstd compression
28% faster cache operations with orjson + LRU caching
25% lock reduction with optimized critical sections
97% faster JSON serialization
Production Ready
Async/await support with connection pooling
Response caching with LRU eviction
Retry logic with exponential backoff
Circuit breaker pattern
Prometheus metrics export
Rate limiting & input validation
100% type hints with mypy compliance
π Quick Start
Prerequisites
macOS or Linux
Python 3.10+ (tested on 3.10, 3.11, 3.12, 3.14)
CMake 3.25+
Git
C++ compiler (GCC 11+ or Clang 14+)
One-Command Setup
git clone --recurse-submodules https://github.com/jmpnop/imhexMCP.git
cd imhexMCP
./setup-imhex-mcp.shThis script:
Clones ImHex repository
Applies all 10 patches automatically
Shows build instructions
Build ImHex
cd ImHex
mkdir -p build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . -j$(sysctl -n hw.ncpu) # macOS
# cmake --build . -j$(nproc) # LinuxSetup MCP Server
cd ../../mcp-server
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtStart ImHex & Enable Network Interface
Run ImHex:
./ImHex/build/imhexGo to Settings β General
Enable Network Interface
Restart ImHex
Network interface listens on localhost:31337
Configure Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"imhex": {
"command": "/ABSOLUTE/PATH/TO/imhexMCP/mcp-server/venv/bin/python",
"args": ["/ABSOLUTE/PATH/TO/imhexMCP/mcp-server/server.py"]
}
}
}Important: Use absolute paths, not relative!
Verify Setup
cd imhexMCP
./verify-setup.sh # Should show 15/15 passedTest with Claude
In Claude, ask:
Can you check if ImHex is working? Use the imhex_get_capabilities tool.π Key Endpoints
The ImHex MCP plugin provides 28 network endpoints. Here are the most important:
Endpoint | Description | Example Usage |
| Queue-based async file opening | Open firmware for analysis |
| Read hex data with encoding options | Extract file headers |
| Pattern search (hex/text/regex) | Find magic numbers |
| Calculate file hashes | Verify file integrity |
| Extract ASCII/UTF-16 strings | Find embedded URLs |
| File type detection | Identify unknown files |
| Multi-arch disassembly | Reverse engineer code |
| Multi-file pattern search | Malware analysis |
| Batch hash calculation | Forensic analysis |
| Shannon entropy analysis | Detect encryption |
Full reference: See ENDPOINTS.md for all 28 endpoints with detailed parameters.
π§ͺ Testing
Test Suite
255 tests, 100% passing β
# Run all tests
pytest
# Run with coverage
pytest --cov=lib --cov=mcp-server --cov-report=term-missing
# Run specific test types
pytest -m unit # Unit tests only
pytest -m integration # Integration tests (requires ImHex)
pytest -m compression # Compression testsTest Organization
Tests are organized with pytest markers:
@pytest.mark.unit- Fast unit tests (no dependencies)@pytest.mark.integration- Requires running ImHex@pytest.mark.slow- Tests taking >1 second@pytest.mark.compression- Compression module tests
Coverage
Current coverage by module:
error_handling.py: 94%advanced_features.py: 96%advanced_cache.py: 92%batching.py: 90%security.py: 82%
Target: 80%+ coverage for all modules
β‘ Performance
Overall Improvements
17/17 optimizations complete (100%)
Metric | Baseline | Optimized | Improvement |
Total runtime | 0.217s | 0.178s | 18% faster |
Function calls | 443,231 | 371,908 | 16% fewer |
Cache operations | 0.169s | ~0.127s | 28% faster |
JSON serialization | 0.072s | 0.002s | 97% faster |
Lock overhead | 24,044 calls | 18,024 | 25% reduction |
Key Optimizations
Round 1: orjson + LRU Caching + Fast Size Estimation
orjson for 2-3x faster JSON (24x per call in practice)
LRU-cached key generation with
@lru_cache(maxsize=1000)Direct length calculations for size estimation
Round 2: Compression + Async Lock Optimization
Compression buffer reuse with
zlib.compressobj()Adaptive compression levels (based on data size)
CacheEntry creation moved outside critical section
25% reduction in time.time() calls under lock
Compression Performance
98.9% bandwidth reduction with zstd
Net benefit: 227ms saved per 100 requests (@ 100 Mbps)
Overhead: <1ms compression time for most payloads
Cache speedup: 21,670x faster for metadata
Full details: See lib/PERFORMANCE_RESULTS.md and lib/OPTIMIZATION_RESULTS_ROUND2.md
π Project Structure
imhexMCP/
βββ lib/ # Core Python library (production-ready)
β βββ async_client.py # Main async client
β βββ cache.py # Response caching (LRU + orjson)
β βββ data_compression.py # Adaptive compression
β βββ connection_pool.py # Connection pooling
β βββ request_batching.py # Batch operations
β βββ error_handling.py # Retry logic & circuit breaker
β βββ security.py # Input validation & sanitization
β βββ metrics.py # Prometheus metrics
β βββ test_*.py # Test suite (255 tests)
β
βββ mcp-server/ # MCP server implementation
β βββ server.py # Main MCP server (2381 lines)
β βββ enhanced_client.py # Enhanced client wrapper
β βββ imhex_cli.py # CLI interface
β βββ benchmark_*.py # Performance benchmarks
β
βββ patches/ # Git patches for ImHex
β βββ PATCH_MANIFEST.md # Patch documentation
β βββ 0001-feat-*.patch # Queue-based file opening
β βββ 0007-0014-*.patch # Complete MCP plugin
β
βββ ImHex/ # ImHex submodule (1.38.0.WIP)
β βββ build/imhex # ImHex binary
β
βββ docs/ # Comprehensive documentation
β βββ LIBRARY-ARCHITECTURE.md # 15+ Mermaid diagrams
β βββ API.md # API reference
β βββ ...
β
βββ CLAUDE.md # AI assistant context
βββ README.md # This file
βββ setup-imhex-mcp.sh # Automated setup scriptποΈ Architecture
βββββββββββββββββββββββ
β User / AI β Analyze binaries via Claude
ββββββββββββ¬βββββββββββ
β MCP Protocol (stdio)
ββββββββββββΌβββββββββββ
β MCP Server β Python server (40+ tools)
β - Request handlingβ β’ Async operations
β - Caching β β’ Connection pooling
β - Compression β β’ Performance optimization
ββββββββββββ¬βββββββββββ
β JSON-RPC over TCP
ββββββββββββΌβββββββββββ
β ImHex β Hex editor with network interface
β Network Interface β β’ Listens on localhost:31337
ββββββββββββ¬βββββββββββ
β Plugin API
ββββββββββββΌβββββββββββ
β MCP Plugin β C++ plugin (patched)
β - File operations β β’ Queue-based file opening
β - Data analysis β β’ 28 network endpoints
β - Batch ops β β’ Enhanced error handling
ββββββββββββ¬βββββββββββ
β ImHex APIs
ββββββββββββΌβββββββββββ
β ImHex Core β
β - FileProvider β
β - Pattern Engine β
β - Crypto Library β
βββββββββββββββββββββββπ Improvements Summary
Status: 17/17 complete (100%) π
Critical Improvements
β Pytest Framework - Professional test suite (255 tests, 100% passing)
β CI/CD Pipeline - GitHub Actions (tests, security, lint, benchmarks)
β Type Hints - 100% mypy compliance
β Python 3.14 Compatibility - All tests passing
β Test Suite Fixes - From 86% to 100% pass rate
Performance & Optimization
β Performance Profiling - cProfile analysis, bottleneck identification
β Optimization Round 1 - orjson, LRU caching (18% faster)
β Optimization Round 2 - Compression, async locks (25% lock reduction)
Security & Quality
β Security Hardening - Rate limiting, input validation, SQL injection prevention
β Code Quality Tools - Black, flake8, mypy
β Centralized Config - Pydantic-based validation
Documentation
β Sphinx API Documentation - 100% module coverage (21 modules)
β Architecture Diagrams - 15+ Mermaid diagrams
β Property-Based Testing - Hypothesis integration
β Prometheus Metrics - Production monitoring
Full details: See IMPROVEMENTS-SUMMARY.md
π» Platform Support
Tested Platforms
β macOS ARM64 (Apple Silicon) - Native build
β macOS x86_64 (Intel) - Full support
Should Work (Untested)
β οΈ Linux x86_64 - Standard ImHex build process
β οΈ Windows - Via MSYS2/MinGW64
π€ Contributing
We welcome contributions!
Areas for Help
π Bug fixes and issue reports
π Documentation improvements
π§ͺ Testing on different platforms
β¨ New features and endpoints
Contribution Workflow
Fork this repository
Clone ImHex and apply patches
Make your changes
Run tests:
pytestGenerate new patches:
git format-patch origin/master..HEADSubmit PR with updated patches
π Documentation
Document | Description |
Complete project context for AI assistants | |
Patch documentation and application order | |
Architecture diagrams and design | |
Performance optimization results | |
Testing guide and best practices | |
Security guidelines | |
API reference |
π Related Projects
ImHex - Feature-rich hex editor by WerWolv
MCP Specification - Model Context Protocol by Anthropic
Claude - AI assistant with MCP support
π Support
Get Help
π Documentation: Start with CLAUDE.md
π Issues: GitHub Issues
π¬ Discussions: GitHub Discussions
Report Issues
Please include:
ImHex commit hash
Operating system and architecture
Python version
Error messages
Steps to reproduce
π License
GPL-2.0 - Same as ImHex
This project provides a Model Context Protocol server and patches for ImHex, following its licensing terms. See LICENSE for full text.
π Credits
Model Context Protocol by Anthropic - Protocol specification
The reverse engineering community for feedback and testing
β Star this repository if you find it useful!
Made with β€οΈ for the reverse engineering community
Report Bug Β· Request Feature Β· Documentation
Version 2.0.0 | Last Updated: 2025-11-15 | Status: β Production Ready
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jmpnop/imhexMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server