Image Processor

by ia-programming

13 stars
450 downloads
Not rated
GitHub

About

Enables image retrieval, processing, and display from both URLs and local files with automatic compression and formatting for visual content integration.

Details

Author
ia-programming
Repository
IA-Programming/mcp-images
GitHub stars
13
Downloads
450
License
MIT License
Categories
Developer Tools, Media, File Management, AI, Design, Infrastructure, Frontend

- Fetch images from URLs (http/https)
- Load images from local file paths
- Specialized handling for large local images
- Automatic image compression for large images (>1MB)
- Parallel processing of multiple images
- Proper MIME type mapping for different file extensions
- Comprehensive error handling and logging

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Image Processor
    Command (node, npx, python, etc.) uv
    Arguments
    • Argument 1 --directory
    • Argument 2 /path/to/mcp-image
    • Argument 3 run
    • Argument 4 mcp_image.py

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

1. Clone this repository
2. Create and activate a virtual environment using uv:
```bash
uv venv

There are two ways to run the MCP server:

fetch_images

Fetch and process images from URLs or local file paths. Parameters: image_sources (List of URLs or file paths to images). Returns: List of processed images with base64 encoding and MIME types.

The server provides the following tools:

fetch_images: Fetch and process images from URLs or local file paths

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "image processor": {
            "env": {},
            "args": [
                "--directory",
                "/path/to/mcp-image",
                "run",
                "mcp_image.py"
            ],
            "shell": false,
            "command": "uv"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "--directory",
        "/path/to/mcp-image",
        "run",
        "mcp_image.py"
    ],
    "shell": false,
    "command": "uv"
}

Macos

{
    "env": [],
    "args": [
        "--directory",
        "/path/to/mcp-image",
        "run",
        "mcp_image.py"
    ],
    "shell": false,
    "command": "uv"
}

Windows

{
    "env": [],
    "args": [
        "--directory",
        "/path/to/mcp-image",
        "run",
        "mcp_image.py"
    ],
    "shell": false,
    "command": "uv"
}

A Model Context Protocol (MCP) server that provides tools for fetching and processing images from URLs, local file paths, and numpy arrays. The server includes a tool called fetch_images that returns images as base64-encoded strings along with their MIME types.

If you find this project helpful and would like to support future projects, consider buying us a coffee! Your support helps us continue building innovative AI solutions.

Your contributions go a long way in fueling our passion for creating intelligent and user-friendly applications.

- Features
-
Prerequisites
-
Installation
-
Running the Server

- Direct Method
-
Configure for Windsurf/Cursor

- Fetch images from URLs (http/https)
- Load images from local file paths
- Specialized handling for large local images
- Automatic image compression for large images (>1MB)
- Parallel processing of multiple images
- Proper MIME type mapping for different file extensions
- Comprehensive error handling and logging

- Python 3.10+
- uv package manager (recommended)
- Clone this repository
- Create and activate a virtual environment using uv:

uv venv # On Windows: .venv\Scripts\activate # On Unix/MacOS: source .venv/bin/activate

There are two ways to run the MCP server:
- Edit the configuration file at ~/.codeium/windsurf/mcp_config.json
- Add the following configuration:

{ "mcpServers": { "image": { "command": "uv", "args": ["--directory", "/path/to/mcp-image", "run", "mcp_image.py"] } } }

- Open Cursor and go toSettings(Navbar → Cursor Settings)
- Navigate toFeaturesMCP Servers
- Click on + Add New MCP Server
- Enter the following configuration:

{ "mcpServers": { "image": { "command": "uv", "args": ["--directory", "/path/to/mcp-image", "run", "mcp_image.py"] } } }

The server provides the following tools:

fetch_images: Fetch and process images from URLs or local file paths Parameters: image_sources: List of URLs or file paths to images Returns: List of processed images with base64 encoding and MIME types

- "Fetch these images: [list of URLs or file paths]"
- "Load and process this local image: [file_path]"

# URL-only test [ "https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Chocolate_%28blue_background%29.jpg/400px-Chocolate_%28blue_background%29.jpg", "https://imgs.search.brave.com/Sz7BdlhBoOmU4wZjnUkvgestdwmzOzrfc3GsiMr27Ik/rs:fit:860:0:0:0/g:ce/aHR0cHM6Ly9pbWdj/ZG4uc3RhYmxlZGlm/ZnVzaW9ud2ViLmNv/bS8yMDI0LzEwLzE4/LzJmOTY3NTViLTM0/YmQtNDczNi1iNDRh/LWJlMTVmNGM5MDBm/My5qcGc", "https://shigacare.fukushi.shiga.jp/mumeixxx/img/main.png" ] # Mixed URL and local file test [ "https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Chocolate_%28blue_background%29.jpg/400px-Chocolate_%28blue_background%29.jpg", "C:\\Users\\username\\Pictures\\image1.jpg", "https://imgs.search.brave.com/Sz7BdlhBoOmU4wZjnUkvgestdwmzOzrfc3GsiMr27Ik/rs:fit:860:0:0:0/g:ce/aHR0cHM6Ly9pbWdj/ZG4uc3RhYmxlZGlm/ZnVzaW9ud2ViLmNv/bS8yMDI0LzEwLzE4/LzJmOTY3NTViLTM0/YmQtNDczNi1iNDRh/LWJlMTVmNGM5MDBm/My5qcGc", "C:\\Users\\username\\Pictures\\image2.jpg" ]

- Check that all dependencies are installed correctly
- Verify that the server is running and listening for connections
- For local image loading issues, ensure the file paths are correct and accessible
- For "Unsupported image type" errors, verify the content type handling
- Look for any error messages in the server output

Contributions are welcome! Please feel free to submit a Pull Request.

This project is licensed under the MIT License - see theLICENSEfile for details.

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Deterministic music-theory engine for AI agents to analyze, resolve, voice, and reharm chords.

An MCP server that allows AI assistants to interact with Adobe After Effects.

Provides utility functions for common tasks like text processing, encoding, decoding, hashing, and system information.

Cross-platform MCP server for system clipboard access. Three tools: get_clipboard, set_clipboard, watch_clipboard. Single Rust binary, zero runtime deps.

A minimal file bundling and tagging tool for AI development, featuring a web interface and MCP server mode for AI integration.

Enables AI assistants to write, edit, and manage code files directly in a specified directory, respecting .gitignore patterns.

Generates QR codes with metadata, batch processing, and file management tools.

Integrates with the unofficial Google Gemini CLI, allowing file access within configured directories.

300+ tools that connect AI assistants directly to the Godot editor. Build scenes, write scripts, test gameplay — all through natural language.

Retrieve image dimensions and compress images from URLs or local files using Tinify and Figma APIs.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.