framegrab
An MCP server for capturing images from cameras and video streams
claude mcp add --transport stdio groundlight-framegrab-mcp-server uvx framegrab-mcp-server
How to use
The framegrab MCP server provides a set of tools to manage and capture images from camera and video sources using the framegrab library. Core capabilities include creating and managing framegrabbers, capturing frames in multiple formats, and inspecting or updating the configuration of each framegrabber. Available tools include: create_framegrabber to instantiate a new framegrabber from a configuration object and register it for use; grab_frame to retrieve a single image from a specified framegrabber in formats such as png, jpg, or webp; list_framegrabbers to enumerate all configured grabbers by name (sorted alphanumerically); get_framegrabber_config and set_framegrabber_config to read and update the configuration of individual grabbers; and release_framegrabber to remove a framegrabber when it’s no longer needed. The server also exposes a framegrabbers resource that lists all registered grabbers. You can use autodiscovery to automatically detect cameras connected to the host, and you can configure RTSP autodiscovery behavior if needed. Overall, this MCP server acts as a bridge between your camera sources and MCP clients that request images or configure capture settings.
How to install
Prerequisites:
- Python 3.9+ and pip (or have Python available).
- Optional: pipx for easy tool installation.
Installation steps:
- Install Python (and pip) if not already installed.
- Install the uvx CLI tool (the MCP server launcher). You can use pipx or pip:
- Using pipx (recommended): pipx install uvx
- Or using pip directly: pip install uvx
- Verify installation:
- Run: uvx --version
- Run the MCP server (as shown in the README usage examples):
- Example CLI invocation: uvx framegrab-mcp-server
- (Optional) If you want to configure via a software integration (Claude Desktop or Zed), add the appropriate configuration in your integration’s settings referencing the uvx command and the framegrab-mcp-server module name as shown in the README examples.
Additional notes
Tips and considerations:
- If you enable autodiscovery of framegrabbers, environment variable ENABLE_FRAMEGRAB_AUTO_DISCOVERY should be set to true and you may configure FRAMEGRAB_RTSP_AUTO_DISCOVERY_MODE (options include off, complete_fast).
- Autodiscovery can increase server startup time, so profile your startup needs accordingly.
- The framegrabber list is kept sorted alphanumerically for easier navigation in clients.
- When configuring framegrabbers, you can use get_framegrabber_config and set_framegrabber_config to fine-tune capture settings like resolution, format, and framerate.
- If you’re integrating with Claude Desktop or Zed, follow the exact JSON snippets in the README to ensure proper command paths and argument structures. Ensure the MCP server name (e.g., framegrab) matches across configurations.
- For troubleshooting, verify that the camera or video source is accessible from the host running framegrab-mcp-server and that necessary permissions are granted (especially on macOS and Linux with USB devices).
- If you encounter RTSP discovery issues, check your network firewall and ensure RTSP endpoints are reachable from the server host.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP