Provides AI image generation capabilities using OpenAI's DALL-E model to create custom images from text descriptions.
Enables searching and downloading stock images from Pexels' image library for use in image processing workflows.
Enables searching and downloading stock images from Pixabay's image library for use in image processing workflows.
Powers high-performance image processing operations including resizing, cropping, format conversion, optimization, filtering, rotation, and watermarking.
@tscodex/mcp-images
MCP (Model Context Protocol) server for comprehensive image processing, stock image search, and AI image generation. Built with TypeScript and Sharp for high-performance image manipulation.
Built on - This project uses the official TSCodex MCP SDK for server infrastructure, authentication, configuration management, and protocol handling.
๐ Quick Links
๐ฆ MCP Manager | ๐ MCP Bridge
Desktop application for managing MCP servers | VS Code/Cursor extension bridge
๐ฏ What is This?
This is an MCP server built on the @tscodex/mcp-sdk that provides powerful image processing capabilities. It can work in two ways:
Standalone Mode: Run directly via
npxornpm, passing environment variables and configurationManaged Mode: Use with MCP Manager for workspace isolation, visual configuration, and seamless integration with Cursor
Architecture Overview
How It Works
The Problem: Real projects require each Cursor workspace to work with its own workspace context. For example, this image server needs the root path of the current project to create and work with images. But you can't run a separate server instance for each project.
The Solution: MCP Manager allows you to:
Run one server instance (e.g.,
@tscodex/mcp-images)Create multiple workspace proxies that forward requests with workspace context
The SDK receives headers from the current workspace and allows one server to work with different workspaces
The Bridge: MCP Manager Bridge automatically:
Registers the workspace in MCP Manager by project path
Syncs Cursor with the manager
Registers proxy MCP servers in local
mcp.jsonProvides perfect encapsulation and connection between workspaces
๐จ Features
๐ผ๏ธ Image Processing: Resize, crop, optimize, convert formats, apply filters, rotate, watermark
๐ Stock Image Search: Search and download images from Pexels and Pixabay
๐ค AI Image Generation: Generate images using OpenAI DALL-E
๐จ Color Extraction: Extract dominant colors and generate color palettes
๐ฆ Multiple Formats: Support for WebP, JPEG, PNG, AVIF
โก High Performance: Powered by Sharp for fast image processing
๐ฆ Installation
Option 1: Standalone (via npx)
Option 2: Global Installation
Option 3: Managed Mode (Recommended)
Use with MCP Manager for the best experience:
Install MCP Manager: Download from GitHub Releases
Install Bridge Extension: MCP Manager Bridge from VS Code Marketplace
Add Server: In MCP Manager, add
@tscodex/mcp-imagesas a new serverConfigure: Use the visual UI to configure the server (JSON Schema-based)
Enable: Enable the server for your workspace in Cursor
Benefits of Managed Mode:
โ Visual Configuration: No need to edit JSON files manually
โ Workspace Isolation: Each project gets its own workspace proxy
โ Secure Secrets: 3-level secret override (Global โ Workspace โ Server)
โ Permissions Control: Granular control over what each server can access
โ AI Agent Integration: Use AI agents without exposing API keys to servers
โ Token Statistics: Track AI usage transparently
โ Auto-sync: Bridge automatically syncs with Cursor
๐ Quick Start
Standalone Mode
Managed Mode
Start MCP Manager desktop application
Open Cursor with your project
Bridge Extension automatically:
Registers your workspace
Connects to MCP Manager
Syncs enabled servers to Cursor's
mcp.json
Enable Server: Click the play icon on
@tscodex/mcp-imagesin the Bridge panelConfigure: Use MCP Manager UI to configure the server (if needed)
โ๏ธ Configuration
Configuration File
Create .mcp-images.json in your project root:
Configuration Options:
root(string, optional): Project root directoryUse
"."to useMCP_PROJECT_ROOTenvironment variable (managed mode)Use absolute path for standalone mode
defaultProvider("pexels"|"pixabay"|"openai"|"auto", default:"auto"): Default image providerdefaultFormat("webp"|"jpeg"|"png"|"avif", default:"webp"): Default image formatdefaultMaxWidth(number, default:1920): Default maximum width (1-10000)defaultQuality(number, default:80): Default quality (1-100)saveMetadata(boolean, default:true): Save JSON metadata alongside imagesembedExif(boolean, default:false): Embed metadata in EXIF data
Secrets Management
โ ๏ธ Security Note: API keys are stored as secrets (environment variables with SECRET_ prefix) instead of in configuration files.
In Standalone Mode:
In Managed Mode: MCP Manager provides a 3-level secret override system:
Global: Secrets available to all servers
Workspace: Secrets specific to a workspace
Server: Secrets specific to a server instance
This allows fine-grained control over what secrets each server can access.
Get API Keys:
Pexels: https://www.pexels.com/api/
Pixabay: https://pixabay.com/api/docs/
OpenAI: https://platform.openai.com/api-keys
๐ Security & Permissions
Security Features
MCP Manager provides enterprise-grade security:
OS Keychain Storage: Secrets are stored in the operating system's secure keychain (Windows Credential Manager, macOS Keychain, Linux Secret Service)
No Key Exposure: API keys are never passed directly to MCP servers. Servers that need AI access use the AI Agent proxy mechanism
Process Isolation: Each server runs in its own process with isolated environment
Permission System: Granular control over what each server can access
Permissions System
MCP Manager's permission system allows you to configure:
Environment Variables: Which environment variables are available to the server
Secrets Access: Which secrets the server can access
AI Agent Access: Whether the server can use the AI Agent proxy
File System Access: Workspace root access (always scoped to project)
Example Permission Configuration:
๐ค AI Agent Integration
MCP Manager includes a built-in AI Agent that:
Registers OpenAI-compatible APIs: Configure via
baseUrland API keyProvides Proxy: Servers can use AI without direct API key access
Token Statistics: Track all AI usage transparently
Permission-Based: Each server must have AI Agent access enabled in permissions
How It Works:
Register AI Provider in MCP Manager:
Base URL:
https://api.openai.com/v1API Key: (stored securely in OS keychain)
Model:
gpt-4,gpt-3.5-turbo, etc.
Enable for Server: In server permissions, enable AI Agent access
Use in Server: The SDK provides methods to access the AI Agent:
const aiResponse = await server.getAiAgent().chat({ model: 'gpt-4', messages: [{ role: 'user', content: 'Generate image prompt' }] });Track Usage: All token usage is tracked and displayed in MCP Manager
Benefits:
โ No API keys exposed to servers
โ Centralized AI usage tracking
โ Easy to switch AI providers
โ Cost monitoring
๐ ๏ธ Available Tools
Image Processing
image_process_local- Process local image: resize, crop, convert format, optimizeimage_analyze- Analyze local image: dimensions, format, file size, metadataimage_optimize- Automatically optimize local image: compress, convert to best formatimage_create_placeholder- Create placeholder image with dimensions displayedimage_create_favicon- Create favicon from image (multiple sizes)image_add_watermark- Add watermark to image (text or image)image_apply_filters- Apply filters: blur, sharpen, grayscale, sepia, brightness, contrastimage_rotate- Rotate image by specified angleimage_crop_custom- Crop image by exact coordinates
Stock Images
images_provider_status- Check status of image providersstock_images_search- Search for images from Pexels or Pixabaystock_images_download_to_project- Download and save image from provider to project
AI Generation
ai_generate_image- Generate image using OpenAI DALL-E
Color Extraction
image_extract_colors_local- Extract dominant colors and color palette from local imagegenerate_color_palette_image- Generate visual color palette image from local image
๐ Example Usage
Example 1: Search and Download Stock Image
Example 2: Process Local Image
Example 3: Generate AI Image
๐ง Environment Variables
All environment variables are optional with sensible defaults:
๐๏ธ Built on @tscodex/mcp-sdk
This project is built on top of @tscodex/mcp-sdk, which provides:
โ MCP Server Infrastructure: HTTP transport, protocol handling, request routing
โ Authentication & Session Management: Secure session handling
โ Configuration Loading: CLI args, env vars, config files with priority system
โ Secrets Management:
SECRET_*environment variable handlingโ Workspace Context: Automatic workspace root detection and header handling
โ AI Agent Integration: Built-in support for AI Agent proxy
โ Type Safety: Full TypeScript support with TypeBox schemas
Key Features of the SDK:
Fast HTTP-based MCP server creation
No database required - stateless design
Works with or without MCP Manager
Automatic workspace context from headers
JSON Schema-based configuration
๐งช Development
๐ Project Structure
๐ Requirements
Node.js >= 18.0.0
API keys for providers (optional, but required for stock images and AI generation)
๐ Related Projects
MCP Manager - Desktop application for MCP server management
MCP Manager Bridge - VS Code/Cursor extension bridge
@tscodex/mcp-sdk - SDK for building MCP servers
MCP Images (this project) - Image processing MCP server
๐ License
MIT
๐ค Author
Website: tscodex.com
๐ Links
GitHub: https://github.com/unbywyd/tscodex-mcp-images
NPM: https://www.npmjs.com/package/@tscodex/mcp-images
Issues: https://github.com/unbywyd/tscodex-mcp-images/issues
MCP SDK: https://www.npmjs.com/package/@tscodex/mcp-sdk
MCP Manager: https://github.com/unbywyd/tscodex-mcp-manager-app
MCP Bridge: https://github.com/unbywyd/tscodex-mcp-manager-bridge