Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎙️ voice-mcp

An MCP (Model Context Protocol) server for AI voice synthesis with an inline audio player. Give your AI assistant a custom cloned voice!

License

Features

  • 🎤 Custom Voice Cloning — Use MiniMax TTS API with your own cloned voice
  • 🎵 Inline Audio Player — Beautiful WeChat-style player with waveform visualization
  • 📝 Transcript Toggle — Show/hide the spoken text
  • 🌙 Dark Mode Support — Automatic theme adaptation
  • Cloudflare Workers — Fast, serverless deployment

Demo

When you call the speak tool, you get:

  • A sleek audio player with play/pause button
  • Animated waveform that follows playback progress
  • Duration display
  • Expandable transcript

Quick Start

1. Clone the repository

git clone https://github.com/garan0613/voice-mcp.git
cd voice-mcp

2. Install dependencies

npm install

3. Configure MiniMax API

You'll need a MiniMax account with voice cloning enabled.

Add your secrets to Cloudflare:

npx wrangler secret put MINIMAX_API_KEY
npx wrangler secret put VOICE_ID
npx wrangler secret put BOT_NAME  # Optional, defaults to "AI"

Current MiniMax T2A authentication uses the API key only. GroupId is no longer required.

4. Deploy

npx wrangler deploy

5. Connect to Claude.ai

  1. Go to Settings → Connectors → Add Connector
  2. Enter your Worker URL: https://your-worker.workers.dev/mcp
  3. Done! The speak tool is now available.

Configuration

Variable Required Description
MINIMAX_API_KEY Your MiniMax API key
VOICE_ID The cloned voice ID
BOT_NAME Display name (default: "AI")

API Endpoints

Endpoint Description
GET /mcp MCP server (SSE protocol)
GET /speak?text=Hello Direct audio file
GET /status Health check

How to Clone a Voice

  1. Go to MiniMax Console
  2. Navigate to Voice Cloning
  3. Upload 10-30 seconds of clear audio
  4. Wait for processing (usually a few minutes)
  5. Copy the Voice ID

Custom Deployment

Using a Custom Domain

  1. Add your domain to Cloudflare
  2. Create a DNS record pointing to your Worker
  3. Update wrangler.jsonc:
{
  "routes": [
    { "pattern": "voice.yourdomain.com/*", "zone_name": "yourdomain.com" }
  ]
}

Self-Hosting (Node.js)

The core MCP logic can be adapted for other platforms. You'll need to:

  1. Replace createMcpHandler with a standard HTTP/SSE handler
  2. Use @modelcontextprotocol/sdk directly
  3. Handle the SSE transport yourself

Tech Stack

License

MIT © 2026

Credits

Inspired by the need to give AI assistants a voice. Built with ❤️

About

An MCP (Model Context Protocol) server for AI voice synthesis with an inline audio player. Give your AI assistant a custom cloned voice!

Resources

Stars

42 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages