Videocapture Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Videocapture Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol server for accessing and controlling webcams via OpenCV
Video Still Capture MCP is a Python implementation of the Model Context Protocol (MCP) that provides AI assistants with the ability to access and control webcams and video sources through OpenCV. This server exposes a set of tools that allow language models to capture images, manipulate camera settings, and manage video connections. There is no video capture.
Here are some examples of the Video Still Capture MCP server in action:
Left: Claude's view of the image | Right: Actual webcam capture :-------------------------:|:-------------------------: Claude's view of orange | Webcam capture of orange
Left: Claude's view of the image | Right: Actual webcam capture :-------------------------:|:-------------------------: Claude's view of magnet | Webcam capture of magnet
opencv-python)git clone https://github.com/13rac1/videocapture-mcp.git
cd videocapture-mcp
pip install -e .Run the MCP server:
mcp dev videocapture_mcp.pyEdit your Claude Desktop configuration:
# Mac
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Linux
nano ~/.config/Claude/claude_desktop_config.json Add this MCP server configuration:
{
"mcpServers": {
"VideoCapture ": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"numpy",
"--with",
"opencv-python",
"mcp",
"run",
"/ABSOLUTE_PATH/videocapture_mcp.py"
]
}
}
}Ensure you replace /ABSOLUTE_PATH/videocapture-mcp with the project's absolute path.
Edit your Claude Desktop configuration:
nano $env:AppData\Claude\claude_desktop_config.jsonAdd this MCP server configuration:
{
"mcpServers": {
"VideoCapture": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"numpy",
"--with",
"opencv-python",
"mcp",
"run",
"C:\ABSOLUTE_PATH\videocapture-mcp\videocapture_mcp.py"
]
}
}
}Ensure you replace C:\ABSOLUTE_PATH\videocapture-mcp with the project's absolute path.
Alternatively, you can use the mcp CLI to install the server:
mcp install videocapture_mcp.pyThis will automatically configure Claude Desktop to use your videocapture MCP server.
Once integrated, Claude will be able to access your webcam or video source when requested. Simply ask Claude to take a photo or perform any webcam-related task.
quick_captureQuickly open a camera, capture a single frame, and close it.
quick_capture(device_index: int = 0, flip: bool = False) -> Imageopen_cameraOpen a connection to a camera device.
open_camera(device_index: int = 0, name: Optional[str] = None) -> strcapture_frameCapture a single frame from the specified video source.
capture_frame(connection_id: str, flip: bool = False) -> Imageget_video_propertiesGet properties of the video source.
get_video_properties(connection_id: str) -> dictset_video_propertySet a property of the video source.
set_video_property(connection_id: str, property_name: str, value: float) -> boolclose_connectionClose a video connection and release resources.
close_connection(connection_id: str) -> boollist_active_connectionsList all active video connections.
list_active_connections() -> listHere's how an AI assistant might use the Webcam MCP server:
I'll take a photo using your webcam.(The AI would call quick_capture() behind the scenes)
I'll open a connection to your webcam so we can take multiple photos.(The AI would call open_camera() and store the connection ID)
Let me increase the brightness of the webcam feed.(The AI would call set_video_property() with the appropriate parameters)
The server automatically manages camera resources, ensuring all connections are properly released when the server shuts down. For long-running applications, it's good practice to explicitly close connections when they're no longer needed.
If your system has multiple cameras, you can specify the device index when opening a connection:
# Open the second webcam (index 1)
connection_id = open_camera(device_index=1)This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.