farshid-mcp-imageProcessing
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
farshid-mcp-imageProcessing
A comprehensive OpenCV image-processing MCP server for VS Code Copilot Agent Mode (or any MCP client). Exposes ~40 tools across webcam capture, image I/O, transforms, color, filtering, edges, thresholding, morphology, contours/shapes, feature matching, object detection (faces / eyes / bodies / QR), drawing, image arithmetic, template matching, and video processing.
MCP Registry:
io.github.pirahansiah/farshid-mcp-imageProcessingPython: 3.14+
OS: latest Windows 11, latest macOS, latest mainstream Linux (Ubuntu 24.04+/Fedora 41+)
Install (PyPI)
pip install farshid-mcp-imageProcessing
farshid-mcp-imageprocessing # runs the stdio MCP serverRelated MCP server: ImageMcp
Register in VS Code
Add this to your user or workspace mcp.json:
{
"servers": {
"imageProcessing": {
"command": "farshid-mcp-imageprocessing",
"type": "stdio"
}
}
}Or, if you cloned the repo and want to run from source with the local .venv:
git clone https://github.com/pirahansiah/farshid-mcp-imageProcessing
cd farshid-mcp-imageProcessing
# Windows (PowerShell):
py -3.14 -m venv .venv ; .\.venv\Scripts\Activate.ps1
# macOS / Linux:
python3.14 -m venv .venv && source .venv/bin/activate
pip install -U pip
pip install -e .opencv-contrib-python is used so the bundled Haar cascades and extra
algorithms are available.
Quick start: the /cv Copilot prompt
This repo ships a workspace prompt file at .github/prompts/cv.prompt.md. In VS Code Copilot Chat (Agent mode), type:
/cv take image from webcam and save it as gray scale 240 * 240The agent will call webcam_save, image_to_grayscale, and image_resize
from this server to produce the requested file under ./.farshid/cv/.
Tool catalog
Webcam / capture
webcam_capture(camera_index=0)→ returns a PNG imagewebcam_save(output_path="", camera_index=0)webcam_preview(camera_index=0, seconds=10)(local desktop window)webcam_record(output_path, seconds=5, camera_index=0, fps=20)
Image I/O & info
image_show(path)— return image to chatimage_info(path)— shape, dtype, mean, file sizeimage_convert(input_path, output_path, quality=95)
Geometric transforms
image_resize(... width|height|scale, interpolation)image_crop(input_path, output_path, x, y, width, height)image_rotate(input_path, output_path, angle, scale=1, keep_size=False)image_flip(input_path, output_path, direction)image_pad(... top, bottom, left, right, border_type, color)
Color
image_to_grayscalecolor_convert(target=gray|hsv|hls|lab|ycrcb|rgb|bgr)adjust_brightness_contrasthistogram_equalize(method=clahe|global)histogram_data(bins=32)
Filtering
blur_gaussian(ksize, sigma)blur_median(ksize)blur_bilateral(d, sigma_color, sigma_space)sharpen(amount)denoise(strength)
Edges / gradients
edges_canny(threshold1, threshold2)edges_sobel(ksize)edges_laplacian(ksize)
Thresholding & morphology
threshold(method=otsu|binary|binary_inv|adaptive_mean|adaptive_gaussian)morphology(op=erode|dilate|open|close|gradient|tophat|blackhat)
Contours & shapes
find_contours(input_path, output_path?, thresh, min_area)detect_circles(...)— Houghdetect_lines(...)— Probabilistic Houghdetect_corners(...)— Shi-Tomasi
Feature matching
feature_match(image1, image2, output_path?)— ORB + BFMatcher
Object detection (Haar)
detect_facesdetect_eyesdetect_bodiesdetect_qrcode
Drawing
draw_rectangle,draw_circle,draw_line,draw_text
Composition / arithmetic
image_blend(image1, image2, output_path, alpha)image_diff(image1, image2, output_path?)→ mean/max diffimage_concat(images, output_path, direction)template_match(image_path, template_path, output_path?, threshold)
Video
video_info(path)video_extract_frames(video_path, output_dir, every_n, max_frames, ext)video_thumbnail(video_path, output_path, time_seconds)
Build & publish
pip install -U build twine mcp-publisher
python -m build
twine upload dist/*
mcp-publisher login github
mcp-publisher publish .mcp/server.jsonOS notes
Windows 11 (latest): webcam works out of the box; ensure Settings → Privacy & security → Camera → Let desktop apps access your camera is On.
macOS (latest): the first webcam call triggers a system Camera permission prompt; grant it to the terminal/VS Code process.
Linux (latest): requires a working
/dev/video*device. Headless servers without a display cannot usewebcam_preview(it opens an OpenCV window).
Notes
Never use
print()in tool functions: stdout is the MCP protocol channel. Usesys.stderr(the_loghelper at the bottom ofserver.py).webcam_previewopens a real desktop window — only works where the server has a display (not over plain SSH or in a headless container).All paths support
~expansion. Output directories are created automatically.Tools that return annotated images take an optional
output_path; when omitted they only return the JSON metadata.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server for AI photo editing: nothing to install, no desktop photo editor needed.
Image processing over MCP: compress and split images, generate images and QR codes.
Stivio MCP server - AI image-to-video generator via MCP.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server providing tools for image processing operations165 PyPI338PythonMIT
- FlicenseNot gradedqualityDmaintenanceA full-featured image processing MCP server for AI assistants, exposing ~55 tools across 11 categories for editing, layers, conversion, AI segmentation/cleanup/generation, design analysis, and screenshot-to-code.-
- FlicenseNot gradedqualityDmaintenanceA powerful Model Context Protocol (MCP) server for image processing, designed to empower AI models with advanced image manipulation capabilities.1-
- AlicenseAqualityDmaintenanceMCP server for vision capabilities, enabling screenshot, camera, and image analysis using Ollama vision models.41MIT