Raz
Raz — Interfaz de voz para Claude Code
Habla con Claude Code con tu voz. Claude te responde. Todo se ejecuta localmente en tu Mac: sin APIs en la nube, sin suscripciones, sin que los datos salgan de tu máquina.
Raz (del arameo רָז, "misterio revelado") le da a Claude Code voz y oídos usando kokoro-mlx para el habla y mlx-whisper para escuchar, ambos optimizados para Apple Silicon.
Cómo funciona
You speak (hold Right Option key) ──► Whisper transcribes ──► text goes to Claude
Claude responds ──► auto-speak reads the response aloud through your speakersEso es todo. Cuando Raz está activo, tienes una conversación por voz con Claude. Los bloques de código y las tablas se omiten silenciosamente: solo se habla la prosa.
Lo que necesitas
Requisito | Por qué |
Mac con Apple Silicon (M1/M2/M3/M4) | kokoro-mlx y mlx-whisper solo se ejecutan en Apple Silicon |
Python 3.12 | Versión fijada: kokoro-mlx lo requiere |
La CLI con la que se integra | |
Gestor de paquetes de Python (maneja todo) | |
jq | Procesamiento JSON para la CLI ( |
Configuración
Toda la configuración toma unos 5 minutos. Cada paso es copiar y pegar.
Paso 1: Clonar e instalar
git clone https://github.com/Mateob6/claude-voice-interaction.git
cd claude-voice-interaction
uv syncEsto descarga el código e instala todas las dependencias de Python (kokoro-mlx, mlx-whisper, FastAPI, pynput, etc.) en un entorno virtual aislado.
Paso 2: Instalar la CLI
mkdir -p ~/.local/bin
ln -sf "$(pwd)/scripts/raz" ~/.local/bin/raz
chmod +x scripts/raz scripts/start_server.sh scripts/stop_server.shAsegúrate de que ~/.local/bin esté en tu PATH. Si no lo está:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrcVerifica que funciona:
raz helpPaso 3: Registrar el servidor MCP
Esto permite que Claude Code controle Raz a través de 10 herramientas integradas (hablar, cambiar voz, iniciar/detener escucha, etc.):
claude mcp add raz -- uv run --directory "$(pwd)" python -m raz.mcp_serverPaso 4: Configurar el habla automática
Este hook hace que las respuestas de Claude se hablen automáticamente en voz alta. Añádelo a tu configuración de Claude Code:
cat ~/.claude/settings.jsonSi el archivo existe, añade la sección hooks. Si no existe, créalo:
{
"hooks": {
"Stop": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "/FULL/PATH/TO/claude-voice-interaction/hooks/stop_hook.sh",
"timeout": 30
}
]
}
]
}
}Importante: Reemplaza /FULL/PATH/TO/claude-voice-interaction con la ruta real donde clonaste el repositorio. Puedes obtenerla con pwd dentro del directorio del proyecto.
Paso 5: Primera ejecución
raz startEsto inicia dos cosas:
El servidor TTS (texto a voz) — carga el modelo kokoro-mlx (~10 segundos la primera vez)
El demonio STT (voz a texto) — escucha la tecla Opción derecha
Deberías ver:
=== Starting Raz ===
Starting Raz TTS server (background) on port 8787...
Raz ready!
Starting STT daemon (lang=es)...
Loading Whisper model. ready!
PID: 12345Pruébalo:
raz say "Hello, I can speak now"Si escuchas la voz, todo funciona. Detén Raz con:
raz stopUsar Raz
Iniciar una sesión de voz
raz start # start voice + mic
raz stop # stop everything
raz status # check what's runningHablar con Claude (pulsar para hablar)
Mantén presionada la Opción derecha (⌥) en tu teclado
Habla tu mensaje
Suelta la tecla
Tus palabras se transcriben y se pegan en Claude Code
Escucharás un sonido Tink cuando comience la grabación y un Pop cuando se detenga.
Primera vez: macOS pedirá permiso de Accesibilidad para tu aplicación de terminal. Concédelo: pynput lo necesita para detectar la tecla de acceso rápido globalmente.
Primera pulsación: El modelo Whisper se carga en el primer uso (~3 segundos). Después, la transcripción es casi instantánea. El modelo se descarga automáticamente después de 5 minutos de inactividad para liberar memoria.
Cambiar la voz
raz voice af_heart # switch to English female (best quality)
raz voice em_alex # switch to Spanish male (default)
raz voice bm_fable # switch to British storyteller
raz voices # see all 54 voicesAjustar velocidad
raz speed 1.5 # faster
raz speed 0.8 # slower
raz speed 1.0 # normalTranscripción de una sola vez
Graba audio y copia la transcripción a tu portapapeles (sin el demonio):
raz listen # Spanish (default)
raz listen en # English
# Press Ctrl+C when done speakingConfigurar un atajo de teclado (opcional)
Activa/desactiva Raz desde cualquier aplicación con un atajo de teclado global:
raz shortcut installLuego asigna el atajo:
Configuración del sistema → Teclado → Atajos de teclado → Servicios → General
Busca "Activar Raz"
Haz clic en "Añadir atajo" y presiona la combinación de teclas que prefieras (por ejemplo, ⌃⌘R)
Ahora esa combinación de teclas activa/desactiva Raz desde cualquier lugar, con una notificación de macOS.
Voces
54 voces en 10 idiomas. Destacados:
ID | Idioma | Género | Carácter |
| Español | ♂ | Predeterminada. Natural, clara |
| Español | ♀ | Cálida, expresiva |
| Inglés | ♀ | Mejor calidad general |
| Inglés | ♂ | Profunda, clara |
| Británico | ♂ | Voz narrativa |
| Francés | ♀ | Clara, natural |
| Italiano | ♀ | Cálida, melódica |
| Japonés | ♀ | Estándar |
| Mandarín | ♀ | Enérgica |
| Portugués | ♀ | Natural |
Lista completa: raz voices
Configuración
Modos de habla automática
Modo | Qué hace |
| Habla prosa, omite silenciosamente código y tablas (predeterminado) |
| Habla todo |
| Nada se habla automáticamente: solo llamadas MCP explícitas a |
raz mode smart # recommended
raz mode auto # hear everything
raz mode off # silent, use speak() when neededDetección de idioma
Raz detecta automáticamente si el texto es español o inglés y cambia las voces en consecuencia. Si configuras em_alex (masculino español) y Claude responde en inglés, Raz cambia automáticamente a am_adam (masculino inglés) para esa respuesta, y luego vuelve.
Idioma de STT
El demonio de pulsar para hablar usa español por defecto. Inícialo con un idioma diferente:
raz stt start en # English
raz stt start es # Spanish (default)Arquitectura
Claude Code
├── MCP tools (10) ──► localhost:8787 (TTS: kokoro-mlx)
│ ──► raz.stt.daemon (STT: control)
├── Stop hook ──► localhost:8787/auto-speak
├── STT daemon (pynput + mlx-whisper) ──► clipboard ──► paste
└── CLI (raz) ──► unified lifecycleComponente | Qué hace | Memoria |
Servidor TTS | Habla texto a través de los altavoces (FastAPI + kokoro-mlx) | ~730 MB |
Demonio STT | Escucha la Opción derecha, transcribe con Whisper | ~2 MB en reposo, ~4 GB cuando Whisper está cargado |
Servidor MCP | 10 herramientas para que Claude Code controle Raz | se ejecuta dentro de Claude Code |
Hook de detención | Captura la respuesta de Claude y la envía a TTS | script bash, sin memoria |
El demonio STT carga Whisper de forma diferida en la primera pulsación de tecla y se descarga automáticamente después de 5 minutos de inactividad para liberar ~4 GB de memoria.
Solución de problemas
"La Opción derecha no hace nada"
Tu aplicación de terminal necesita permiso de Accesibilidad. Ve a Configuración del sistema → Privacidad y seguridad → Accesibilidad, y añade tu terminal (iTerm2, Terminal.app, etc.).
"raz start se cuelga en 'Cargando modelo Whisper'"
La primera ejecución descarga el modelo Whisper (~800 MB). Comprueba tu conexión a internet. El modelo se guarda en caché después de la primera descarga.
"El puerto 8787 ya está en uso"
Otra instancia de Raz está en ejecución. Mátala:
raz stop
# If that doesn't work:
pkill -f "raz.tts_server""El demonio no se detiene"
pkill -f "run_daemon""No hay salida de sonido"
Comprueba que la salida de audio de tu Mac esté configurada correctamente (Configuración del sistema → Sonido). Raz reproduce a través del dispositivo de salida predeterminado.
Referencia de CLI
raz start # Start Raz (voice + mic)
raz stop # Stop Raz
raz on / raz off # Enable/disable Raz
raz status # Show Raz status
raz say "text" # Speak text
raz listen [lang] # Record → transcribe → clipboard
raz voice NAME # Change voice
raz voices # List all 54 voices
raz mode MODE # smart | auto | off
raz speed N # 0.5–2.0
raz stt start|stop # Mic only
raz tts start|stop # Voice only
raz shortcut install|remove # Keyboard shortcutHerramientas MCP
Cuando se registra como servidor MCP, Claude Code obtiene estas 10 herramientas:
Herramienta | Qué hace |
| Hablar texto en voz alta |
| Cambiar voz |
| Listar todas las voces |
| Cambiar el modo de habla automática |
| Cambiar la velocidad del habla |
| Activar/desactivar TTS |
| Comprobar el estado de Raz |
| Iniciar pulsar para hablar |
| Detener pulsar para hablar |
| Comprobar el estado del micrófono |
Licencia
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 Connectors
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
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/Mateob6/claude-voice-interaction'
If you have feedback or need assistance with the MCP directory API, please join our Discord server