An open API service indexing awesome lists of open source software.

https://github.com/tomekkorbak/voice-status-report-mcp-server

A Model Context Protocol (MCP) server that provides voice status updates using OpenAI's text-to-speech API.
https://github.com/tomekkorbak/voice-status-report-mcp-server

claude-code cursor mcp mcp-server tts

Last synced: 5 months ago
JSON representation

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

Awesome Lists containing this project

README

          

# Voice Status Report MCP Server

![Python Package](https://github.com/tomekkorbak/voice-status-report-mcp-server/workflows/Python%20Package/badge.svg) [![PyPI version](https://badge.fury.io/py/voice-status-report-mcp-server.svg)](https://badge.fury.io/py/voice-status-report-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Python 3.12](https://img.shields.io/badge/python-3.12-blue.svg)](https://www.python.org/downloads/release/python-3120/) [![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/install-mcp?name=voice-status-report&config=eyJjb21tYW5kIjoidXZ4IHZvaWNlLXN0YXR1cy1yZXBvcnQtbWNwLXNlcnZlciIsImVudiI6eyJPUEVOQUlfQVBJX0tFWSI6IllPVVJfT1BFTkFJX0FQSV9LRVkifX0%3D)

A [Model Context Protocol](https://modelcontextprotocol.io/introduction) (MCP) server that provides voice status updates using [OpenAI's text-to-speech API](https://platform.openai.com/docs/guides/text-to-speech). 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:

```json
{
"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

```bash
# 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

```json
{
"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:

```json
{
"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.