Token导航 LogoToken导航TokenDH.com
VOICEVOX TTS MCP logo
音视频stdio官方级别未说明来源级核验

VOICEVOX TTS MCP

MCP Server

@kajidog/mcp-tts-voicevox

一个使用VOICEVOX引擎的文本转语音MCP服务器,支持多角色对话、客户端播放和跨平台使用。

工具数

6

提示词数

0

GitHub Stars

15

资源数

0
语音音频TypeScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

kajidog

提供方

kajidog

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @kajidog/mcp-tts-voicevox --url http://192.168.1.100:50021 --speaker 3 --speed 1.2

详细介绍

VOICEVOX TTS MCP

英语 | 日本语

使用VOICEVOX的文本转语音MCP服务器

🎮 尝试浏览器演示 --直接在浏览器中测试VoicevoxClient

你能做什么

  • 让你的AI助手说话 --来自Claude Desktop等MCP客户端的文本转语音
  • UI音频播放器(MCP应用程序) --使用交互式播放器(ChatGPT/Claude Desktop/Claude Web等)在聊天中直接播放音频
  • 多角色对话 --在一次通话中按段切换扬声器
  • 流畅播放 --队列管理、即时播放、预取、流式传输
  • 跨平台 --适用于Windows、macOS、Linux(包括WSL)

UI音频播放器(MCP应用程序)

UI Audio Player

voicevox_speak_player 工具用途 MCP应用程序 以在聊天中直接呈现交互式音频播放器。与标准不同 voicevox_speak 在服务器上播放音频的工具, 音频在客户端播放(在浏览器/应用程序中) --服务器上不需要音频设备。

特性

  • 客户端播放 --音频在Claude Desktop的聊天中播放,而不是在服务器上播放。甚至可以通过远程连接工作。
  • 播放/暂停控制 --对话中嵌入了完整的播放控制
  • 多人对话 --通过曲目导航在一个播放器中顺序播放多个扬声器
  • 扬声器切换 --直接从播放器UI更改任何片段的声音
  • 片段编辑 --调整每个片段的速度、音量、语调、停顿时间和前后静音
  • 重音短语编辑 --直接在UI中编辑重音位置和莫拉音高
  • 添加/删除/重新排序分段 --拖放轨迹重新排序;内联添加新段
  • WAV出口 --将所有曲目保存为编号的WAV文件,并自动打开输出文件夹
  • 用户词典管理器 --通过预览播放添加、编辑和删除VOICEVOX用户词典单词
  • 跨会话状态恢复 --玩家状态在服务器上持久化;重新打开聊天会恢复以前的曲目

按环境导出行为:

  • Save and open 始终导出WAV文件。如果不支持打开文件资源管理器,导出仍然成功,保存路径显示在UI中。
  • Choose output folder 在Windows/macOS上使用本机目录选择器。在不受支持的环境中,此操作将回退到默认导出目录。
多扬声器播放曲目列表片段编辑
Multi-speaker playerTrack listSegment editing
扬声器选择词典管理器WAV导出
Speaker selectionDictionary managerWAV export

支持的客户

客户端连接备注
ChatGPTHTTP(远程)需要 VOICEVOX_PLAYER_DOMAIN
克劳德桌面版stdio(本地)开箱即用
克劳德桌面版HTTP(通过mcp-remote)不设置 VOICEVOX_PLAYER_DOMAIN
注: speak_player 需要支持MCP应用程序的主机。在不支持MCP Apps的主机中,该工具不可用 speak (服务器端播放)可以代替。

玩家MCP工具

工具说明
speak_player创建新的玩家会话并显示UI。退货 viewUUID.
resynthesize_player更新现有玩家的所有分段(新 viewUUID 每次通话)。
get_player_state读取当前玩家状态(分页)以进行AI调整。
open_dictionary_ui打开用户词典管理器UI。

快速开始

需求

  • Node.js 18.0.0或更高版本(或 包子) 或Docker
  • VOICEVOX发动机 (必须正在运行;包含在Docker Compose中)
  • ffplay(可选,推荐-Docker不需要)

安装FFplay

ffplay是FFmpeg附带的轻量级播放器,支持从stdin播放。如果可用,它会自动启用低延迟流媒体播放。

