Speech MCP
by Kvadratni
{
"project": {
"name": "speech-mcp",
"description": "Goose voice interaction extension with audio visualization",
"version": "0.4.0",
"type": "goose_extension",
"python_min_version": "3.10"
},
"important": [
"Never commit without user permission",
"Always show changes first for approval",
"Don't run server directly - requires installation",
"Must be installed in Goose to test",
"Always look for logs in ~/.speech-mcp/logs"
],
"components": [
{
"name": "server",
"path": "src/speech_mcp/server.py",
"purpose": "MCP server with FastMCP integration, manages state and UI process"
},
{
"name": "ui",
"path": "src/speech_mcp/ui/",
"purpose": "PyQt UI with audio visualization, voice selection, and TTS"
},
{
"name": "tts_adapters",
"path": "src/speech_mcp/tts_adapters/",
"purpose": "TTS engine adapters with fallback support"
},
{
"name": "config",
"path": "src/speech_mcp/config/",
"purpose": "Configuration system for user preferences"
},
{
"name": "process_manager",
"path": "src/speech_mcp/process_manager.py",
"purpose": "Process lifecycle management with auto-recovery"
}
],
"api": [
{
"name": "start_conversation",
"purpose": "Start UI and begin listening",
"returns": "User speech transcription"
},
{
"name": "reply",
"purpose": "Speak text and listen for response",
"params": ["text: string to speak"],
"returns": "User response transcription"
}
],
"dependencies": {
"main": ["PyQt5>=5.15.0", "faster-whisper>=0.10.0", "pyaudio>=0.2.13", "pyttsx3>=2.90", "psutil>=5.9.0"],
"optional": ["kokoro>=0.8.4", "torch", "misaki[en,ja,zh]"]
},
"features": {
"ui": "PyQt dark theme with audio visualization and animations",
"tts": "54+ voices via Kokoro with persistence",
"stt": "Local speech recognition with faster-whisper"
},
"install": {
"deeplink": "goose://extension?cmd=uvx&arg=speech-mcp&id=speech_mcp&name=Speech%20Interface&description=Voice%20interaction%20with%20audio%20visualization%20for%20Goose",
"cli": "goose session --with-extension \"uvx speech-mcp\"",
"kokoro": "pip install speech-mcp[kokoro]"
},
"logs": ["~/.speech-mcp/logs/speech-mcp.log", "~/.speech-mcp/logs/speech-mcp-server.log", "~/.speech-mcp/logs/speech-mcp-ui.log"],
"config_file": "~/.config/speech-mcp/config.json"
}