Retgex/EditX
If you are the rightful owner of EditX and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
EditX is an MCP server designed for capturing and editing screenshots with various annotation and effect tools, inspired by ShareX functionality for Linux.
EditX - Screenshot & Image Editor MCP Server
MCP server for taking screenshots and editing images with annotations, shapes, and effects. Inspired by ShareX functionality for Linux.
Features
📸 Screenshot Capture
- Fullscreen: Capture entire screen
- Area Selection: Interactive region selection (GUI)
- Region: Capture specific coordinates programmatically
✏️ Drawing Tools
- Arrows: Point to specific areas
- Rectangles: Highlight regions
- Step Numbers: Numbered circles for tutorials (1, 2, 3...)
- Text: Add text annotations
🎨 Effects
- Blur: Gaussian blur for privacy
- Pixelate: Stronger privacy effect (faces, sensitive data)
- Crop: Cut image to specific region
💾 Image Management
- Load existing images
- Save in PNG/JPEG
- Undo operations
- Reset to original
- Image info and history
Installation
cd /path/to/EditX
pip install -r requirements.txt
System Dependencies (Linux)
For interactive area selection, install one of:
# Ubuntu/Debian
sudo apt install gnome-screenshot
# OR
sudo apt install scrot
Configuration
Add to ~/.claude.json:
{
"mcpServers": {
"editx": {
"type": "stdio",
"command": "python",
"args": [
"/absolute/path/to/EditX/src/server.py"
]
}
}
}
Replace /absolute/path/to/EditX with the actual path where you cloned this repository.
Usage Examples
Basic Workflow
1. Take screenshot
→ take_screenshot(mode="fullscreen")
2. Add annotations
→ add_arrow(start_x=100, start_y=100, end_x=200, end_y=150)
→ add_rectangle(x=150, y=150, width=300, height=200)
→ add_step_number(x=250, y=250, number=1)
3. Add privacy blur
→ blur_region(x=400, y=100, width=200, height=50)
4. Save result
→ save_image(output_path="/path/to/annotated.png")
Tutorial Screenshot with Steps
take_screenshot(mode="area")
add_step_number(x=100, y=100, number=1, bg_color="red")
add_step_number(x=100, y=200, number=2, bg_color="blue")
add_step_number(x=100, y=300, number=3, bg_color="green")
add_arrow(start_x=150, start_y=100, end_x=300, end_y=100)
save_image(output_path="tutorial.png")
Privacy Screenshot
take_screenshot(mode="fullscreen")
blur_region(x=100, y=100, width=300, height=200, blur_amount=20)
pixelate_region(x=500, y=500, width=200, height=200, pixel_size=15)
save_image(output_path="private.png")
Edit Existing Image
load_image(image_path="/path/to/existing.png")
add_rectangle(x=50, y=50, width=400, height=300, color="red", border_width=5)
add_text(x=60, y=60, text="Important!", color="red", size=24, bg_color="white")
save_image(output_path="/path/to/annotated.png")
Available Tools
Screenshot Tools
take_screenshot: Capture screenmode: "fullscreen" | "area" | "region"output_path: (optional) where to savex, y, width, height: (for "region" mode)
Editing Tools
-
load_image: Load existing image fileimage_path: path to image
-
add_arrow: Draw arrowstart_x, start_y: arrow startend_x, end_y: arrowhead positioncolor: arrow colorwidth: line width
-
add_rectangle: Draw rectanglex, y: top-left cornerwidth, height: dimensionscolor: border colorborder_width: border thicknessfill: (optional) fill color
-
add_step_number: Add numbered circlex, y: center positionnumber: step number (1, 2, 3...)size: circle diameterbg_color: circle colortext_color: number color
-
add_text: Add text annotationx, y: text positiontext: text contentcolor: text colorsize: font sizebg_color: (optional) background
Effects
-
blur_region: Blur specific areax, y, width, height: regionblur_amount: intensity (5-50)
-
pixelate_region: Pixelate area (privacy)x, y, width, height: regionpixel_size: block size (5-30)
-
crop_image: Crop to regionx, y, width, height: crop area
Management
-
save_image: Save edited imageoutput_path: where to saveformat: "PNG" | "JPEG"
-
get_image_info: Get image details -
undo: Undo last operation -
reset_image: Reset to original
Technical Details
Architecture
EditX/
├── src/
│ ├── server.py # MCP server (main entry)
│ ├── screenshot.py # Screenshot capture (mss)
│ ├── editor.py # Image editor manager
│ ├── shapes.py # Drawing shapes (Pillow)
│ └── effects.py # Image effects (Pillow + OpenCV)
├── requirements.txt
└── README.md
Technology Stack
- MCP Framework: Server implementation
- python-mss: Fast cross-platform screenshots
- Pillow (PIL): Image manipulation and drawing
- OpenCV: Advanced effects (blur, pixelate)
- NumPy: Array operations
Workflow
- Screenshot is captured and auto-loaded into editor
- All edits are applied to the loaded image
- Editor maintains history (up to 10 states)
- Undo/reset available at any time
- Save to desired format
Colors Available
red,blue,green,yellow,black,white,orange
Tips
- Step numbers: Use different colors for different workflows
- Blur vs Pixelate: Blur for slight privacy, pixelate for strong privacy
- Arrow direction: Arrow points to
endcoordinates - History: Max 10 undo states kept in memory
- Formats: Use PNG for transparency, JPEG for smaller files
License
MIT License - see file for details.