TTS-Notify
Verified Safeby hbuddenberg
Overview
A modular Text-to-Speech notification system for macOS, offering CLI, MCP, and REST API interfaces powered by the native 'say' command.
Installation
tts-notify --mode mcpEnvironment Variables
- TTS_NOTIFY_VOICE
- TTS_NOTIFY_RATE
- TTS_NOTIFY_LANGUAGE
- TTS_NOTIFY_QUALITY
- TTS_NOTIFY_PITCH
- TTS_NOTIFY_VOLUME
- TTS_NOTIFY_ENABLED
- TTS_NOTIFY_CACHE_ENABLED
- TTS_NOTIFY_STREAMING
- TTS_NOTIFY_AUTO_SAVE
- TTS_NOTIFY_CONFIRMATION
- TTS_NOTIFY_LOG_LEVEL
- TTS_NOTIFY_MAX_CONCURRENT
- TTS_NOTIFY_TIMEOUT
- TTS_NOTIFY_CACHE_TTL
- TTS_NOTIFY_MAX_TEXT_LENGTH
- TTS_NOTIFY_OUTPUT_FORMAT
- TTS_NOTIFY_OUTPUT_DIR
- TTS_NOTIFY_SAMPLE_RATE
- TTS_NOTIFY_CHANNELS
- TTS_NOTIFY_CLI_FORMAT
- TTS_NOTIFY_API_PORT
- TTS_NOTIFY_API_HOST
- TTS_NOTIFY_MCP_TOOLS
- TTS_NOTIFY_PROFILE
- TTS_NOTIFY_DEBUG_MODE
- TTS_NOTIFY_VERBOSE
- TTS_NOTIFY_EXPERIMENTAL
Security Notes
The project uses `subprocess.run` and `asyncio.create_subprocess_exec` to invoke the native 'say' command, passing arguments as a list, which is generally safer than using `shell=True` with user input. File outputs use `TextNormalizer.sanitize_filename` to prevent path traversal. However, the FastAPI server (`api/server.py`) uses `allow_origins=["*"]` for CORS, which is a security risk in a production environment if not properly restricted. The documentation mentions this should be configured appropriately for production. No hardcoded secrets or 'eval' usage found.
Similar Servers
mcp-manager
A web GUI to easily manage and configure Model Context Protocol (MCP) servers for the Claude Desktop app on MacOS, generating terminal commands for installation and setup.
tmux-mcp
Enables AI assistants (like Claude Desktop) to interact with, control, and observe tmux terminal sessions by providing tools for session management and command execution.
mcp-tts
Provides Text-to-Speech (TTS) capabilities to MCP (Model Context Protocol) clients using various AI and system-level TTS engines.
bear-notes-mcp
This server connects Claude Desktop to Bear notes, enabling natural language querying and management of notes through a hybrid sync-safe approach.