Skip to main content
Glama
tara1012

voice-mcp

by tara1012

🎙️ 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

Related MCP server: oto

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 ❤️

Related MCP Connectors

Related MCP Servers