[project]
name = "speech-mcp"
version = "1.0.10"
description = "Speech MCP Server with command-line interface and Kokoro TTS support"
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
"mcp[cli]>=1.2.0",
"SpeechRecognition>=3.10.0", # Fallback speech recognition
"numpy>=1.24.0",
"pyaudio>=0.2.13",
"pydub>=0.25.1",
"faster-whisper>=0.10.0", # Using faster-whisper instead of openai-whisper
"numba>=0.57.0", # Specify a newer version of numba that supports Python 3.10
"pyttsx3>=2.90", # Add pyttsx3 for text-to-speech
"psutil>=5.9.0", # Add psutil for process management
"kokoro>=0.8.4", # Kokoro TTS
"soundfile", # For audio file handling
"torch", # Required by Kokoro
"misaki[en]", # G2P library for English
"PyQt5>=5.15.0", # Modern UI toolkit to replace tkinter
"pydantic>=2.7.2,<3.0.0", # Explicitly specify Pydantic v2 to resolve conflict
"pip"
]
[project.optional-dependencies]
ja = [
"misaki[ja]" # Japanese support for Kokoro
]
zh = [
"misaki[zh]" # Chinese support for Kokoro
]
all = [
"speech-mcp[ja,zh]" # All optional dependencies
]
[project.scripts]
speech-mcp = "speech_mcp.__main__:main"
[build-system]
requires = ["hatchling", "wheel", "pip", "uv"]
build-backend = "hatchling.build"
[tool.hatch.build]
include = [
"src/**/*.py",
"src/**/resources/**/*",
]
[tool.uv]
no-build-isolation-package = ["kokoro"]
[tool.hatch.build.targets.wheel]
packages = ["src/speech_mcp"]
[tool.hatch.build.targets.wheel.sources]
"src" = ""