AI Image MCP Server
About
AI-powered image analysis using OpenAI's Vision API.
Details
- Author
- kareemaly
- Categories
- Cloud Service, AI, Other
Jump to
Setup
Install AI Image MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/kareemaly/ai-image-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
AI-powered image analysis using OpenAI's Vision API.
A comprehensive Model Context Protocol (MCP) server that provides bothAI-powered image analysisandAI image generationcapabilities using OpenAI's Vision API and image generation models.
- macOS 14.3.0 (Darwin 23.3.0, ARM64)
- Python 3.13.0
- uv 0.7.13
- OpenAI API access
- Smart Image Analysis: Analyze images using OpenAI's GPT-4O Vision model
- Targeted Analysis: Analyze specific aspects (objects, text, colors, composition, emotions)
- Image Comparisons: Compare two images and highlight similarities/differences
- Metadata Extraction: Get technical information about image files
- Intelligent Caching: Cache analysis results to avoid repeated API calls
- Multiple Formats: Support for PNG, JPEG, GIF, and WebP formats
- Text-to-Image Generation: Create images from text prompts using DALL-E 2, DALL-E 3, or GPT-Image-1
- Image Editing: Edit existing images with text prompts using GPT-Image-1 or DALL-E 2
- Image Variations: Create variations of existing images using DALL-E 2
- Flexible Output: Save generated images locally with custom naming and directories
- Model Support: Full support for all OpenAI image generation models with their specific features
- describe_image(image_path, prompt)- Get detailed image descriptions
- analyze_image_content(image_path, analysis_type)- Analyze specific aspects
- compare_images(image1_path, image2_path, comparison_focus)- Compare two images
- get_image_metadata(image_path)- Extract technical metadata
- get_cache_info()- View cache statistics
- clear_image_cache()- Clear cached results
curl -LsSf https://astral.sh/uv/install.sh | sh uv add mcp[cli] openai pillow requests
export OPENAI_API_KEY="your-api-key-here"
{ "mcpServers": { "ai-image-mcp": { "command": "uv", "args": [ "--directory", "/absolute/path/to/ai-image-mcp", "run", "main.py" ], "env": { "OPENAI_API_KEY": "your-api-key-here" } } } }
{ "servers": { "ai-image-mcp": { "command": "uv", "args": ["run", "main.py"], "cwd": "/absolute/path/to/ai-image-mcp", "env": { "OPENAI_API_KEY": "your-api-key-here" } } } }
- general: Overall image description
- objects: Object detection and identification
- text: Text extraction and OCR
- colors: Color analysis and palette
- composition: Visual composition and layout
- emotions: Emotional content and mood
ai-image-mcp/ ├── test_data/ # Sample images (gitignored) ├── tools/ # MCP tool definitions ├── utils/ # Utilities (caching, OpenAI client) ├── main.py # Server entry point └── server.py # MCP server instance
- Automatic file change detection via SHA-256 hashes
- 30-day cache expiration
- Separate cache entries for different prompts/analysis types
- Significant performance improvements (1000x+ faster than API calls)
Analyze an image and provide a detailed description.
- Parameters:
- image_path(str): Path to the image file
- prompt(str, optional): Custom analysis prompt
Perform targeted analysis of specific image aspects.
- Parameters:
- image_path(str): Path to the image file
- analysis_type(str): Type of analysis - "general", "objects", "text", "colors", "composition", "emotions"
Compare two images and highlight similarities and differences.
- Parameters:
- image1_path(str): Path to first image
- image2_path(str): Path to second image
- comparison_focus(str): What to focus on in comparison
Get technical metadata about an image file.
- Returns: File size, dimensions, format, color mode, aspect ratio, etc.
Generate images from text prompts using OpenAI's image generation models.
- Parameters:
- prompt(str): Text description of desired image
- model(str): "dall-e-2", "dall-e-3", or "gpt-image-1" (default: dall-e-3)
- size(str, optional): Image dimensions (varies by model)
- quality(str, optional): Quality setting (varies by model)
- style(str, optional): "vivid" or "natural" (DALL-E 3 only)
- n(int, optional): Number of images (1-10, DALL-E 3 only supports 1)
- output_dir(str): Directory to save images (default: "./generated_images")
- filename_prefix(str): Prefix for filenames (default: "generated")
- DALL-E 2: Basic generation, sizes: 256x256, 512x512, 1024x1024
- DALL-E 3: High quality, styles (vivid/natural), sizes: 1024x1024, 1792x1024, 1024x1792
- GPT-Image-1: Advanced features, transparency support, compression control
Edit existing images using text prompts.
- Parameters:
- image_path(str): Path to image to edit
- prompt(str): Description of desired edit
- mask_path(str, optional): Path to mask image (PNG with transparent edit areas)
- model(str): "gpt-image-1" or "dall-e-2" (default: gpt-image-1)
- size,quality,n: Model-specific options
- output_dir,filename_prefix: Output configuration
Supported Models: GPT-Image-1 (up to 16 images, 50MB each) and DALL-E 2 (1 square PNG, 4MB max)
Create variations of existing images using DALL-E 2.
- Parameters:
- image_path(str): Path to source image (must be square PNG, <4MB)
- n(int): Number of variations (1-10, default: 2)
- size(str): Variation size - "256x256", "512x512", "1024x1024"
- output_dir,filename_prefix: Output configuration
List all generated images in a directory with metadata.
- Parameters:
- directory(str): Directory to scan (default: "./generated_images")
Get information about the analysis cache (file count, size, location).
# Generate an image with DALL-E 3 generate_image( prompt="A serene mountain landscape at sunset with a crystal clear lake", model="dall-e-3", size="1792x1024", quality="hd", style="natural" )
# Add elements to an image edit_image( image_path="./photos/room.png", prompt="Add a beautiful bookshelf filled with colorful books to the left wall", model="gpt-image-1", quality="high" )
# Create variations of a logo create_image_variations( image_path="./logos/logo.png", n=5, size="1024x1024" )
# Analyze a generated image describe_image( image_path="./generated_images/generated_1234567890_1.png", prompt="Describe the artistic style and composition of this generated image" )
Generated images are automatically organized in separate directories:
- ./generated_images/- Text-to-image generations
- ./edited_images/- Image edits
- ./image_variations/- Image variations
Files are named with timestamps to avoid conflicts:
- generated_1234567890_1.png
- edited_1234567890_1.png
- variation_1234567890_1.png
The server includes comprehensive error handling for:
- Invalid image formats and file paths
- Model-specific parameter validation
- File size and dimension limits
- API quota and rate limiting
- Network connectivity issues
- Malformed prompts and parameters
The analysis tools use an intelligent caching system:
- File Change Detection: Uses SHA-256 hashes to detect file changes
- 30-Day Expiration: Automatically expires old cache entries
- Safe Operation: Cache failures don't affect main functionality
- Efficient Storage: Uses MD5 hashes for safe cache key generation
- Python 3.13+
- OpenAI API key with access to Vision API and Image Generation
- Required packages:mcp[cli]>=1.9.4,openai>=1.90.0,pillow>=11.2.1,requests>=2.32.4
This project is licensed under the MIT License - see the LICENSE file for details.
Turn any language model into a multimodal powerhouse that can generate images, music, videos and more on the fly. Rostro's tools are designed to be used by language models from the ground up, expanding capabilities with minimal context bloat.
MCP-native AI media generation with x402 pay-per-call. Image, video, audio, and music from 6 providers — composable via resource IDs. USDC on Base.
An MCP server for generating videos using Amazon Nova Reel 1.1 via AWS Bedrock.
Atlas Cloud MCP Server (Image / Video / LLM APIs)
A powerful MCP server for AI image, video, and LLM APIs. Integrate models like Seedance and Nano Banana into your workflow with a simple, unified interface powered by Atlas Cloud.
AI audio tools for music producers — stem splitting, vocal removal, BPM/key detection, audio-to-MIDI, format conversion and AI song generation
Generate images using OpenAI's DALL-E API.
Analyzes image and video content from URLs or local files using the Gemini 2.0 Flash model.
Interact with and manage your Ghost CMS blog, including posts, users, and members, through an LLM interface.
An MCP server that integrates with the Jimeng AI image generation service.
Generate images using Replicate's Flux 1.1 Pro model.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