💡 FFplay是可选的。 如果没有它,播放将退回到基于临时文件的播放(Windows:PowerShell、macOS:afplay、Linux:aplay等)。
  • 易于设置:每个操作系统安装一个衬垫(见以下步骤)
  • 必修的: ffplay 必须在PATH中(安装后重新启动终端/应用程序)

FFplay Installation and PATH Setup

安装示例:

  • Windows(其中任何一个)

- 翼: winget install --id=Gyan.FFmpeg -e - 巧克力: choco install ffmpeg - 勺: scoop install ffmpeg - 官方版本:从下载https://www.gyan.dev/ffmpeg/builds/或https://github.com/BtbN/FFmpeg-Builds并添加 bin 文件夹到PATH

  • macOS

- 自制: brew install ffmpeg

  • Linux

- Debian/Ubuntu: sudo apt-get update && sudo apt-get install -y ffmpeg - Fedora: sudo dnf install -y ffmpeg - 拱门: sudo pacman -S ffmpeg

路径设置:

  • Windows:添加 ...\ffmpeg\bin 到环境变量,然后重新启动PowerShell/终端和编辑器(Claude/VS代码等)

- 验证: powershell -c "$env:Path" 应包含ffmpeg路径

  • macOS/Linux:通常自动检测。与核对 echo $PATH 如果需要,重新启动shell。
  • MCP客户端(克劳德桌面/代码):重新启动应用程序以重新加载PATH。

验证:

ffplay -version

如果显示版本信息,则安装完成。CLI/MCP将自动检测ffplay并使用stdin流媒体播放。

3个步骤开始

1.启动VOICEVOX发动机

2.添加到Claude Desktop配置文件

配置文件位置:

  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "tts-mcp": {
      "command": "npx",
      "args": ["-y", "@kajidog/mcp-tts-voicevox"]
    }
  }
}
💡 如果使用Bun,只需更换 npxbunx: ``json "command": "bunx", "args": ["@kajidog/mcp-tts-voicevox"] ``

3.重新启动克劳德桌面

就是这样!让克劳德“打个招呼”,它就会说话!

Docker快速入门

您可以使用Docker Compose通过单个命令运行MCP服务器和VOICEVOX引擎。无需安装Node.js或VOICEVOX。

1.启动容器

docker compose up -d

这将启动VOICEVOX引擎和MCP服务器(端口3000上的HTTP模式)。

2.添加到Claude Desktop配置文件(使用mcp-remote)

{
  "mcpServers": {
    "tts-mcp": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "http://localhost:3000/mcp"]
    }
  }
}

3.重新启动克劳德桌面

限制(Docker): Docker容器没有音频设备,因此 voicevox_speak 默认情况下,工具(服务器端播放)处于禁用状态。使用 voicevox_speak_player 相反,它在客户端(在Claude Desktop中)播放音频,并且在服务器上没有任何音频设备的情况下工作。看 UI音频播放器 了解详情。

______________________________________________________________________

MCP工具

voicevox_speak --文本转语音

主要功能可从Claude调用。

参数说明默认值
text要发言的文本(用换行符分隔的多段)必填
speaker扬声器ID1
speedScale播放速度1.0
immediate立即播放(清除队列)true
waitForEnd等待播放完成false

示例:

// Simple text
{ "text": "Hello" }

// Specify speaker
{ "text": "Hello", "speaker": 3 }

// Different speakers per segment
{ "text": "1:Hello\n3:Nice weather today" }

// Wait for completion (synchronous processing)
{ "text": "Wait for this to finish before continuing", "waitForEnd": true }

Other Tools

工具说明
voicevox_speak_player使用UI音频播放器通话(禁用 --disable-tools)
voicevox_ping检查VOICEVOX发动机连接
voicevox_get_speakers获取可用演讲者列表
voicevox_stop_speaker停止播放并清空队列
voicevox_synthesize_file生成音频文件

______________________________________________________________________

配置

Environment Variables

VOICEVOX设置

变量描述默认值
VOICEVOX_URL引擎URLhttp://localhost:50021
VOICEVOX_DEFAULT_SPEAKER默认扬声器ID1
VOICEVOX_DEFAULT_SPEED_SCALE播放速度1.0

回放选项

