framegrab-mcp-server

framegrab-mcp-server

3

Framegrab-mcp-server captures images from various video sources using the framegrab library. The server supports multiple tools for managing framegrabbers, including configuration, listing, and releasing them. It is under development, indicating future expansions and improvements.

framegrab-mcp-server

Overview

A Model Context Protocol (MCP) server for capturing images from cameras and video streams. Uses the framegrab library to handle the actual image capture.

This server can be used to capture images from a webcam, a USB camera, an RTSP stream, a youtube live stream, or any other video source supported by the framegrab library.

Framegrab MCP Server in action

This MCP server is still in early development. The functionality and available tools are subject to change and expansion as we continue to develop and improve the server.

Tools

The following tools are available in the Framegrab MCP server:

  • create_framegrabber: Create a new framegrabber from a configuration object and add it to the available grabbers.
  • grab_frame: Grab a frame from the specified framegrabber and return it as an image in the desired format (png, jpg, or webp).
  • list_framegrabbers: List all available framegrabbers by name, sorted alphanumerically.
  • get_framegrabber_config: Retrieve the configuration of a specific framegrabber.
  • set_framegrabber_config: Update the configuration options for a specific framegrabber.
  • release_framegrabber: Release a framegrabber and remove it from the available grabbers.

Resources

The following resources are available in the Framegrab MCP server:

  • framegrabbers: Lists all available framegrabbers by name, sorted alphanumerically.

Configuration

Usage with Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "framegrab": {
      "command": "uvx",
      "args": [
        "framegrab-mcp-server"
      ]
    }
  }
}

Usage with Zed

Add the following to your zed settings.json:

{
  "context_servers": {
    "framegrab": {
      "command": {
        "path": "uvx",
        "args": [
          "framegrab-mcp-server"
        ]
      }
    }
  }
}

(experimental) Enabling autodiscovery of framegrabbers

Enable autodiscovery of framegrabbers (such as your webcam or usb cameras) by setting ENABLE_FRAMEGRAB_AUTO_DISCOVERY="true" in your environment variables. This will automatically add any discovered framegrabbers to the list of available framegrabbers.

If autodiscovery is enabled, then you can also configure how RTSP autodiscovery works by changing FRAMEGRAB_RTSP_AUTO_DISCOVERY_MODE. By default, it is set to "off", which disables RTSP autodiscovery. For a thorough attempt at autodiscovery, set it to "complete_fast".

{
  "mcpServers": {
    "framegrab": {
      "command": "uvx",
      "args": [
        "framegrab-mcp-server"
      ],
      "env": {
        "ENABLE_FRAMEGRAB_AUTO_DISCOVERY": "true",
        "FRAMEGRAB_RTSP_AUTO_DISCOVERY_MODE": "complete_fast"
      }
    }
  }
}

This will increase server startup time.