Skip to content

A Model Context Protocol (MCP) server that provides voice status updates using OpenAI's text-to-speech API.

License

Notifications You must be signed in to change notification settings

tomekkorbak/voice-status-report-mcp-server

Repository files navigation

Voice Status Report MCP Server

Python Package PyPI version License: MIT Python 3.12

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.

Available Tools

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.

Usage

You'll need an OpenAI API key to use this server.

Claude for Desktop

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"
      }
    }
  }
}

Command Line Options

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.

Examples

# 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"

Claude for Desktop Configuration Examples

{
  "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"
      }
    }
  }
}

Example Usage

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"

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A Model Context Protocol (MCP) server that provides voice status updates using OpenAI's text-to-speech API.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages