MCP Voice Notification
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Voice Notificationnotify me when the build is complete"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Voice Notification
An MCP server that provides voice notifications using the Grok Voice API. Perfect for alerting you when Claude Code has finished a task.
Features
Text-to-speech voice notifications via Grok's realtime voice API
Works with Claude Code and other MCP-compatible clients
Two server modes: HTTP (streamable) or stdio (local)
Cross-platform audio playback (macOS, Linux)
Related MCP server: Claude Code Notification Hooks
Prerequisites
uv (Python package manager)
A Grok API key from x.ai
Audio playback capability (
afplayon macOS,aplay/paplayon Linux)
Installation
Clone the repository:
git clone https://github.com/orishu/mcp-voice-notif.git cd mcp-voice-notifInstall dependencies with uv:
uv syncSet up your environment:
cp env.sample .env # Edit .env and add your GROK_API_KEY
Usage
Option 1: Stdio Server (Recommended for local use)
The stdio server communicates via standard input/output, which is the simplest setup for local MCP clients.
Using the claude mcp add command (Recommended)
The easiest way to add the server is using the Claude Code CLI:
claude mcp add voice-notification -e GROK_API_KEY=your_api_key_here -- \
uv run --directory /path/to/mcp-voice-notif python stdio_server.pyReplace /path/to/mcp-voice-notif with the actual path to this project.
Manual configuration
Alternatively, add to your Claude Code MCP configuration (~/.claude/claude_code_config.json):
{
"mcpServers": {
"voice-notification": {
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-voice-notif", "python", "stdio_server.py"],
"env": {
"GROK_API_KEY": "your_api_key_here"
}
}
}
}Option 2: HTTP Server (For remote/shared use)
The HTTP server runs as a persistent service, useful for remote access or shared setups.
Start the server:
uv run python server.pyThe server will start on
http://127.0.0.1:8000.Add to your Claude Code MCP configuration:
{ "mcpServers": { "voice-notification": { "type": "streamable-http", "url": "http://127.0.0.1:8000/mcp" } } }
Tool Reference
voice_notification
Generates and plays a voice notification.
Parameters:
text(string, optional): The text to speak. Default: "Done!"
Example responses:
"Voice notification played: 'Build complete!'"
"No audio data received from API"
Configuring Claude Code to Use Voice Notifications
To have Claude Code automatically notify you when it's ready for your next prompt, add the following to your project's CLAUDE.md file (or global ~/.claude/CLAUDE.md):
When you complete a task, use the voice_notification tool to alert the user.
Keep the message short and contextual (e.g., "Build done!", "Tests passed!", "Ready!").This instructs the agent to call the voice notification with a brief, task-relevant message whenever it finishes working.
Testing
To test the voice API directly:
uv run python test_voice_api.pyLicense
MIT License - see LICENSE for details.
Available Tools
1 toolvoice_notificationC
Generate a voice notification using Grok Voice API and play it.
Args: text: The text to convert to speech (default: "Done!")
Returns: str: Confirmation message
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Done! |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the action ('generate and play') but fails to disclose critical behavioral traits like authentication requirements, rate limits, side effects (e.g., audio playback), or error handling. This is a significant gap for a tool that interacts with an external API and produces audio output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, Args, Returns) and uses minimal sentences. It avoids redundancy, though the 'Args' and 'Returns' labels are slightly verbose; overall, it's efficient and front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (API interaction, audio output) and no annotations, the description is incomplete—it lacks behavioral details and usage context. However, the presence of an output schema (explaining the return value) mitigates some gaps, making it minimally adequate but with clear room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes an 'Args' section that explains the 'text' parameter as 'The text to convert to speech', adding meaning beyond the input schema (which has 0% description coverage and only defines type and default). However, it doesn't elaborate on constraints (e.g., length, language) or provide examples, so it partially compensates but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Generate a voice notification using Grok Voice API and play it.' This specifies the verb ('generate and play'), resource ('voice notification'), and technology ('Grok Voice API'). However, with no sibling tools, differentiation is not applicable, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, prerequisites, or context. It lacks any usage instructions, such as when voice notifications are appropriate or what scenarios it's designed for, leaving the agent without operational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With only one tool, there is no possibility of confusion or overlap between tools. The tool's purpose is clearly defined and distinct by default.
The single tool name 'voice_notification' follows a clear verb_noun pattern. Since there is only one tool, consistency is inherently perfect with no deviations to assess.
One tool is too few for a server named 'MCP Voice Notification', which suggests broader voice-related capabilities. A single tool for generating and playing notifications feels thin and limited in scope, lacking operations like listing, managing, or customizing notifications.
The server's domain appears to be voice notifications, but the tool surface is severely incomplete. It only covers generating and playing a single notification, with no support for operations like listing notifications, updating settings, handling errors, or managing multiple notifications, which are typical for such a domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Calls your phone when an AI task finishes or is blocked — hear it, say what's next.
AI voice generation: text-to-speech and voice cloning from any MCP client.
Let your AI agent notify you by email, Slack, Discord, or webhook. One tool: send_notification.
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Related MCP Servers
- AlicenseBqualityDmaintenancePlays Spotify tracks or system sounds as notifications when Claude Code completes tasks, with desktop notifications and cross-platform support for macOS, Linux, and Windows.8151MIT
- AlicenseAqualityDmaintenanceProvides automatic desktop notifications and contextual sounds for Claude Code operations across macOS, Windows, and Linux. It enhances the development experience by intelligently mapping specific event types to native system alerts and sounds.4113MIT
- AlicenseNot gradedqualityDmaintenanceA multi-provider voice notification MCP server that enables Claude Code to provide auditory alerts for task completions, confirmation requests, and errors. It supports various TTS engines including VOICEVOX, Google Cloud TTS, and OpenAI for customizable voice feedback.31MIT
- AlicenseNot gradedqualityDmaintenanceSends native Windows desktop notifications with repeating sound alerts for Claude Code, supporting states like finished, needs_help, and pending_review.74MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/orishu/mcp-voice-notif'
If you have feedback or need assistance with the MCP directory API, please join our Discord server