agent-notify
Local spoken notifications for Codex with TTS and always-on-top overlay.
README
<p align="center"> <img src="assets/tts-mcp-logo.svg" alt="tts-mcp" width="160"> </p>
Local spoken notifications for Codex. Each message plays through your speakers and appears in a small always-on-top overlay.
Install
Requires Python 3.11 and uv.
uv sync
uv run --no-sync agent-notify-setup
codex mcp add agent-notify -- "$(pwd)/.venv/bin/tts-mcp"
Restart Codex, then run /mcp to check that agent-notify is connected. The
setup command downloads and loads the voice model, then opens a real test
notification. Its generated audio is cached for later runs.
Upgrading from the earlier tts.speak tool:
codex mcp remove tts
codex mcp add agent-notify -- "$(pwd)/.venv/bin/tts-mcp"
Turn TTS on or off
Use the TTS ON / TTS OFF button in any notification window. Your choice is saved and applies to future messages; muted messages remain visible so you can turn speech back on. Turning TTS off also stops the message currently playing, and the muted window remains open for 15 seconds. A small bar at the bottom shows the remaining display time. Use the pause button beside the bar to keep a notification open, then resume the remaining countdown or close it manually.
You can also use the terminal:
uv run tts-config off
uv run tts-config on
uv run tts-config status
Try it
uv run tts-notify \
'{"type":"agent-turn-complete","last-assistant-message":"TTS is ready."}'
Test
uv run pytest
Optional settings
Set these environment variables when registering the server with
codex mcp add ... --env NAME=VALUE:
TTS_MCP_MODEL— Coqui model nameTTS_MCP_SPEAKER— speaker ID for a multi-speaker modelTTS_MCP_OUTPUT_DIR— directory for cached WAV filesTTS_MCP_OVERLAY=off— play audio without the overlay
The default model is tts_models/en/jenny/jenny. Audio continues to work when
no graphical display is available.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.