mcpField
F
farshid-mcp-imageProcessing

farshid-mcp-imageProcessing

Local
github.com/pirahansiahMedia & Design1Updated 18w ago

About farshid-mcp-imageProcessing

farshid-mcp-imageProcessing is an OpenCV-based MCP server for VS Code Copilot Agent Mode and other MCP clients. Its tools cover webcam capture, image operations, detection, and video processing.

Key features

  1. 01Webcam capture and recording
  2. 02Image conversion and transforms
  3. 03Color, filtering, and edge operations
  4. 04Contours and feature matching
  5. 05Face, eye, body, and QR detection
  6. 06Video information and frame extraction

Use cases

  1. 01Capture and resize a webcam image
  2. 02Apply filters or detect image edges
  3. 03Find faces or QR codes in images
  4. 04Extract frames from a video

MCP support

It exposes OpenCV image and video processing capabilities as tools to MCP clients. The server communicates over stdio.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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.

  • PyPI: farshid-mcp-imageProcessing
  • MCP Registry: io.github.pirahansiah/farshid-mcp-imageProcessing
  • Python: 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 server

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 * 240

The 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 image
  • webcam_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 chat
  • image_info(path) — shape, dtype, mean, file size
  • image_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_grayscale
  • color_convert(target=gray|hsv|hls|lab|ycrcb|rgb|bgr)
  • adjust_brightness_contrast
  • histogram_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(...) — Hough
  • detect_lines(...) — Probabilistic Hough
  • detect_corners(...) — Shi-Tomasi
Feature matching
  • feature_match(image1, image2, output_path?) — ORB + BFMatcher
Object detection (Haar)
  • detect_faces
  • detect_eyes
  • detect_bodies
  • detect_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 diff
  • image_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.json

OS 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 use webcam_preview (it opens an OpenCV window).

Notes

  • Never use print() in tool functions: stdout is the MCP protocol channel. Use sys.stderr (the _log helper at the bottom of server.py).
  • webcam_preview opens 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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.