webcam-mcp
webcam-mcp
Un servidor MCP que le da a un agente de codificación ojos y oídos en la máquina anfitriona: imágenes fijas de la cámara web, voz a texto del micrófono y respuestas opcionales de texto a voz.
Todo se ejecuta localmente. ffmpeg captura fotogramas, faster-whisper transcribe en la CPU, openWakeWord gestiona la palabra de activación. No se envía audio, vídeo, transcripción ni imagen a ningún sitio. La única llamada de red que hace el servidor es una descarga única del modelo desde Hugging Face la primera vez que transcribes algo.
Por qué existe: un agente de codificación que puede leer tu pantalla pero no puede verte ni oírte se pierde toda una parte de la conversación. Esto cierra esa brecha para cualquier cliente MCP en una máquina con cámara y micrófono.
Herramientas
Herramienta | Qué hace |
| Enumera cámaras y micrófonos. Llama a esto primero cuando falla una captura. |
| Un JPEG fijo de una cámara. Devuelve una ruta de archivo. |
| Graba un micrófono en WAV mono de 16 kHz. Sin transcripción. |
| Transcribe cualquier archivo de audio/vídeo existente a texto. |
| Graba el micrófono y devuelve lo que se dijo. Bloquea durante la duración. |
| Dos cámaras en una imagen, la primera arriba, la segunda abajo. |
| Voces de texto a voz instaladas en la máquina. |
| Di algo en voz alta, o reprodúcelo en un WAV. |
| Espera una frase de activación, luego graba y transcribe lo que sigue. |
Related MCP server: Voice MCP
Configuración
Requiere Python 3.11+, ffmpeg en PATH y uv.
uv syncEjecútalo de forma independiente para confirmar que arranca:
uv run server.pySe queda esperando entrada MCP stdio, así que parece que no hace nada hasta que un cliente se conecta. Eso es normal. Ctrl+C para salir.
Regístralo en tu cliente MCP como un comando stdio, con el mismo patrón que cualquier otro servidor.
Notas aprendidas por las malas
mcpestá fijado por debajo de 2. mcp 2.0.0 renombrómcp.server.fastmcpamcp.server.mcpserver, lo que rompe la importación silenciosamente al iniciar el servidor. Quédate en la 1.x que realmente carga.El tiempo de calentamiento no es un relleno. Las cámaras web se abren oscuras y la autoexposición necesita un momento. Por debajo de aproximadamente un segundo, el fotograma sale negro o mal expuesto. El valor predeterminado es 1,5 segundos por una razón.
Una captura fallida casi siempre se debe a un dispositivo ya en uso. Zoom, Teams o una pestaña del navegador que tenga la cámara produce un error de E/S de ffmpeg. Las herramientas lo detectan y lo indican. La segunda causa más común es el ajuste de privacidad del sistema operativo que bloquea el acceso de las aplicaciones de escritorio a la cámara o al micrófono.
Tamaño del modelo Whisper:
base(el predeterminado) es el punto óptimo de velocidad y precisión.smalles notablemente mejor con acentos marcados a aproximadamente el triple de cómputo. Los modelos se guardan en caché en el perfil de usuario tras la primera descarga.Los modelos se cargan de forma diferida y permanecen en caché por tamaño durante toda la vida del proceso del servidor. Recargarlos en cada llamada cuesta segundos y mucha RAM.
El modelo de activación predeterminado es el
hey_jarvispreentrenado de openWakeWord. Sin entrenamiento, sin conjunto de datos, viene de serie. Con el umbral predeterminado de 0,5 es fiable, y los falsos positivos no son una preocupación práctica.
Límites de voz y habla
speak usa las voces SAPI heredadas por defecto. Suenan robóticas. Las voces naturales de los sistemas operativos modernos son mucho mejores y se ejecutan localmente una vez instaladas, y speak las detecta automáticamente cuando existen.
El límite arquitectónico honesto es que esto es un pipeline de cuatro saltos: voz a texto, texto a modelo, modelo a texto y texto a voz. Es más lento que un modelo de audio nativo, y convertir la voz en texto descarta el tono, el volumen y la emoción antes de que el modelo vea las palabras. Una configuración de audio nativa de un solo salto arreglaría ambas cosas, pero eso requiere un proveedor que acepte audio de forma nativa. Dentro de un entorno MCP de texto, cuatro saltos es el diseño correcto, no un atajo.
capture_stitched solo merece la pena cuando hay una segunda cámara realmente conectada. De lo contrario, la segunda mitad de la imagen es un indicador de conexión.
Archivos de salida
Las capturas van por defecto a una carpeta temporal con nombres con marca de tiempo. Pasa output_path para enviarlas a un lugar duradero. record_and_transcribe elimina su WAV después a menos que pases keep_audio=True.
Nada de esto elimina capturas antiguas automáticamente. Vacía esa carpeta de vez en cuando.
Autocomprobación
uv run server.py --selftestImprime la lista de dispositivos sin necesidad de un cliente MCP, que es la forma más rápida de confirmar que la instalación es correcta.
Licencia
MIT. Consulta LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceEnables voice interaction with Claude Code through local speech-to-text (Whisper) and text-to-speech (Supertonic), allowing verbal input/output without external API calls.1
- Alicense-qualityDmaintenanceEnables bidirectional voice interaction for Claude Code using local speech-to-text and text-to-speech models optimized for Apple Silicon. It provides tools to listen to user speech via microphone and speak responses aloud through system speakers.16Apache 2.0
- Alicense-qualityBmaintenanceEnables AI agents to speak and listen in real-time with interruption handling, using local ML models and hot-swappable adapters.102MIT
- Alicense-qualityDmaintenanceEnables AI agents to view and control the local desktop through browser-based viewport and MCP tools.MIT
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Transform video, audio and images, and generate media from prompts. FFmpeg, captions, models.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/luigimasango-dev/webcam-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server