
Binary Reader MCP
Model Context Protocol server for reading and analyzing binary files, featuring auto-detection and metadata extraction for Unreal Engine .uasset files with extensible support for additional binary formats.
Supercharge Your AI with Binary Reader MCP
Unlock the full potential of Binary Reader MCP through LangDB's AI Gateway. Get enterprise-grade security, analytics, and seamless integration with zero configuration.
Free tier available • No credit card required
Binary Reader MCP
A Model Context Protocol server for reading and analyzing binary files. This server provides tools for reading and analyzing various binary file formats, with initial support for Unreal Engine asset files (.uasset).
Features
- Read and analyze Unreal Engine .uasset files
- Extract binary file metadata and structure
- Auto-detect file formats
- Extensible architecture for adding new binary format support
Installation
- Clone the repository:
git clone https://github.com/berlinbra/binary-reader-mcp.git cd binary-reader-mcp
- Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
Usage
The server provides several tools through the Model Context Protocol:
1. Read Unreal Asset Files
# Example usage through MCP tool: read-unreal-asset arguments: file_path: "path/to/your/asset.uasset"
2. Read Generic Binary Files
# Example usage through MCP tool: read-binary-metadata arguments: file_path: "path/to/your/file.bin" format: "auto" # or "unreal", "custom"
Development
Project Structure
binary-reader-mcp/
├── README.md
├── requirements.txt
├── main.py
├── src/
│ ├── __init__.py
│ ├── binary_reader/
│ │ ├── __init__.py
│ │ ├── base_reader.py
│ │ ├── unreal_reader.py
│ │ └── utils.py
│ ├── api/
│ │ ├── __init__.py
│ │ ├── routes.py
│ │ └── schemas.py
│ └── config.py
└── tests/
├── __init__.py
├── test_binary_reader.py
└── test_api.py
Adding New Binary Format Support
To add support for a new binary format:
- Create a new reader class that inherits from
BinaryReader
- Implement the required methods (
read_header
,read_metadata
) - Add the new format to the format auto-detection logic
- Update the tools list to include the new format
Contributing
- 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.
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!