voize
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseVoize
Voize
Overview
概述
Voizegenerate_tts_urlIt synthesizes speech using the current backend, uploads bytes to the current storage backend, and returns a public URL.
Current concrete support is Xiaomi MiMo (TTS) + Cloudflare R2 (storage), while keeping extension seams for future backends.
Voizegenerate_tts_url它通过当前后端合成语音,将字节数据上传至当前存储后端,并返回一个公开URL。
目前已实现小米MiMo(TTS)+ Cloudflare R2(存储)的组合支持,同时预留了扩展接口以便未来接入其他后端。
Tech Stack
技术栈
- Language: TypeScript
- Runtime: Bun 1.0+
- Key dependencies: ,
@modelcontextprotocol/sdk,@aws-sdk/client-s3zod
- 语言:TypeScript
- 运行时:Bun 1.0+
- 核心依赖:,
@modelcontextprotocol/sdk,@aws-sdk/client-s3zod
Architecture
架构
The server is stdio MCP with one tool handler.
src/
├── index.ts
├── lib/
│ ├── provider.ts
│ └── storage.ts
├── tools/
│ └── generateTtsUrl.ts
├── types.ts
└── utils/
├── env.ts
├── log.ts
├── retry.ts
└── validate.ts该服务器是带有单个工具处理器的标准输入输出(stdio)MCP服务器。
src/
├── index.ts
├── lib/
│ ├── provider.ts
│ └── storage.ts
├── tools/
│ └── generateTtsUrl.ts
├── types.ts
└── utils/
├── env.ts
├── log.ts
├── retry.ts
└── validate.tsDevelopment
开发指南
Setup
环境搭建
Fill required env vars and enforce public-domain guardrails.
bash
bun install
cp .env.example .env填写所需环境变量并启用公共域防护机制。
bash
bun install
cp .env.example .envBuild
构建
bun run buildbun run buildTest
测试
No automated tests yet; validate by MCP smoke call with built-in and voice-clone inputs.
目前暂无自动化测试;可通过内置输入和语音克隆输入进行MCP冒烟调用验证。
Lint
代码检查
bun run lintbun run lintTypecheck
类型检查
bun run typecheckbun run typecheckKey Files
核心文件说明
| File | Purpose |
|---|---|
| MCP bootstrap, env validation, stdio transport |
| Input validation, TTS call, upload, MCP response |
| Current TTS backend client |
| Current S3-compatible storage helper |
| End-to-end flow and constraints |
| 文件 | 用途 |
|---|---|
| MCP启动程序、环境变量验证、标准输入输出传输 |
| 输入验证、TTS调用、上传操作、MCP响应处理 |
| 当前TTS后端客户端 |
| 当前兼容S3的存储助手 |
| 端到端流程及约束说明 |
Agent Guidelines
Agent开发规范
- Never write to stdout in server code (stdio JSON-RPC safety).
- Return structured JSON in MCP text content for both success and failure.
- Keep public-domain enforcement at startup.
- Do not introduce direct Nexus/STDB calls; keep boundary at URL generation.
- Hosted reference voice sample for cloning workflows: .
https://audio.zenon.red/voice/samples/zoe-sample.mp3 - For clone calls, pass directly, or download and pass
voiceSampleUrl.voiceSamplePath
- 服务器代码中切勿向stdout写入内容(保障stdio JSON-RPC安全)。
- 无论成功或失败,MCP文本内容均需返回结构化JSON。
- 在启动阶段启用公共域防护机制。
- 请勿直接引入Nexus/STDB调用;仅保留URL生成相关的边界逻辑。
- 用于克隆流程的托管参考语音样本:。
https://audio.zenon.red/voice/samples/zoe-sample.mp3 - 进行克隆调用时,可直接传入,或下载后传入
voiceSampleUrl。voiceSamplePath