mcpField
M
MCP TTS VOICEVOX

MCP TTS VOICEVOX

本地服务
kajidog.github.io媒体与设计165 天前更新

关于 MCP TTS VOICEVOX

MCP TTS VOICEVOX 是基于 VOICEVOX 的文本转语音 MCP 服务,面向希望让 AI 助手朗读文本的 MCP 客户端用户。除服务端播放外,它还提供可在聊天界面播放和编辑音频的 MCP Apps 播放器。

主要功能

  1. 01将文本转换为语音
  2. 02聊天内交互式音频播放器
  3. 03多角色分段对话
  4. 04队列管理与流式播放
  5. 05编辑语调并导出 WAV
  6. 06管理 VOICEVOX 用户词典

适用场景

  1. 01让 AI 助手朗读回复
  2. 02在聊天中播放多角色对话
  3. 03调整分段语速和音调
  4. 04生成并导出 WAV 音频

MCP 相关

通过 MCP 工具向客户端提供语音合成、播放、说话人和词典管理功能。MCP Apps 支持的客户端可在聊天内显示播放器并播放音频。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"tts-voicevox": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"compose"
]
}
}
}
启动命令docker run -i --rm compose

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocicompose

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

VOICEVOX TTS MCP

English | 日本語

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

🎮 试用浏览器演示 — 直接在浏览器中测试 VoicevoxClient

可以做什么

  • 让 AI 助手开口说话 — 通过 Claude Desktop 等 MCP 客户端将文本转换为语音
  • UI 音频播放器(MCP Apps) — 在聊天中通过交互式播放器直接播放音频(ChatGPT / Claude Desktop / Claude Web 等)
  • 多角色对话 — 在一次调用中为不同片段切换说话人
  • 流畅播放 — 队列管理、即时播放、预取、流式传输
  • 跨平台 — 支持 Windows、macOS、Linux(包括 WSL)

UI 音频播放器(MCP Apps)

UI 音频播放器

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

功能
  • 客户端播放 — 音频在 Claude Desktop 的聊天中播放,而不是在服务端播放。远程连接也可使用。
  • 播放/暂停控制 — 在对话中内嵌完整的播放控制
  • 多说话人对话 — 在一个播放器中依次播放多个说话人的音频,并支持曲目导航
  • 切换说话人 — 直接在播放器 UI 中更改任意片段的语音
  • 编辑片段 — 单独调整每个片段的速度、音量、语调、停顿时长以及前后静音
  • 编辑重音短语 — 直接在 UI 中编辑重音位置和 mora 音高
  • 添加 / 删除 / 重新排序片段 — 拖放即可调整曲目顺序;可直接添加新片段
  • 导出 WAV — 将所有曲目保存为带编号的 WAV 文件,并自动打开输出文件夹
  • 用户词典管理器 — 添加、编辑和删除 VOICEVOX 用户词典词条,并支持预览播放
  • 跨会话状态恢复 — 播放器状态会保存在服务端;重新打开聊天即可恢复之前的曲目

不同环境下的导出行为:

  • Save and open 始终导出 WAV 文件。如果不支持打开文件资源管理器,导出仍会成功,并在 UI 中显示保存路径。
  • Choose output folder 在 Windows/macOS 上使用原生目录选择器。在不支持的环境中,此操作会回退到默认导出目录。
多说话人播放曲目列表编辑片段
多说话人播放器曲目列表编辑片段
选择说话人词典管理器导出 WAV
选择说话人词典管理器导出 WAV
支持的客户端
客户端连接方式备注
ChatGPTHTTP(远程)需要 VOICEVOX_PLAYER_DOMAIN
Claude Desktopstdio(本地)开箱即用
Claude DesktopHTTP(通过 mcp-remote)不要设置 VOICEVOX_PLAYER_DOMAIN

注意: speak_player 需要支持 MCP Apps 的宿主。在不支持 MCP Apps 的宿主中,此工具不可用,可改用 speak(服务端播放)。

播放器 MCP 工具
工具描述
voicevox_speak_player创建新的播放器会话并显示 UI。返回 viewUUID。
voicevox_resynthesize_player更新现有播放器的所有片段(每次调用都会生成新的 viewUUID)。
voicevox_get_player_state读取当前播放器状态(分页),供 AI 调整参数。
voicevox_open_dictionary_ui打开用户词典管理器 UI。

快速开始

要求
  • Node.js 24.0.0 或更高版本(或 Bun)或 Docker
  • VOICEVOX Engine(必须正在运行;Docker Compose 中已包含)
  • ffplay(可选,建议安装;使用 Docker 时不需要)
安装 FFplay

ffplay 是 FFmpeg 附带的轻量级播放器,支持从 stdin 播放。安装后会自动启用低延迟流式播放。

💡 FFplay 是可选的。 不安装时,将改用基于临时文件的播放方式(Windows:PowerShell,macOS:afplay,Linux:aplay 等)。

  • 轻松设置:为每种操作系统提供一行命令即可完成安装(参见下方步骤)
  • 必需条件:ffplay 必须位于 PATH 中(安装后重启终端/应用)
FFplay 安装与 PATH 设置

安装示例:

  • Windows(任选其一)

  • macOS

    • Homebrew:brew install ffmpeg
  • Linux

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

PATH 设置:

  • Windows:将 ...\ffmpeg\bin 添加到环境变量,然后重启 PowerShell/终端和编辑器(Claude/VS Code 等)
    • 验证:powershell -c "$env:Path" 输出中应包含 ffmpeg 路径
  • macOS/Linux:通常会自动检测。必要时使用 echo $PATH 检查,并重启 shell。
  • MCP 客户端(Claude Desktop/Code):重启应用以重新加载 PATH。

验证:

ffplay -version

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

3 步快速上手

1. 启动 VOICEVOX Engine

2. 添加到 Claude Desktop 配置文件

配置文件位置:

  • Windows:%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,只需将 npx 替换为 bunx:

"command": "bunx", "args": ["@kajidog/mcp-tts-voicevox"]

3. 重启 Claude Desktop

完成!让 Claude「说声你好」,它就会开口说话!

使用 Docker 快速启动

使用 Docker Compose,只需一条命令即可同时运行 MCP 服务和 VOICEVOX Engine。无需安装 Node.js 或 VOICEVOX。

1. 启动容器

docker compose up -d

此操作将启动 VOICEVOX Engine 和 MCP 服务(HTTP 模式,端口为 3000)。

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

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

3. 重启 Claude Desktop

安全性(Docker): docker-compose.yml 会发布端口 3000,且未启用身份验证。MCP_ALLOWED_HOSTS 在此处无法提供保护——非浏览器客户端可以发送任意 Host 标头——因此,任何能够访问该端口的人都可以使用此服务。请设置 MCP_API_KEY(并通过 X-API-Key 发送),或将端口绑定到可信网络/仅限 localhost 访问。还可考虑设置 VOICEVOX_ALLOWED_OUTPUT_DIRS,以限制文件写入工具可写入的位置。

限制(Docker): Docker 容器没有音频设备,因此默认禁用 voicevox_speak 工具(服务端播放)。请改用 voicevox_speak_player——它会在客户端(Claude Desktop)播放音频,且不需要服务端具备音频设备。详情请参阅 UI 音频播放器。


MCP 工具

voicevox_speak — 文本转语音

可由 Claude 调用的主要功能。

参数描述默认值
text要朗读的文本(多个片段以换行符分隔)必填
phrases内联音调标记(优先于 text)(未设置)
speaker说话人 ID1
speedScale播放速度1.0
immediate立即播放(清空队列)true
waitForStart等待播放开始false
waitForEnd等待播放完成false

设置匹配的 --restrict-* 选项后,immediate / waitForStart / waitForEnd 将从工具架构中移除。

示例:

// 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 }

// Control the accent with inline notation (`,` separates phrases, `[` marks the accent)
{ "text": "こんにちは世界", "phrases": "コン[ニ]チワ,セ[カ]イ" }
内联音调标记

phrases(以及用户词典工具中的读音字段)接受带有内联音调标记的片假名:

  • , 分隔音调短语 — コン[ニ]チワ,セ[カ]イ
  • [ 标记音高下降的位置;コン[ニ]チワ 表示音调在 ニ 处下降
  • 如果某个短语省略方括号,VOICEVOX 将保留其自身的音调估算结果

即使提供了 phrases,仍必须填写 text — 在其中传入纯文本,实际朗读的则是标记内容。

voicevox_get_accent_phrases 会以相同格式返回给定文本的音调标记,因此你可以查看估算出的音调、调整方括号,再将结果传回 phrases。

其他工具
工具描述
voicevox_speak_player使用 UI 音频播放器朗读(参见播放器 MCP 工具)
voicevox_ping检查 VOICEVOX Engine 连接
voicevox_get_speakers获取可用说话人列表
voicevox_stop_speaker停止播放并清空队列
voicevox_synthesize_file生成音频文件

用户词典工具(dictionary 组):

工具描述
voicevox_get_accent_phrases以内联标记形式获取文本的读音和音调位置
voicevox_get_user_dictionary列出用户词典词条(筛选 + 分页)
voicevox_add_user_dictionary_word添加词条(读音接受内联音调标记)
voicevox_update_user_dictionary_word更新词条(省略字段将保留原值)
voicevox_delete_user_dictionary_word按 UUID 删除词条
voicevox_add_user_dictionary_words一次添加多个词条
voicevox_update_user_dictionary_words一次更新多个词条

可以通过 --disable-tools / VOICEVOX_DISABLED_TOOLS 单独关闭任何工具,也可以通过 --disable-groups / VOICEVOX_DISABLED_GROUPS 按组关闭工具。


配置

环境变量
VOICEVOX 设置
变量描述默认值
VOICEVOX_URLEngine URLhttp://localhost:50021
VOICEVOX_DEFAULT_SPEAKER默认说话人 ID1
VOICEVOX_DEFAULT_SPEED_SCALE播放速度1.0
VOICEVOX_RETRY_COUNTAPI 请求失败时的重试次数(0 表示禁用)2
VOICEVOX_RETRY_DELAY_MS初始重试延迟,单位为 ms(指数退避)250
VOICEVOX_TIMEOUT_MS单次 VOICEVOX API 请求的超时时间,单位为 ms。长文本或引擎运行缓慢时请调高此值30000
播放选项
变量描述默认值
VOICEVOX_USE_STREAMING流式播放(需要 ffplay)false
VOICEVOX_DEFAULT_POST_PHONEME_LENGTH每个片段末尾的静音时长,单位为秒。调高此值可延长排队片段之间的停顿(也可在流式播放时避免语音结尾被截断)引擎默认值
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 App UI 工具)
UI 播放器设置
变量描述默认值
VOICEVOX_PLAYER_DOMAINUI 播放器的 Widget 域名(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 的路径<VOICEVOX_PLAYER_CACHE_DIR>/player-state.json
文件输出设置
变量描述默认值
VOICEVOX_ALLOWED_OUTPUT_DIRS以逗号分隔的目录列表,文件写入工具(voicevox_synthesize_file、播放器音轨导出)可在这些目录中写入。目录列表以外的路径会被拒绝并报错。未设置表示不限制——通过 HTTP 暴露服务时建议设置(未设置)
服务端设置
变量描述默认值
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/mcp 所需的 API 密钥(通过 X-API-Key 或 Authorization: Bearer 发送)(未设置)
命令行参数

命令行参数的优先级高于环境变量。 完整且最新的选项列表始终可通过 npx @kajidog/mcp-tts-voicevox --help 查看。

# 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 <path>配置文件路径
--url <value>VOICEVOX Engine URL
--speaker <value>默认说话人 ID
--speed <value>播放速度
--use-streaming / --no-use-streaming流式播放
--post-phoneme-length <sec>每段末尾的静音时长(排队片段之间的暂停)
--immediate / --no-immediate立即播放
--wait-for-start / --no-wait-for-start等待开始
--wait-for-end / --no-wait-for-end等待结束
--restrict-immediate限制 immediate
--restrict-wait-for-start限制 waitForStart
--restrict-wait-for-end限制 waitForEnd
--allowed-output-dirs <dirs>文件写入工具可写入的目录(逗号分隔;未设置 = 不限制)
--disable-tools <tools>禁用工具(逗号分隔的工具名称)
--disable-groups <groups>禁用工具组:player、dictionary、file、apps
--auto-play / --no-auto-play在 UI 播放器中自动播放
--player-export / --no-player-export启用/禁用 UI 播放器中的曲目导出(下载)
--player-export-dir <dir>导出曲目的默认输出目录
--player-cache-dir <dir>播放器缓存目录
--player-state-file <path>播放器状态持久化文件路径
--player-audio-cache / --no-player-audio-cache启用/禁用播放器的磁盘音频缓存
--player-audio-cache-ttl-days <days>音频缓存保留天数(0:禁用,-1:不进行 TTL 清理)
--player-audio-cache-max-mb <mb>音频缓存大小上限(MB)(0:禁用,-1:无限制)
--httpHTTP 模式
--port <value>HTTP 端口
--host <value>HTTP 主机
--allowed-hosts <hosts>允许的主机(逗号分隔)
--allowed-origins <origins>允许的来源(逗号分隔)
--api-key <key>/mcp 所需的 API 密钥
配置文件(.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"]
}

键可以使用 kebab-case(use-streaming)、camelCase(useStreaming)或内部键名(defaultSpeaker)。如果当前目录中存在 .voicevoxrc.json,系统会自动加载。

HTTP 模式

用于远程连接:

启动服务端:

# 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 Desktop 配置(使用 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-Key配置了 MCP_API_KEY 时使用的 API 密钥

.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 到 Windows 主机的连接

从 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 主机。

与 ChatGPT 搭配使用

要与 ChatGPT 搭配使用,请将 MCP 服务以 HTTP 模式部署到云端,并确保其能够访问 VOICEVOX Engine。

1. 部署到云端

使用 Docker 部署到 Render、Railway 等平台(已包含 Dockerfile)。

2. 设置 VOICEVOX Engine

在本地运行 VOICEVOX Engine 并通过 ngrok 暴露,或将其与 MCP 服务一同部署。

3. 配置环境变量
变量示例说明
VOICEVOX_URLhttps://xxxx.ngrok-free.appVOICEVOX Engine 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)。

与 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 值,单个实例无法同时为两个客户端提供服务。请分别部署独立实例,或根据目标客户端切换环境变量。


故障排除

没有播放音频

1. 检查 VOICEVOX Engine 是否正在运行

curl http://localhost:50021/speakers

2. 检查平台专用的播放工具

操作系统所需工具
Linuxaplay、paplay、play、ffplay 中的任意一个
macOSafplay(预装)
WindowsPowerShell(预装)
MCP 客户端无法识别
  • 检查软件包是否已安装:npm list -g @kajidog/mcp-tts-voicevox
  • 确认配置文件中的 JSON 语法正确
  • 重启客户端

Package 结构

Package描述
@kajidog/mcp-tts-voicevoxMCP 服务(apps/mcp-tts)
@kajidog/voicevox-client通用 VOICEVOX 客户端库(可独立使用)
@kajidog/mcp-core共享 MCP 基础设施(配置架构、HTTP/stdio 启动器)。不发布 — 随 MCP 服务一起打包
@kajidog/player-ui基于 React 的音频播放器 UI,打包为单个 HTML 文件。不发布

开发者信息
设置
git clone https://github.com/kajidog/mcp-tts-voicevox.git
cd mcp-tts-voicevox
pnpm install
命令

包管理器为 pnpm(不支持 npm / yarn)。

命令描述
pnpm build构建所有 Package
pnpm test运行测试
pnpm lint运行 lint(对整个工作区执行一次 Biome 检查)
pnpm typecheck对每个 Package 进行类型检查
pnpm changeset为面向用户的更改添加 changeset

开发服务器位于 MCP 服务 Package 中,因此请使用筛选器运行:

命令描述
pnpm --filter @kajidog/mcp-tts-voicevox dev启动开发服务器(stdio)
pnpm --filter @kajidog/mcp-tts-voicevox dev:http以 HTTP 模式启动开发服务器
pnpm --filter @kajidog/mcp-tts-voicevox dev:bun使用 Bun 启动开发服务器
pnpm --filter @kajidog/mcp-tts-voicevox dev:bun:http使用 Bun 启动 HTTP 开发服务器

许可证

ISC

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。