Skip to content

HakusaiTH/BotnoiVoice-MCP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Botnoi Voice MCP 🇹🇭🗣️

A Model Context Protocol (MCP) server for Text-to-Speech generation (Thai, English, and other regional languages) via the Botnoi Voice API. Designed to empower AI assistants (e.g., Claude 3.5 Sonnet, Cursor) to seamlessly synthesize speech and discover available voices dynamically.

🌟 Features

  • 🎙️ Generate Speech (generate_speech): Allows the AI to convert text immediately to audio and download it as an .mp3 file.
  • 🔍 List & Filter Voices (list_voices): Smartly search and filter through the Botnoi Voice library. Examples: search for "Thai female teen voice" or "Male news anchor voice".

🚀 Installation

You can use the server directly via npx (no installation required) or install it globally:

# Global installation
npm install -g botnoi-voice-mcp

🔑 Configuration

A Botnoi Voice API Key is required. You can register and obtain one from the Botnoi Voice Dashboard.
Set your API key as an environment variable named BOTNOI_API_KEY.

Example Configuration for Claude Desktop

Add the server to your Claude Desktop configuration file (e.g., on Windows: %APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "botnoi-voice": {
      "command": "npx",
      "args": ["-y", "botnoi-voice-mcp"],
      "env": {
        "BOTNOI_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

🛠️ Available Tools

list_voices

Discover and search the available voice models inside the Botnoi Voice library.

  • language (optional): Filter by language (e.g., 'th', 'en', 'ja').
  • gender (optional): Filter by gender (e.g., 'Female', 'Male').
  • age_style (optional): Filter by age group (e.g., 'วัยเด็ก' (Child), 'วัยรุ่น' (Teen), 'วัยผู้ใหญ่' (Adult)).

generate_speech

Convert specified text into a speech output.

  • text (required): The text to be synthesized into speech.
  • speaker (optional): The Voice ID (e.g., "1"). Defaults to a basic voice.
  • language (optional): Language code (e.g., "th").
  • speed (optional): Speech speed ranging from 0.5 to 2.0.

⚠️ Important Note for Developers

If you are a developer extending this MCP, note that list_voices currently reads directly from a static local JSON response file. If you publish this to NPM, please ensure the .json file is correctly bundled in your build output (dist/) and referenced via __dirname, or fallback to making a live HTTP fetch to ensure it works across all user environments!


📝 License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors