Skip to main content

MCP server that makes AI agents speak a brief summary of every response

Project description

mcp-speak-when-done

An MCP server that makes AI agents speak a brief summary of every response out loud.

When installed, the agent sees a speak_when_done tool with instructions to call it at the end of every response with a 1-3 sentence spoken summary.

Install

uvx mcp-speak-when-done

Claude Desktop / Claude Code

Add to your MCP configuration:

{
  "mcpServers": {
    "speak-when-done": {
      "command": "uvx",
      "args": ["mcp-speak-when-done"],
      "env": {
        "OPENAI_API_KEY": "your-api-key"
      }
    }
  }
}

Works with any OpenAI-compatible TTS API. The provider is auto-detected from your API key:

Key prefix Provider Default model Default voice
gsk_ Groq canopylabs/orpheus-v1-english troy
(other) OpenAI tts-1 alloy

Requirements

One audio player must be installed: ffplay (from ffmpeg), mplayer, or vlc.

Configuration

All settings are optional environment variables:

Variable Description Default
OPENAI_API_KEY API key (required)
SPEECH_VOICE Voice name auto-detected from key
SPEECH_SPEED Speech speed 1.0
SPEECH_MODEL TTS model auto-detected from key
SPEECH_API_URL API endpoint auto-detected from key
SPEECH_MAX_RETRIES Retry count 3
SPEECH_TIMEOUT Request timeout (s) 30

Remote Use (SSH + SSE)

If you run Claude on a remote server but want audio on your local machine:

1. On your local machine (has speakers + API key):

OPENAI_API_KEY="your-key" mcp-speak-when-done --transport sse

This starts an SSE server on port 8000 (override with FASTMCP_PORT).

2. SSH tunnel from the remote server to your local machine:

ssh -R 8000:localhost:8000 remote-server

3. On the remote server, configure Claude with proxy mode:

{
  "mcpServers": {
    "speak-when-done": {
      "command": "uvx",
      "args": ["mcp-speak-when-done"],
      "env": {
        "SPEECH_PROXY_URL": "http://localhost:8000/sse"
      }
    }
  }
}

No API key needed on the remote side. If your local machine is off, the tool silently returns success — Claude keeps working normally.

Variable Description Default
SPEECH_PROXY_URL SSE server URL — (unset = direct mode)
SPEECH_PROXY_TIMEOUT Proxy timeout (s) 10

License

GPL-3.0-or-later

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_speak_when_done-1.0.0.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_speak_when_done-1.0.0-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file mcp_speak_when_done-1.0.0.tar.gz.

File metadata

  • Download URL: mcp_speak_when_done-1.0.0.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.17

File hashes

Hashes for mcp_speak_when_done-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c59c7f9c85c0d13b7a9f578d80d443c2d9178225352bc4ee777b7feacc85f0a6
MD5 eef89ac74f8a038b7d9f21aa42b10431
BLAKE2b-256 f211d4dcde5a3e2a6192d21115d2ff943dc5d4b03d475ffd47f42e7641cdc08e

See more details on using hashes here.

File details

Details for the file mcp_speak_when_done-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_speak_when_done-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 77d902b6759b6427f4e82fc98035b77d2d88b4cd5beb5df8c697f6f0ee9e76b0
MD5 c5aeaf39943783e6eb115ad244141e91
BLAKE2b-256 6a59e15f8943283308610b09aa2477a3b20afc34a6bf24f3d75df61b450872f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page