EditX

Retgex/EditX

3.2

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.

Tools
5
Resources
0
Prompts
0

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 screen
    • mode: "fullscreen" | "area" | "region"
    • output_path: (optional) where to save
    • x, y, width, height: (for "region" mode)

Editing Tools

  • load_image: Load existing image file

    • image_path: path to image
  • add_arrow: Draw arrow

    • start_x, start_y: arrow start
    • end_x, end_y: arrowhead position
    • color: arrow color
    • width: line width
  • add_rectangle: Draw rectangle

    • x, y: top-left corner
    • width, height: dimensions
    • color: border color
    • border_width: border thickness
    • fill: (optional) fill color
  • add_step_number: Add numbered circle

    • x, y: center position
    • number: step number (1, 2, 3...)
    • size: circle diameter
    • bg_color: circle color
    • text_color: number color
  • add_text: Add text annotation

    • x, y: text position
    • text: text content
    • color: text color
    • size: font size
    • bg_color: (optional) background

Effects

  • blur_region: Blur specific area

    • x, y, width, height: region
    • blur_amount: intensity (5-50)
  • pixelate_region: Pixelate area (privacy)

    • x, y, width, height: region
    • pixel_size: block size (5-30)
  • crop_image: Crop to region

    • x, y, width, height: crop area

Management

  • save_image: Save edited image

    • output_path: where to save
    • format: "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

  1. Screenshot is captured and auto-loaded into editor
  2. All edits are applied to the loaded image
  3. Editor maintains history (up to 10 states)
  4. Undo/reset available at any time
  5. 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 end coordinates
  • History: Max 10 undo states kept in memory
  • Formats: Use PNG for transparency, JPEG for smaller files

License

MIT License - see file for details.