Video Still Capture MCP

Integrations

  • Leverages OpenCV's camera interfaces to capture images, manipulate video properties like brightness and contrast, and perform basic image transformations.

Captura de vídeo fija MCP

Un servidor de protocolo de contexto de modelo para acceder y controlar cámaras web a través de OpenCV

Descripción general

Video Still Capture MCP es una implementación en Python del Protocolo de Contexto de Modelo (MCP) que permite a los asistentes de IA acceder y controlar cámaras web y fuentes de vídeo mediante OpenCV. Este servidor expone un conjunto de herramientas que permiten a los modelos de lenguaje capturar imágenes, manipular la configuración de la cámara y gestionar las conexiones de vídeo. No incluye captura de vídeo.

Ejemplos

A continuación se muestran algunos ejemplos del servidor MCP de captura de imágenes de vídeo en acción:

Ejemplo de naranja

Izquierda: La visión de Claude de la imagen.Derecha: Captura real de la cámara web

Ejemplo de imán

Izquierda: La visión de Claude de la imagen.Derecha: Captura real de la cámara web

Instalación

Prerrequisitos

Instalación desde la fuente

git clone https://github.com/13rac1/videocapture-mcp.git cd videocapture-mcp pip install -e .

Ejecute el servidor MCP:

mcp dev videocapture_mcp.py

Integración con Claude para escritorio

macOS/Linux

Edite la configuración de Claude Desktop:

# Mac nano ~/Library/Application\ Support/Claude/claude_desktop_config.json # Linux nano ~/.config/Claude/claude_desktop_config.json

Agregue esta configuración de servidor MCP:

{ "mcpServers": { "VideoCapture ": { "command": "uv", "args": [ "run", "--with", "mcp[cli]", "--with", "numpy", "--with", "opencv-python", "mcp", "run", "/ABSOLUTE_PATH/videocapture_mcp.py" ] } } }

Asegúrese de reemplazar /ABSOLUTE_PATH/videocapture-mcp con la ruta absoluta del proyecto.

Ventanas

Edite la configuración de Claude Desktop:

nano $env:AppData\Claude\claude_desktop_config.json

Agregue esta configuración de servidor MCP:

{ "mcpServers": { "VideoCapture": { "command": "uv", "args": [ "run", "--with", "mcp[cli]", "--with", "numpy", "--with", "opencv-python", "mcp", "run", "C:\ABSOLUTE_PATH\videocapture-mcp\videocapture_mcp.py" ] } } }

Asegúrese de reemplazar C:\ABSOLUTE_PATH\videocapture-mcp con la ruta absoluta del proyecto.

Uso del comando de instalación

Alternativamente, puede utilizar la CLI mcp para instalar el servidor:

mcp install videocapture_mcp.py

Esto configurará automáticamente Claude Desktop para utilizar su servidor MCP de captura de video.

Una vez integrado, Claude podrá acceder a tu cámara web o fuente de vídeo cuando lo solicites. Simplemente pídele que tome una foto o realice cualquier tarea relacionada con la cámara web.

Características

  • Captura rápida de imágenes : captura una sola imagen desde una cámara web sin administrar conexiones
  • Administración de conexiones : abra, administre y cierre las conexiones de la cámara
  • Propiedades de video : lea y ajuste la configuración de la cámara, como el brillo, el contraste y la resolución.
  • Procesamiento de imágenes : transformaciones básicas de imágenes como volteo horizontal

Referencia de herramientas

quick_capture

Abra rápidamente una cámara, capture un solo fotograma y ciérrela.

quick_capture(device_index: int = 0, flip: bool = False) -> Image
  • device_index : índice de la cámara (0 suele ser la cámara web predeterminada)
  • voltear : si desea voltear la imagen horizontalmente
  • Devuelve : El fotograma capturado como un objeto de imagen

open_camera

Abra una conexión a un dispositivo de cámara.