变量描述默认值
VOICEVOX_USE_STREAMING流媒体播放(需要 ffplay)false
VOICEVOX_DEFAULT_IMMEDIATE立即播放true
VOICEVOX_DEFAULT_WAIT_FOR_START等待播放开始false
VOICEVOX_DEFAULT_WAIT_FOR_END等待播放结束false

限制设置

限制AI指定某些选项。

变量描述
VOICEVOX_RESTRICT_IMMEDIATE限制 immediate 选项
VOICEVOX_RESTRICT_WAIT_FOR_START限制 waitForStart 选项
VOICEVOX_RESTRICT_WAIT_FOR_END限制 waitForEnd 选项

禁用工具

# Disable individual tools
export VOICEVOX_DISABLED_TOOLS=speak_player,synthesize_file

# Disable a built-in group of tools
export VOICEVOX_DISABLED_GROUPS=player

# Combine groups and individual tools
export VOICEVOX_DISABLED_GROUPS=dictionary
export VOICEVOX_DISABLED_TOOLS=synthesize_file

内置群组 VOICEVOX_DISABLED_GROUPS / --disable-groups:

工具
playerspeak_player, resynthesize_player, get_player_state, open_dictionary_ui
dictionaryget_accent_phrases, get_user_dictionary, add_user_dictionary_word, update_user_dictionary_word, delete_user_dictionary_word, add_user_dictionary_words, update_user_dictionary_words
filesynthesize_file
appsspeak_player, resynthesize_player, open_dictionary_ui (MCP应用程序UI工具)

UI播放器设置

变量描述默认值
VOICEVOX_PLAYER_DOMAINUI播放器的小部件域(ChatGPT需要,例如。 https://your-app.onrender.com)_(未设置)_
VOICEVOX_AUTO_PLAY在UI播放器中自动播放音频true
VOICEVOX_PLAYER_EXPORT_ENABLED启用从UI播放器导出(下载)曲目(false 禁用)true
VOICEVOX_PLAYER_EXPORT_DIR导出曲目的默认输出目录(在文件夹选择器不可用时也用作回退)./voicevox-player-exports
VOICEVOX_PLAYER_CACHE_DIR播放器缓存文件目录(*.txt)以及默认玩家状态文件./.voicevox-player-cache
VOICEVOX_PLAYER_AUDIO_CACHE_ENABLED在磁盘上启用持久音频缓存(false 禁用磁盘缓存写入/读取)true
VOICEVOX_PLAYER_AUDIO_CACHE_TTL_DAYS音频缓存保留时间(天)(0:禁用磁盘缓存, -1:无TTL清理)30
VOICEVOX_PLAYER_AUDIO_CACHE_MAX_MB音频缓存大小上限(MB)(0:禁用磁盘缓存, -1:无限制)512
VOICEVOX_PLAYER_STATE_FILE持久化玩家状态JSON的路径/player-state.json

服务器设置

变量描述默认值
MCP_HTTP_MODE启用HTTP模式false
MCP_HTTP_PORTHTTP端口3000
MCP_HTTP_HOSTHTTP主机0.0.0.0
MCP_ALLOWED_HOSTS允许的主机(逗号分隔)localhost,127.0.0.1,[::1]
MCP_ALLOWED_ORIGINS允许的来源(逗号分隔)http://localhost,http://127.0.0.1,...
MCP_API_KEY的必需API密钥 /mcp (通过发送 X-API-KeyAuthorization: Bearer)_(未设置)_

Command Line Arguments

命令行参数优先于环境变量。

# Basic settings
npx @kajidog/mcp-tts-voicevox --url http://192.168.1.100:50021 --speaker 3 --speed 1.2

# HTTP mode
npx @kajidog/mcp-tts-voicevox --http --port 8080

# With restrictions
npx @kajidog/mcp-tts-voicevox --restrict-immediate --restrict-wait-for-end

# Disable individual tools
npx @kajidog/mcp-tts-voicevox --disable-tools speak_player,synthesize_file

# Disable a tool group
npx @kajidog/mcp-tts-voicevox --disable-groups player
参数描述
--help, -h显示帮助
--version, -v显示版本
--init生成 .voicevoxrc.json 使用默认设置
`--config
`配置文件的路径
--url VOICEVOX引擎URL
--speaker 默认扬声器ID
--speed 播放速度
--use-streaming / --no-use-streaming流媒体播放
--immediate / --no-immediate立即播放
--wait-for-start / --no-wait-for-start等待启动
--wait-for-end / --no-wait-for-end等待结束
--restrict-immediate立即限制
--restrict-wait-for-start限制waitForStart
--restrict-wait-for-end限制waitForEnd
--disable-tools 禁用工具(逗号分隔的工具名称)
--disable-groups 禁用工具组: player, dictionary, file, apps
--auto-play / --no-auto-play在UI播放器中自动播放
--player-export / --no-player-export在UI播放器中启用/禁用曲目导出(下载)
--player-export-dir 导出曲目的默认输出目录
--player-cache-dir 播放器缓存目录
`--player-state-file
`持久玩家状态文件路径
--player-audio-cache / --no-player-audio-cache为播放器启用/禁用磁盘音频缓存
--player-audio-cache-ttl-days 音频缓存保留天数(0:禁用, -1:无TTL清理)
--player-audio-cache-max-mb 音频缓存大小上限(MB)(0:禁用, -1:无限制)
--httpHTTP模式
--port HTTP端口
--host HTTP主机
--allowed-hosts 允许的主机(逗号分隔)
--allowed-origins 允许的来源(逗号分隔)
--api-key 的必需API密钥 /mcp

Config File (.voicevoxrc.json)

您可以使用JSON配置文件来代替(或补充)环境变量和CLI参数。当您有许多设置要配置时,这很有用。

优先级顺序: CLI参数>环境变量>配置文件>默认值

生成配置文件

npx @kajidog/mcp-tts-voicevox --init

这创造了 .voicevoxrc.json 在当前目录中使用所有默认设置。根据需要进行编辑。

使用自定义配置文件路径

npx @kajidog/mcp-tts-voicevox --config ./my-config.json

或者通过环境变量:

VOICEVOX_CONFIG=./my-config.json npx @kajidog/mcp-tts-voicevox

示例 .voicevoxrc.json

{
  "url": "http://192.168.1.50:50021",
  "speaker": 3,
  "speed": 1.2,
  "http": true,
  "port": 8080,
  "disable-tools": ["synthesize_file"],
  "disable-groups": ["dictionary"]
}

钥匙可以写在烤肉串里(use-streaming),案例(useStreaming),或内部密钥名称(defaultSpeaker).如果 .voicevoxrc.json 存在于当前目录中,它将自动加载。

HTTP Mode

对于远程连接:

启动服务器:

# Linux/macOS
MCP_HTTP_MODE=true MCP_HTTP_PORT=3000 npx @kajidog/mcp-tts-voicevox

# Windows PowerShell
$env:MCP_HTTP_MODE='true'; $env:MCP_HTTP_PORT='3000'; npx @kajidog/mcp-tts-voicevox

Claude桌面配置(使用mcp-remote):

{
  "mcpServers": {
    "tts-mcp-proxy": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "http://localhost:3000/mcp"]
    }
  }
}

