A Model Context Protocol (MCP) server that provides voice status updates using OpenAI's text-to-speech API. This allows language models to communicate with users through short voice messages: reporting on the progress of a task, or confirming that a command has been executed. It's espesially useful when working with Cursor or Claude code: you can give the agent a task, go on to do something else but keep receiving status reports on agent's progess and when it's done with its task and needs your attention.
This MCP server is meant to be batteries included: the description of the summarize
tool (prepended to system message by most MCP clients) asks the model to use this tool to report on the progress of a task.
The server exposes the following tool:
summarize(text: str)
: Converts the provided text into speech using OpenAI's TTS API and plays it to the user. This is useful for providing status updates or confirmations after code changes or commands.
You'll need an OpenAI API key to use this server.
Update your claude_desktop_config.json
(located in ~/Library/Application\ Support/Claude/claude_desktop_config.json
on macOS and %APPDATA%/Claude/claude_desktop_config.json
on Windows) to include the following:
{
"mcpServers": {
"voice-status-report": {
"command": "uvx",
"args": [
"voice-status-report-mcp-server"
],
"env": {
"OPENAI_API_KEY": "YOUR_OPENAI_API_KEY"
}
}
}
}
The server accepts the following command line options:
--ding
: Enable the ding sound that plays before each voice message. By default, the ding sound is disabled.--voice [VOICE]
: Choose the voice for speech generation. Available options:alloy
,ash
,coral
(default),echo
,fable
,onyx
,nova
,sage
,shimmer
.--speed SPEED
: Set the speech speed (0.5-4.0, where higher is faster). Default is 4.0.--instructions TEXT
: Provide custom voice instructions for the TTS model. By default, the server uses a preset instruction for a calm, friendly voice.
# Run with ding sound enabled and a different voice
voice-status-report-mcp-server --ding --voice nova
# Run with a slower speech speed
voice-status-report-mcp-server --speed 2.0
# Run with custom voice instructions
voice-status-report-mcp-server --instructions "Voice should be confident and authoritative"
{
"mcpServers": {
"voice-status-calm": {
"command": "uvx",
"args": [
"voice-status-report-mcp-server",
],
"env": {
"OPENAI_API_KEY": "YOUR_OPENAI_API_KEY"
}
},
}
}
When using non-default arguments, you can use the following configuration:
{
"mcpServers": {
"voice-status-report-mcp-server": {
"command": "uvx",
"args": [
"voice-status-report-mcp-server",
"--ding",
"--voice", "nova",
"--speed", "3.0",
"--instructions", "Voice should be confident and authoritative"
],
"env": {
"OPENAI_API_KEY": "YOUR_OPENAI_API_KEY"
}
}
}
}
Once connected, Claude can use the tool to provide audio feedback like:
- "Added a new function to handle user authentication"
- "Fixed the bug in the login form"
- "Created a new file for the API client"
- "Added OpenAI TTS documentation link"
This project is licensed under the MIT License - see the LICENSE file for details.