✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

MS-Lucidia-Voice-Gateway-MCP

A Model Context Protocol (MCP) server that provides text-to-speech and speech-to-text capabilities using Windows’ built-in speech services. This server leverages the native Windows Speech API (SAPI) through PowerShell commands, eliminating the need for external APIs or services.

Features

  • Text-to-Speech (TTS) using Windows SAPI voices
  • Speech-to-Text (STT) using Windows Speech Recognition
  • Simple web interface for testing
  • No external API dependencies
  • Uses native Windows capabilities

Prerequisites

  • Windows 10/11 with Speech Recognition enabled
  • Node.js 16+
  • PowerShell

Installation

  1. Clone the repository:
git clone https://github.com/ExpressionsBot/MS-Lucidia-Voice-Gateway-MCP.git
cd MS-Lucidia-Voice-Gateway-MCP
  1. Install dependencies:
npm install
  1. Build the project:
npm run build

Usage

Testing Interface

  1. Start the test server:
npm run test
  1. Open http://localhost:3000 in your browser
  2. Use the web interface to test TTS and STT capabilities

Available Tools

text_to_speech

Converts text to speech using Windows SAPI.

Parameters:

  • text (required): The text to convert to speech
  • voice (optional): The voice to use (e.g., “Microsoft David Desktop”)
  • speed (optional): Speech rate from 0.5 to 2.0 (default: 1.0)

Example:

fetch('http://localhost:3000/tts', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    text: "Hello, this is a test",
    voice: "Microsoft David Desktop",
    speed: 1.0
  })
});

speech_to_text

Records audio and converts it to text using Windows Speech Recognition.

Parameters:

  • duration (optional): Recording duration in seconds (default: 5, max: 60)

Example:

fetch('http://localhost:3000/stt', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    duration: 5
  })
}).then(response => response.json())
  .then(data => console.log(data.text));

Troubleshooting

  1. Make sure Windows Speech Recognition is enabled:

    • Open Windows Settings
    • Go to Time & Language > Speech
    • Enable Speech Recognition
  2. Check available voices:

    • Open PowerShell and run:
    Add-Type -AssemblyName System.Speech
    (New-Object System.Speech.Synthesis.SpeechSynthesizer).GetInstalledVoices().VoiceInfo.Name
    
  3. Test speech recognition:

    • Open Speech Recognition in Windows Settings
    • Run through the setup wizard if not already done
    • Test that Windows can recognize your voice

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a new Pull Request

License

MIT

Featured Templates

View More
Verified Icon
AI Assistants
Speech to Text
137 1882
AI Characters
Sarcastic AI Chat Bot
129 1713
AI Agents
AI Video Generator
252 2007 5.0
AI Characters
Your Speaking Avatar
169 928
AI Assistants
Image to text with Claude 3
152 1366

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.