open_camera(device_index: int = 0, name: Optional[str] = None) -> str
  • device_index : índice de la cámara (0 suele ser la cámara web predeterminada)
  • nombre : Nombre opcional para identificar esta conexión de cámara
  • Devuelve : ID de conexión para la cámara abierta

capture_frame

Captura un solo fotograma de la fuente de vídeo especificada.

capture_frame(connection_id: str, flip: bool = False) -> Image
  • connection_id : ID de la conexión de vídeo abierta anteriormente
  • voltear : si desea voltear la imagen horizontalmente
  • Devuelve : El fotograma capturado como un objeto de imagen

get_video_properties

Obtener propiedades de la fuente de vídeo.

get_video_properties(connection_id: str) -> dict
  • connection_id : ID de la conexión de vídeo abierta anteriormente
  • Devuelve : Diccionario de propiedades de vídeo (ancho, alto, fps, etc.)

set_video_property

Establecer una propiedad de la fuente de vídeo.

set_video_property(connection_id: str, property_name: str, value: float) -> bool
  • connection_id : ID de la conexión de vídeo abierta anteriormente
  • property_name : Nombre de la propiedad a establecer (ancho, alto, brillo, etc.)
  • valor : Valor a establecer
  • Devuelve : Verdadero si tiene éxito, Falso en caso contrario

close_connection

Cerrar una conexión de video y liberar recursos.

close_connection(connection_id: str) -> bool
  • connection_id : ID de la conexión a cerrar
  • Devuelve : Verdadero si tiene éxito

list_active_connections

Enumere todas las conexiones de vídeo activas.

list_active_connections() -> list
  • Devuelve : Lista de ID de conexión activa

Ejemplo de uso

Así es como un asistente de IA podría utilizar el servidor Webcam MCP:

  1. Toma una foto rápida :
    I'll take a photo using your webcam.
    (La IA llamaría quick_capture() detrás de escena)
  2. Abrir una conexión persistente :
    I'll open a connection to your webcam so we can take multiple photos.
    (La IA llamaría open_camera() y almacenaría el ID de conexión)
  3. Ajustar la configuración de la cámara :
    Let me increase the brightness of the webcam feed.
    (La IA llamaría set_video_property() con los parámetros apropiados)

Uso avanzado

Gestión de recursos

El servidor administra automáticamente los recursos de la cámara, garantizando que todas las conexiones se liberen correctamente al apagarse. Para aplicaciones de larga duración, es recomendable cerrar las conexiones explícitamente cuando ya no se necesitan.

Varias cámaras

Si su sistema tiene varias cámaras, puede especificar el índice del dispositivo al abrir una conexión:

# Open the second webcam (index 1) connection_id = open_camera(device_index=1)

Solución de problemas

  • Cámara no encontrada : asegúrese de que su cámara web esté conectada correctamente y no esté siendo utilizada por otra aplicación
  • Problemas de permisos : algunos sistemas requieren permiso explícito para acceder a la cámara
  • Instalación de OpenCV : si tiene problemas con OpenCV, consulte la guía de instalación oficial

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

-
security - not tested
F
license - not found
-
quality - not tested

Un servidor de protocolo de contexto de modelo que permite a los asistentes de IA acceder y controlar cámaras web a través de OpenCV, lo que permite la captura de imágenes y la manipulación de la configuración de la cámara.

  1. Overview
    1. Examples
      1. Orange Example
      2. Magnet Example
    2. Installation
      1. Prerequisites
      2. Installation from source
    3. Integrating with Claude for Desktop
      1. macOS/Linux
      2. Windows
      3. Using the Installation Command
    4. Features
      1. Tools Reference
        1. quick_capture
        2. open_camera
        3. capture_frame
        4. get_video_properties
        5. set_video_property
        6. close_connection
        7. list_active_connections
      2. Example Usage
        1. Advanced Usage
          1. Resource Management
          2. Multiple Cameras
        2. Troubleshooting
          1. License
            1. Contributing
              ID: 5h0cn62u05