Provides REST API endpoints for vision capabilities including screen capture, OCR text extraction, VLM scene understanding, and watch mode for continuous monitoring.
Uses PaddleOCR engine for local, multilingual text extraction from screenshots with support for multiple languages.
Powers VLM scene understanding capabilities using MiniCPM-V 2.6 model for visual scene analysis, with optional GPU acceleration support.
Vision Service - MCP
Vision capabilities for ThinkDrop AI: screen capture, OCR, and VLM scene understanding.
Features
Screenshot Capture - Fast cross-platform screen capture
OCR - Text extraction using PaddleOCR (local, multilingual)
VLM - Scene understanding using MiniCPM-V 2.6 (lazy-loaded, optional)
Watch Mode - Continuous monitoring with change detection
Memory Integration - Auto-store to user-memory service as embeddings
Quick Start
Service will be available at http://localhost:3006
Installation Options
Minimal (OCR Only - No GPU Required)
Screenshot + OCR only
~200-500ms per capture
No VLM dependencies
Full (OCR + VLM - GPU Recommended)
Screenshot + OCR + VLM
600-1500ms with GPU, 2-6s with CPU
~2.4GB model download on first use
API Endpoints
Health Check
Capture Screenshot
Extract Text (OCR)
Describe Screen (VLM)
Start Watch Mode
Stop Watch Mode
Watch Status
Configuration
Key environment variables in .env:
Performance
OCR Only (Minimal Setup)
Capture: 10-20ms
OCR: 200-500ms
Total: ~300-600ms per request
Memory: ~500MB
OCR + VLM (Full Setup)
Capture: 10-20ms
OCR: 200-500ms
VLM (GPU): 300-800ms
VLM (CPU): 2-5s
Total (GPU): ~600-1500ms
Total (CPU): ~2.5-6s
Memory: ~3-4GB (model loaded)
Watch Mode Strategy
Watch mode uses smart change detection to minimize VLM calls:
Every interval: Capture + fingerprint comparison
On change: Run OCR (if enabled)
On significant change: Run VLM (if enabled)
Auto-store: Send to user-memory service as embedding
This keeps VLM usage efficient while maintaining continuous awareness.
Integration with ThinkDrop AI
The vision service integrates with the MCP state graph:
Testing
Test Capture
Test OCR
Test VLM (if enabled)
Test Watch
Troubleshooting
OCR Not Working
Check PaddleOCR installation:
pip list | grep paddleocrModels download on first use (~100MB)
Check logs for download progress
VLM Not Loading
Ensure dependencies installed:
pip list | grep transformersCheck available memory (need 4-8GB)
Set
VLM_ENABLED=falseto disableModel downloads on first use (~2.4GB)
Performance Issues
CPU too slow: Disable VLM, use OCR only
Memory issues: Reduce watch interval, disable VLM
GPU not detected: Check CUDA installation
Architecture
License
Part of ThinkDrop AI project.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Provides screen capture, OCR text extraction, and visual language model scene understanding capabilities with continuous monitoring and automatic memory storage integration.