mcpField
V
voize

voize

github.com/zenon-red创意与媒体259 次安装22 周前更新
代码仓库

关于 voize

Voize 是用于合成语音并返回音频公开 URL 的本地 MCP 服务。目前使用 Xiaomi MiMo 进行语音合成,并将音频存储在 Cloudflare R2。

主要功能

  1. 01使用 Xiaomi MiMo 合成语音
  2. 02将音频上传至 Cloudflare R2
  3. 03返回音频公开 URL
  4. 04支持内置语音和克隆语音

适用场景

  1. 01为应用生成语音音频
  2. 02使用语音样本生成音频
  3. 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.tsMCP 引导程序、环境变量验证、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