ScreenMonitorMCP
by ideook
README.md
# ๐ Revolutionary Screen Monitor MCP Server
[](https://github.com/yourusername/ScreenMonitorMCP/actions)
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://modelcontextprotocol.io/)
A **REVOLUTIONARY** Model Context Protocol (MCP) server! Gives AI **real-time vision capabilities**, **UI intelligence**, and **predictive behavior learning** power. This isn't just screen capture - it gives AI the power to truly "see" and understand your digital world!
## ๐ **WHY ScreenMonitorMCP?**
- ๐ฅ **First & Only**: Real-time continuous screen monitoring feature
- ๐ง **AI Intelligence**: AI that understands UI elements and can interact with them
- ๐ฎ **Predictive**: System that learns and predicts user behaviors
- โก **Proactive**: Assistant that offers help before you need it
- ๐ฏ **Natural**: AI that understands commands like "Click the save button"
## ๐ฅ **REVOLUTIONARY FEATURES**
### ๐ **Real-Time Continuous Monitoring**
- **AI's Eyes Never Close**: 2-5 FPS continuous screen monitoring
- **Smart Change Detection**: Distinguishes between small, major, and critical changes
- **Proactive Analysis**: AI automatically analyzes important changes
- **Adaptive Performance**: Smart frame rate adjustment
### ๐ฏ **UI Element Intelligence**
- **Computer Vision UI Detection**: Automatically recognizes buttons, forms, menus
- **OCR Text Extraction**: Reads text from anywhere on the screen
- **Smart Click System**: Natural language commands like "Click the save button"
- **Interaction Mapping**: AI knows exactly where and how to interact
### ๐ง **Predictive Intelligence**
- **Behavior Learning**: AI learns your usage patterns and habits
- **Intent Prediction**: Predicts what you'll do next based on context
- **Proactive Help**: Offers help before you ask
- **Workflow Optimization**: Suggests improvements in your work patterns
## ๐ ๏ธ **REVOLUTIONARY MCP TOOLS**
### ๐ **Real-Time Monitoring Tools**
- `start_continuous_monitoring()` - Starts AI's continuous vision capability
- `stop_continuous_monitoring()` - Stops continuous monitoring
- `get_monitoring_status()` - Real-time status information and statistics
- `get_recent_changes()` - Recently detected screen changes
### ๐ฏ **UI Intelligence Tools**
- `analyze_ui_elements()` - Recognizes and maps all UI elements on screen
- `smart_click()` - Smart clicking with natural language commands ("Click the save button")
- `extract_text_from_screen()` - OCR text extraction from screen
### ๐ง **Predictive AI Tools**
- `learn_user_patterns()` - Learns and analyzes user behavior patterns
- `predict_user_intent()` - Predicts user intent based on current context
- `proactive_assistance()` - Offers proactive help before user requests
- `record_user_action()` - Records user actions and feeds learning system
### ๐ธ **Traditional Tools**
- `capture_and_analyze()` - Screen capture and AI analysis (enhanced)
- `list_tools()` - **MCP standard compliant** lists all tools (categorized, detailed information)
## ๐ฏ **USAGE SCENARIOS**
### ๐ **Real-Time Monitoring**
```python
# Start AI's continuous vision capability
await start_continuous_monitoring(fps=3, change_threshold=0.1)
# Check monitoring status
status = await get_monitoring_status()
# View recent changes
changes = await get_recent_changes(limit=5)
```
### ๐ฏ **UI Intelligence**
```python
# Analyze all UI elements on screen
ui_analysis = await analyze_ui_elements()
# Smart clicking with natural language
await smart_click("Click the save button")
# Extract text from screen
text_data = await extract_text_from_screen()
```
### ๐ง **Predictive AI**
```python
# Learn user behavior patterns
patterns = await learn_user_patterns()
# Predict user intent
intent = await predict_user_intent()
# Get proactive assistance
assistance = await proactive_assistance()
```
## ๐ **INSTALLATION**
### **1. Prepare Project Files**
```bash
# Navigate to project directory
cd ScreenMonitorMCP
# Install required libraries
pip install -r requirements.txt
```
### **2. Configure Environment Variables**
Edit the `.env` file:
```env
# Server Configuration
HOST=127.0.0.1
PORT=7777
API_KEY=your_secret_key
# AI Configuration
OPENAI_API_KEY=your_openai_api_key
OPENAI_BASE_URL=https://api.openai.com/v1
DEFAULT_OPENAI_MODEL=gpt-4o
```
### **3. Standalone Testing (Optional)**
```bash
# Test the server
python main.py
# Test revolutionary features
python test_revolutionary_features.py
```
## ๐ง **MCP CLIENT SETUP**
### **Claude Desktop / MCP Client Configuration**
Add the following JSON to your MCP client's configuration file:
#### **๐ฏ Simple Configuration (Recommended)**
```json
{
"mcpServers": {
"screenMonitorMCP": {
"command": "python",
"args": ["/path/to/ScreenMonitorMCP/main.py"],
"cwd": "/path/to/ScreenMonitorMCP"
}
}
}
```
#### **๐ง Advanced Configuration**
```json
{
"mcpServers": {
"screenMonitorMCP": {
"command": "python",
"args": [
"/path/to/ScreenMonitorMCP/main.py"
],
"cwd": "/path/to/ScreenMonitorMCP",
"env": {
"OPENAI_API_KEY": "your-api-key-here"
}
}
}
}
```
#### **๐ก๏ธ Secure Configuration**
```json
{
"mcpServers": {
"screenMonitorMCP": {
"command": "python",
"args": [
"/path/to/ScreenMonitorMCP/main.py",
"--api-key", "your-secret-key"
],
"cwd": "/path/to/ScreenMonitorMCP"
}
}
}
```
#### **๐ช Windows Example**
```json
{
"mcpServers": {
"screenMonitorMCP": {
"command": "python",
"args": ["C:/path/to/ScreenMonitorMCP/main.py"],
"cwd": "C:/path/to/ScreenMonitorMCP"
}
}
}
```
### **โ ๏ธ Important Notes**
1. **File Path**: Update `/path/to/ScreenMonitorMCP/main.py` path according to your project directory
2. **Python Path**: Make sure Python is in PATH or use full path: `"C:/Python311/python.exe"`
3. **Working Directory**: `cwd` parameter is important for proper `.env` file reading
4. **API Keys**: All settings are automatically read from `.env` file
## ๐งช **USAGE EXAMPLES**
### **๐ Starting Real-Time Monitoring**
```python
# Start AI's continuous vision capability
result = await start_continuous_monitoring(
fps=3,
change_threshold=0.1,
smart_detection=True
)
# Check monitoring status
status = await get_monitoring_status()
# View recent changes
changes = await get_recent_changes(limit=10)
# Stop monitoring
await stop_continuous_monitoring()
```
### **๐ฏ Using UI Intelligence**
```python
# Analyze all UI elements on screen
ui_elements = await analyze_ui_elements(
detect_buttons=True,
extract_text=True,
confidence_threshold=0.7
)
# Smart clicking with natural language
await smart_click("Click the save button", dry_run=False)
# Extract text from specific region
text_data = await extract_text_from_screen(
region={"x": 100, "y": 100, "width": 500, "height": 300}
)
```
### **๐ง Predictive Intelligence**
```python
# Learn user behavior patterns
patterns = await learn_user_patterns()
# Predict user intent
intent = await predict_user_intent(
current_context={"current_app": "VSCode"}
)
# Get proactive assistance
assistance = await proactive_assistance()
# Record user action
await record_user_action(
action_type="click",
target="save_button",
app_context="VSCode"
)
```
### **๐ธ Traditional Screen Capture**
```python
# Enhanced screen capture and analysis
result = await capture_and_analyze(
capture_mode="all",
analysis_prompt="What do you see on this screen?",
max_tokens=500
)
# List all tools
tools = await list_tools()
```
## ๐ **REVOLUTIONARY CAPABILITIES**
This MCP server gives AI the following capabilities:
- ๐๏ธ **Continuous Vision**: AI can monitor the screen non-stop
- ๐ง **Smart Understanding**: Recognizes UI elements and interacts with them
- ๐ฎ **Future Prediction**: Learns and predicts user behaviors
- โก **Proactive Help**: Offers help before you need it
- ๐ฏ **Natural Interaction**: Understands commands like "Click the save button"
## ๐ง **TROUBLESHOOTING**
### **Common Issues and Solutions**
1. **Unicode/Encoding Error (Windows)**
```
UnicodeEncodeError: 'charmap' codec can't encode character
```
**Solution:** โ
This error is fixed! Server automatically uses UTF-8 encoding.
2. **JSON Configuration Error**
```json
// โ Wrong
{
"command": "python",
"args": ["path/to/main.py",] // Trailing comma is wrong
}
// โ
Correct
{
"command": "python",
"args": ["path/to/main.py"]
}
```
3. **Python Path Issue**
```json
{
"command": "C:/Python311/python.exe", // Use full path
"args": ["C:/path/to/ScreenMonitorMCP/main.py"]
}
```
4. **Missing Dependencies**
```bash
cd ScreenMonitorMCP
pip install -r requirements.txt
```
5. **OCR Issues**
```bash
# Install Tesseract (optional)
# EasyOCR installs automatically
```
6. **MCP Connection Closed Error**
```
MCP error -32000: Connection closed
```
**Solution:** Check file paths and add `cwd` parameter.
## ๐ **LICENSE**
This project is licensed under the MIT License.
---
**๐ Revolutionary MCP server that gives AI real "eyes"!**
**๐ฅ Next-generation AI-human interaction starts here!**
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues