Repository navigation
Releases: Timorleiderman/OpticMCP
Releases · Timorleiderman/OpticMCP
Release list
v0.6.0 - Image Analysis, Comparison & Detection
What's New in v0.6.0
Image Analysis Tools
- image_get_metadata - Extract image metadata including EXIF data, dimensions, format
- image_get_stats - Calculate brightness, contrast, and sharpness
- image_get_histogram - Generate color histograms with optional visualization
- image_get_dominant_colors - Extract dominant colors using K-means clustering
Image Comparison Tools
- image_compare_ssim - Compare images using Structural Similarity Index
- image_compare_mse - Compare images using Mean Squared Error
- image_compare_hash - Compare using perceptual hashing (phash, dhash, ahash)
- image_get_hash - Generate perceptual hash for a single image
- image_diff - Create visual diff highlighting differences between images
- image_compare_histograms - Compare images by color distribution
Detection Tools
- detect_faces - Detect faces using Haar cascades or DNN
- detect_faces_save - Detect faces and save annotated image with bounding boxes
- detect_motion - Detect motion between two frames
- detect_edges - Edge detection using Canny, Sobel, or Laplacian
- detect_objects - Object detection using MobileNet SSD (20 COCO classes)
Improvements
- Improved face detection accuracy with haarcascade_frontalface_alt2.xml
- Added overlap filtering to reduce false positives in face detection
- Comprehensive test coverage for all new modules
Full Changelog: v0.4.0...v0.6.0
v0.4.0 - Screen Capture, MJPEG, HTTP Images & QR/Barcode Decoding
What's New
New Features
Screen Capture
screen_list_monitors- List all available monitors/displaysscreen_save_image- Capture full screenshot of a monitorscreen_save_region- Capture a specific region of the screen
MJPEG Streams
mjpeg_save_image- Capture frames from MJPEG streams (IP cameras, ESP32-CAM, Arduino)mjpeg_check_stream- Validate MJPEG stream availability
HTTP Images
http_save_image- Download and save images from any URLhttp_check_image- Check if a URL points to a valid image
QR/Barcode Decoding (requires libzbar)
decode_qr- Decode QR codes from imagesdecode_barcode- Decode barcodes (EAN, UPC, Code128, etc.)decode_all- Decode all codes from an imagedecode_and_annotate- Decode and save annotated image with bounding boxes
Improvements
- Added input validation and sanitization across all modules
- Added security headers to streaming endpoints
- Credentials are now masked in error messages and logs
- Better error handling with descriptive messages
New Dependencies
requests- HTTP client for MJPEG and HTTP image toolsmss- Cross-platform screen capturePillow- Image processingpyzbar- QR/barcode decoding (requires libzbar system library)
Installation Note for QR/Barcode Features
The decode tools require the libzbar system library:
- macOS:
brew install zbar - Linux:
apt install libzbar0 - Windows: Download from https://zbar.sourceforge.net/
v0.3.0 - Multi-Camera Dashboard & Realtime Streaming
What's New
Realtime Camera Streaming
- MJPEG streaming with low-latency optimizations
- Reduced buffer size and grab/retrieve pattern for realtime performance
- Stream any USB camera to
http://localhost:{port}
Multi-Camera Dashboard
- Dynamic dashboard at
http://localhost:9000that auto-detects all active streams - Responsive grid layout - automatically arranges N cameras
- Control buttons - Stop individual cameras or stop all at once
- Auto-refreshes every 3 seconds to detect new/removed streams
New MCP Tools
start_stream(camera_index, port)- Start streaming a camerastop_stream(camera_index)- Stop a camera streamlist_streams()- List all active streamsstart_dashboard(port)- Start the multi-camera dashboardstop_dashboard()- Stop the dashboard
Other Changes
- Added
bump2versionfor version management - Removed
capture_imagefunctions (base64) - usesave_imageinstead - Consolidated and reduced test code by ~50%
Usage
# Install
pip install optic-mcp
# Or run directly
uvx optic-mcpFull Changelog: v0.2.0...v0.3.0
v0.2.0 - CI & Tests
What's New
CI/CD
- Added GitHub Actions CI workflow
- Automated testing on Python 3.10, 3.11, 3.12, and 3.13
- Linting with ruff (check and format)
- Package build verification with twine
Testing
- Added comprehensive unit test suite (15 tests)
- Module structure and import tests
list_cameras()functionality testscapture_image()functionality testssave_image()functionality tests- Camera release verification tests
Code Quality
- Fixed unused import
- Formatted code with ruff
- Added proper noqa comments for intentional E402 violations (cv2 import order)
Installation
```bash
pip install optic-mcp
or
uv pip install optic-mcp
```
v0.1.0 - Initial Release
OpticMCP v0.1.0 - Initial Release
First release of OpticMCP - MCP server for camera/vision tools.
Features
- list_cameras - Scan and list all available USB cameras
- capture_image - Capture a frame and return as base64-encoded JPEG
- save_image - Capture a frame and save directly to a file
Installation
pip install optic-mcpOr with uvx (no installation required):
uvx optic-mcpMCP Configuration
{
"mcpServers": {
"optic-mcp": {
"command": "uvx",
"args": ["optic-mcp"]
}
}
}Requirements
- Python 3.10+
- USB camera connected to your system