每个项目扬声器设置

使用Claude Code,您可以在中使用自定义标题为每个项目配置不同的默认扬声器 .mcp.json:

标题描述
X-Voicevox-Speaker此项目的默认扬声器ID
X-API-KeyAPI密钥 MCP_API_KEY 已配置

示例 .mcp.json:

{
  "mcpServers": {
    "tts": {
      "type": "http",
      "url": "http://localhost:3000/mcp",
      "headers": {
        "X-Voicevox-Speaker": "113",
        "X-API-Key": "your-api-key"
      }
    }
  }
}

这允许每个项目自动使用不同的语音字符。

优先级顺序:

  1. 明确的 speaker 工具调用中的参数(最高)
  2. 项目默认值来自 X-Voicevox-Speaker 头球
  3. 全球 VOICEVOX_DEFAULT_SPEAKER 设置(最低)

WSL to Windows Host Connection

从WSL连接到在Windows上运行的MCP服务器:

1.从WSL获取Windows主机IP

# Method 1: From default gateway
ip route show | grep -oP 'default via \K[\d.]+'
# Usually in the format 172.x.x.1

# Method 2: From /etc/resolv.conf (WSL2)
cat /etc/resolv.conf | grep nameserver | awk '{print $2}'

2.在Windows上启动服务器

将WSL网关IP添加到 MCP_ALLOWED_HOSTS 要允许从WSL访问:

