Video Still Capture MCP
Un servidor MCP para acceder y controlar cámaras web usando OpenCV.
Documentación
Video Still Capture MCP
Un servidor de Protocolo de Contexto de Modelo para acceder y controlar cámaras web mediante OpenCV
Descripción general
Video Still Capture MCP es una implementación en Python del Protocolo de Contexto de Modelo (MCP) que proporciona a los asistentes de IA la capacidad de acceder y controlar cámaras web y fuentes de video a través de 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 conexiones de video. No hay captura de video.
Ejemplos
Aquí hay algunos ejemplos del servidor Video Still Capture MCP en acción:
Ejemplo de Naranja
| Izquierda: Vista de Claude de la imagen | Derecha: Captura real de la cámara web |
|---|---|
![]() | ![]() |
Ejemplo de Imán
| Izquierda: Vista de Claude de la imagen | Derecha: Captura real de la cámara web |
|---|---|
![]() | ![]() |
Instalación
Requisitos previos
- Python 3.10+
- OpenCV (
opencv-python) - MCP Python SDK
- UV (opcional)
Instalación desde el código 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 Desktop
macOS/Linux
Edite su 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 del 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.
Windows
Edite su configuración de Claude Desktop:
nano $env:AppData\Claude\claude_desktop_config.json
Agregue esta configuración del 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.
Usando el comando de instalación
Alternativamente, puede usar la CLI de mcp para instalar el servidor:
mcp install videocapture_mcp.py
Esto configurará automáticamente Claude Desktop para usar su servidor MCP de captura de video.
Una vez integrado, Claude podrá acceder a su cámara web o fuente de video cuando se le solicite. Simplemente pídale a Claude que tome una foto o realice cualquier tarea relacionada con la cámara web.
Características
- Captura rápida de imágenes: Capture una sola imagen de una cámara web sin gestionar conexiones
- Gestión de conexiones: Abra, administre y cierre conexiones de cámara
- Propiedades de video: Lea y ajuste la configuración de la cámara como brillo, contraste y 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 es generalmente la cámara web predeterminada)
- flip: Si se debe 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 es generalmente la cámara web predeterminada)
- name: Nombre opcional para identificar esta conexión de cámara
- Devuelve: ID de conexión para la cámara abierta
capture_frame
Capture un solo fotograma de la fuente de video especificada.
capture_frame(connection_id: str, flip: bool = False) -> Image
- connection_id: ID de la conexión de video abierta previamente
- flip: Si se debe voltear la imagen horizontalmente
- Devuelve: El fotograma capturado como un objeto de imagen
get_video_properties
Obtenga las propiedades de la fuente de video.
get_video_properties(connection_id: str) -> dict
- connection_id: ID de la conexión de video abierta previamente
- Devuelve: Diccionario de propiedades de video (ancho, alto, fps, etc.)
set_video_property
Establezca una propiedad de la fuente de video.
set_video_property(connection_id: str, property_name: str, value: float) -> bool
- connection_id: ID de la conexión de video abierta previamente
- property_name: Nombre de la propiedad a establecer (ancho, alto, brillo, etc.)
- value: Valor a establecer
- Devuelve: True si tiene éxito, False en caso contrario
close_connection
Cierre una conexión de video y libere recursos.
close_connection(connection_id: str) -> bool
- connection_id: ID de la conexión a cerrar
- Devuelve: True si tiene éxito
list_active_connections
Liste todas las conexiones de video activas.
list_active_connections() -> list
- Devuelve: Lista de IDs de conexiones activas
Ejemplo de uso
Así es como un asistente de IA podría usar el servidor Webcam MCP:
-
Tome una foto rápida:
I'll take a photo using your webcam.(La IA llamaría a
quick_capture()en segundo plano) -
Abra una conexión persistente:
I'll open a connection to your webcam so we can take multiple photos.(La IA llamaría a
open_camera()y almacenaría el ID de conexión) -
Ajuste la configuración de la cámara:
Let me increase the brightness of the webcam feed.(La IA llamaría a
set_video_property()con los parámetros apropiados)
Uso avanzado
Gestión de recursos
El servidor gestiona automáticamente los recursos de la cámara, asegurando que todas las conexiones se liberen correctamente cuando el servidor se apaga. Para aplicaciones de larga duración, es una buena práctica cerrar explícitamente las conexiones cuando ya no sean necesarias.
Múltiples cámaras
Si su sistema tiene múltiples 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é correctamente conectada y no esté en uso por otra aplicación
- Problemas de permisos: Algunos sistemas requieren permiso explícito para acceder a la cámara
- Instalación de OpenCV: Si encuentra problemas con OpenCV, consulte la guía de instalación oficial
Licencia
Este proyecto está licenciado bajo la Licencia MIT: consulte el archivo LICENSE para más detalles.
Contribuciones
¡Las contribuciones son bienvenidas! No dude en enviar una Solicitud de Extracción (Pull Request).



