Mobvoi TTS MCP Server
Model Context Protocol server that enables interaction with Mobvoi's Text to Speech and Voice Clone APIs, allowing MCP clients like Cursor, Claude Desktop, and Cline to generate speech and clone voices.
Tools
async_voice_clone_local
Async version of voice_clone. Clone a voice from a given local audio file. This tool will return a speaker id which can be used in text_to_speech tool. ⚠️ COST WARNING: This tool makes an API call to Mobvoi TTS service which may incur costs. Only use when explicitly requested by the user. Args: audio_file_path (str): The path of the audio file to clone.
async_text_to_speech
Async version of text_to_speech. Convert text to speech with a given speaker and save the output audio file to a given directory. Directory is optional, if not provided, the output file will be saved to $HOME/Desktop. You can choose speaker by providing speaker parameter. If speaker is not provided, the default speaker(xiaoyi_meet) will be used. ⚠️ COST WARNING: This tool makes an API call to Mobvoi TTS service which may incur costs. Only use when explicitly requested by the user. Args: text (str): The text to convert to speech. speaker (str): Determine which speaker's voice to be used to synthesize the audio. audio_type (str): Determine the format of the synthesized audio. Value can choose form [pcm/mp3/speex-wb-10/wav]. speed (float): Control the speed of the synthesized audio. Values range from 0.5 to 2.0, with 1.0 being the default speed. Lower values create slower, more deliberate speech while higher values produce faster-paced speech. Extreme values can impact the quality of the generated speech. Range is 0.7 to 1.2. rate(int): Control the sampling rate of the synthesized audio. Value can choose from [8000/16000/24000], with 24000 being the deault rate. volume(float): Control the volume of the synthesized audio. Values range from 0.1 to 1.0, with 1.0 being the default volume. pitch(float): Control the pitch of the synthesized audio. Values range from -10 to 10, with 0 being the default pitch. If the parameter is less than 0, the pitch will become lower; otherwise, it will be higher. streaming(bool): Whether to output in a streaming manner. The default value is false. output_directory (str): Directory where files should be saved. Defaults to $HOME/Desktop if not provided. Returns: Text content with the path to the output file and name of the speaker used.
async_voice_clone_url
Async version of voice_clone. Clone a voice from a given url audio file. This tool will return a speaker id which can be used in text_to_speech tool. ⚠️ COST WARNING: This tool makes an API call to Mobvoi TTS service which may incur costs. Only use when explicitly requested by the user. Args: wav_uri (str): The url of the audio file to clone.
play_audio
Play an audio file. Supports WAV and MP3 formats.
README

