# fish-speech-mcp An MCP server for text-to-speech synthesis (TTS) for LLMs. ## Features * **Text-to-Speech**: Convert text to speech using FishSpeech * **Saving a Voice Reference**: Saving a Voice Reference * **MCP Integration**: Works with Dive and other MCP-compatible LLMs ## Installation not available ### With [Dive Desktop](https://github.com/OpenAgentPlatform/Dive) 1. Click "+ Add MCP Server" in Dive Desktop 2. Copy and paste this configuration: ```json { "mcpServers": { "fish-speech": { "command": "npx", "args": [ "-y", "@demon24ru/fish-speech-mcp" ] } } } ``` 3. Click "Save" to install the MCP server ## Configuration The MCP server can be configured using environment variables: * `MCP_FISH_SPEECH_SERVER_URL`: URL of the Optivus server (default: `http://localhost:5000`) ## Tool Documentation * **text_to_speech** * Convert text to speech using FishSpeech * Inputs: * `text` (string, required): Text to convert to speech * `reference_id` (string, optional): Identifier of a saved voice * **save_voice_reference** * Save a voice reference for future voice cloning * Inputs: * `reference_audio` (string, required): Path to an audio file for voice cloning * `reference_text` (string, required): Text corresponding to the audio file for voice cloning ## Technical Details ### Communication with Optivus Server The MCP server communicates with the Optivus server using Socket.IO. The communication flow is as follows: 1. The MCP server connects to the Optivus server using Socket.IO client 2. Requests are sent to the server using the `message` event 3. Responses are received from the server using the `message` event 4. The MCP server handles connection, reconnection, and error scenarios automatically ### Voice References Voice references are stored in directory from optivus. Each reference is stored in a subdirectory named with a unique ID. ## Usage Examples Ask your LLM to: ``` "Convert this text to speech: Text to convert, Reference ID" "Save a voice reference: Path to audio file, Text corresponding to the audio file" ``` ## Manual Start If needed, start the server manually: ```bash npx @demon24ru/fish-speech-mcp ``` ## Debug If needed, start the server in debug mode: ```bash npm run prepare npx @modelcontextprotocol/inspector node ./lib/index.mjs -y ``` ## Requirements * Node.js 20+ * MCP-compatible LLM service ## License MIT ## Author @demon24ru