$env:MCP_HTTP_MODE='true'
$env:MCP_ALLOWED_HOSTS='localhost,127.0.0.1,172.29.176.1'
npx @kajidog/mcp-tts-voicevox

或者使用CLI参数:

npx @kajidog/mcp-tts-voicevox --http --allowed-hosts "localhost,127.0.0.1,172.29.176.1"

3.WSL配置(.mcp.json)

{
  "mcpServers": {
    "tts": {
      "type": "http",
      "url": "http://172.29.176.1:3000/mcp"
    }
  }
}
⚠️ 在WSL内, localhost 指WSL本身。使用WSL网关IP访问Windows主机。

Using with ChatGPT

要与ChatGPT一起使用,请以HTTP模式将MCP服务器部署到云中,并访问VOICEVOX引擎。

1.部署到云端

使用Docker部署渲染、铁路等。(包括Dockerfile)。

2.设置VOICEVOX引擎

在本地运行VOICEVOX引擎,并通过ngrok公开它,或者将其与MCP服务器一起部署。

3.配置环境变量

变量示例描述
VOICEVOX_URLhttps://xxxx.ngrok-free.appVOICEVOX引擎URL
MCP_HTTP_MODEtrue启用HTTP模式
MCP_ALLOWED_HOSTSyour-app.onrender.com已部署主机名
VOICEVOX_PLAYER_DOMAINhttps://your-app.onrender.comUI播放器的小部件域(ChatGPT需要)
VOICEVOX_DISABLED_TOOLSspeak禁用服务器端播放(无音频设备)
VOICEVOX_PLAYER_EXPORT_ENABLEDfalse禁用导出功能(无法从云端下载文件)

4.在ChatGPT中添加连接器

转到ChatGPT设置→ 连接器→ 添加MCP服务器URL(https://your-app.onrender.com/mcp).

Using with Claude Web

基本步骤与ChatGPT相同,但 VOICEVOX_PLAYER_DOMAIN 价值是不同的。

Claude Web要求 ui.domain 成为 基于哈希的专用域。使用以下命令计算它:

node -e "console.log(require('crypto').createHash('sha256').update('Your MCP server URL').digest('hex').slice(0,32)+'.claudemcpcontent.com')"

示例:如果您的MCP服务器URL为 https://your-app.onrender.com/mcp:

node -e "console.log(require('crypto').createHash('sha256').update('https://your-app.onrender.com/mcp').digest('hex').slice(0,32)+'.claudemcpcontent.com')"
# Example output: 48fb73a6...claudemcpcontent.com

将此输出值设置为 VOICEVOX_PLAYER_DOMAIN.

备注:由于ChatGPT和Claude Web需要不同的 VOICEVOX_PLAYER_DOMAIN 值,单个实例不能同时为两个客户端提供服务。为每个实例部署单独的实例,或根据目标客户端切换环境变量。

______________________________________________________________________

故障排除

Audio is not playing

1.检查VOICEVOX发动机是否运行

curl http://localhost:50021/speakers

2.检查特定平台的播放工具

OS所需工具
Linux其中之一 aplay, paplay, play, ffplay
macOSafplay (预装)
WindowsPowerShell(预安装)

Not recognized by MCP client

  • 检查软件包安装: npm list -g @kajidog/mcp-tts-voicevox
  • 验证配置文件中的JSON语法
  • 重新启动客户端

______________________________________________________________________

包结构

包装描述
@kajidog/mcp-tts-voicevoxMCP服务器
@kajidog/voicevox-client通用VOICEVOX客户端库(可独立使用)
@kajidog/player-ui基于React的音频播放器用户界面,用于浏览器播放

______________________________________________________________________

Developer Information

设置

git clone https://github.com/kajidog/mcp-tts-voicevox.git
cd mcp-tts-voicevox
pnpm install

命令

命令描述
pnpm build构建所有包
pnpm test运行测试
pnpm lint运行lint
pnpm dev启动开发服务器
pnpm dev:stdio使用stdio模式开发
pnpm dev:bun使用Bun启动开发服务器
pnpm dev:bun:http使用Bun启动HTTP开发服务器

______________________________________________________________________

许可证

ISC

目录标签

目录标签

语音音频TypeScriptClaude文本转语音本地部署语音合成多角色对话客户端播放跨平台

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@kajidog/mcp-tts-voicevox

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP