关于 voize
Voize 是用于合成语音并返回音频公开 URL 的本地 MCP 服务。目前使用 Xiaomi MiMo 进行语音合成,并将音频存储在 Cloudflare R2。
主要功能
- 01使用 Xiaomi MiMo 合成语音
- 02将音频上传至 Cloudflare R2
- 03返回音频公开 URL
- 04支持内置语音和克隆语音
适用场景
- 01为应用生成语音音频
- 02使用语音样本生成音频
- 03通过公开 URL 提供生成的音频
MCP 相关
Voize 作为本地 stdio MCP 服务运行,并提供 `generate_tts_url` 工具。该工具合成语音、上传音频并返回公开 URL。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ zenon-red/ skills --skill voize安装后在 Claude Code 中输入/voize确认已加载。
附带文件META.md
详细介绍
Voize
概述
Voize 是一个本地 MCP 服务,提供一个工具 generate_tts_url。
它使用当前后端合成语音,将字节上传到当前存储后端,并返回一个公开 URL。
目前具体支持 Xiaomi MiMo(TTS)+ Cloudflare R2(存储),同时为未来的后端保留扩展接口。
技术栈
- 语言:TypeScript
- 运行时:Bun 1.0+
- 主要依赖项:
@modelcontextprotocol/sdk、@aws-sdk/client-s3、zod
架构
该服务是使用 stdio 的 MCP 服务,包含一个工具处理程序。
src/
├── index.ts
├── lib/
│ ├── provider.ts
│ └── storage.ts
├── tools/
│ └── generateTtsUrl.ts
├── types.ts
└── utils/
├── env.ts
├── log.ts
├── retry.ts
└── validate.ts
开发
设置
填写必需的环境变量,并启用公开域名保护机制。
bun install
cp .env.example .env
构建
bun run build
测试
目前尚无自动化测试;请使用内置语音和语音克隆输入,通过 MCP 冒烟调用进行验证。
代码检查
bun run lint
类型检查
bun run typecheck
关键文件
| 文件 | 用途 |
|---|---|
src/index.ts | MCP 引导程序、环境变量验证、stdio 传输 |
src/tools/generateTtsUrl.ts | 输入验证、TTS 调用、上传、MCP 响应 |
src/lib/provider.ts | 当前 TTS 后端客户端 |
src/lib/storage.ts | 当前兼容 S3 的存储辅助模块 |
docs/architecture.md | 端到端流程和约束 |
Agent 指南
- 服务端代码中绝不向 stdout 写入内容(确保 stdio JSON-RPC 安全)。
- 成功和失败时,均在 MCP 文本内容中返回结构化 JSON。
- 在启动时执行公开域名检查。
- 不要引入直接的 Nexus/STDB 调用;将边界保持在 URL 生成处。
- 用于克隆工作流的托管参考语音样本:
https://audio.zenon.red/voice/samples/zoe-sample.mp3。 - 克隆调用时,直接传入
voiceSampleUrl,或下载后传入voiceSamplePath。
评论
支持 Markdown