<p align="center"> Official Mobvoi TTS <a href="https://github.com/modelcontextprotocol">Model Context Protocol (MCP)</a> server that enables interaction with Mobvoi powerful Text to Speech, Voice Clone APIs. This server allows MCP clients like <a href="https://www.cursor.so">Cursor</a>, <a href="https://www.anthropic.com/claude">Claude Desktop</a>, <a href="https://cline.bot/">Cline</a> </a>, <a href="https://windsurf.com/editor">Windsurf</a> and other Client to generate speech, clone voices, and more. The mobvoi-tts-mcp server is built based on Python. Our PyPI package is published at Pypi, you can click on <a href="https://pypi.org/project/mobvoi-tts-mcp/">Pypi</a> to view the latest version. </p>
Prerequisite
- python 3.10+;
- Get your APP_KEY and APP_SECRET from Mobvoi Sequence Monkey open platform. New users can claim a free quota.
- Install
uv(Python package manager), install withpip install uvor see theuvrepo for additional install methods.
What can Mobvoi TTS MCP do?
Mobvoi TTS MCP currently supports the following functions:
- Voice Clone: Clone the voice according to the URL audio file link or the local audio file provided by you, and return the speaker ID. You can use this speaker ID to generate speech.
- Speech Synthesis: You can specify the speaker ID to generate speech from the specified text content. In addition, you can also adjust speech attributes such as speech speed and volume. For detailed information, please refer to the documentation of our Mobvoi Sequence Monkey open platform TTS part.
- Voice broadcasting: Play the specified audio file.
Quickstart with Cursor
Go to Cursor -> Cursor Settings -> MCP, click Add new global MCP server, and mcp.json will open, paste the following config content:
"MobvoiTTS": {
"command": "uvx",
"args": [
"mobvoi-tts-mcp"
],
"env": {
"APP_KEY": "<insert-your-APP_KEY-here>",
"APP_SECRET": "<insert-your-APP_SECRET-here>"
},
},
Quickstart with Claude Desktop
Go to Claude Desktop -> Settings -> Developer, click Edit Config and open claude_desktop_config.json, paste the following config content:
"MobvoiTTS": {
"command": "uvx",
"args": [
"mobvoi-tts-mcp"
],
"env": {
"APP_KEY": "<insert-your-APP_KEY-here>",
"APP_SECRET": "<insert-your-APP_SECRET-here>"
},
},
Quickstart with Cline
Install Cline extension on VSCode EXTENSIONS, and go to Cline -> MCP Servers -> Installed, click Config MCP Servers and cline_mcp_settings.json will be opened, paste the following config content:
"MobvoiTTS": {
"command": "uvx",
"args": [
"mobvoi-tts-mcp"
],
"env": {
"APP_KEY": "<insert-your-APP_KEY-here>",
"APP_SECRET": "<insert-your-APP_SECRET-here>"
},
"transportType": "stdio"
},
For MacOS and Linux systems, you can refer to the above for configuration. We haven't tested the Windows system yet.
Source Code Test
If you want to conduct tests based on the source code or perform secondary development based on this repository, you can configure it in the following way:
"MobvoiTTSLocal": {
"disabled": false,
"timeout": 60,
"command": "uv",
"args": [
"--directory",
"<path-to-mobvoi_tts-mcp>/mobvoi_tts_mcp",
"run",
"server.py"
],
"env": {
"APP_KEY": "<insert-your-APP_KEY-here>",
"APP_SECRET": "<insert-your-APP_SECRET-here>"
},
"transportType": "stdio"
},
Take Cline as an example, and the configuration of other clients is similar.
Example usage
- Try cloning a voice from your audio file(local or remote), enter the following content in the Cursor agent mode: "https://tc-nj-backend-pub-cdn.mobvoi.com/subtitles/wav/9e5d439e0e9142966037fb80fe9e0d8e.wav, clone this voice"
- Specify the speaker, synthesize speech from the text and play it aloud. Prompt the model like the following: "Use the sound cloned just now to broadcast: 'Welcome to experience Mobvoi TTS MCP."
- A demonstration video:

Troubleshooting
spawn uvx ENOENT
If you encounter the error "MCP Mobvoi TTS: spawn uvx ENOENT", confirm its absolute path by running this command in your terminal:
which uvx
Once you obtain the absolute path (e.g., /usr/local/bin/uvx), update your configuration to use that path (e.g., "command": "/usr/local/bin/uvx"). This ensures that the correct executable is referenced.
MCP error -32001: Request timed out
If you encounter this error, this indicates that there is a problem with your network. If you are in mainland China, we strongly recommend that you configure extra pypi sources in the following way:
"MobvoiTTS": {
...
"args": [
"--index",
"https://pypi.tuna.tsinghua.edu.cn/simple",
"mobvoi-tts-mcp"
],
...
},
Note that the extra pypi source needs to be configured at the very front of the args.
Unable to synchronize the latest PyPI package
If you encounter this situation, it may be caused by the following reasons: 1) Network problems; 2) Cache problems; 3) The specified mirror source has not synchronized the mobvoi-tts-mcp package.
If you are using a mirror source, you should first check whether the mobvoi-tts-mcp package is synchronized on the mirror source you are using, in the following way:
pip index versions --index-url https://pypi.tuna.tsinghua.edu.cn/simple mobvoi-tts-mcp
If you can see that the LATEST version number is consistent with that on PyPI, you can use the mirror source to update the latest mobvoi-tts-mcp package. Otherwise, you can only use https://pypi.org/simple for the update. Usually, after a new package is released on PyPI, there will be a delay of dozens of minutes for the mirror source to synchronize.
At the same time, you can refer to the following configuration to update and clear the cache.
"MobvoiTTS": {
...
"args": [
"--upgrade",
"--no-cache-dir",
"--index",
"https://pypi.tuna.tsinghua.edu.cn/simple",
"mobvoi-tts-mcp"
],
...
},
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.