voize について
Voizeは、音声を合成してアップロード済み音声の公開URLを返すローカルMCPサーバーです。現在は音声合成にXiaomi MiMo、ストレージにCloudflare R2を使用します。
主な機能
- 01Xiaomi 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 は、generate_tts_url というツールを1つ提供するローカル MCP サーバーです。
現在のバックエンドを使用して音声を合成し、バイト列を現在のストレージバックエンドにアップロードして、公開 URL を返します。
現在は Xiaomi MiMo(TTS)と Cloudflare R2(ストレージ)を具体的にサポートしており、将来のバックエンド向けの拡張ポイントも維持しています。
技術スタック
- 言語:TypeScript
- ランタイム:Bun 1.0+
- 主な依存関係:
@modelcontextprotocol/sdk、@aws-sdk/client-s3、zod
アーキテクチャ
このサーバーは、1つのツールハンドラーを備えた 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 のスモークテスト呼び出しで検証してください。
Lint
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 | エンドツーエンドのフローと制約 |
エージェント向けガイドライン
- サーバーコードでは標準出力に書き込まないでください(stdio JSON-RPC の安全性を確保するため)。
- 成功時も失敗時も、MCP のテキストコンテンツで構造化 JSON を返してください。
- 起動時に公開ドメインの適用を維持してください。
- Nexus/STDB を直接呼び出す処理は導入せず、境界を URL の生成に保ってください。
- クローンのワークフロー向けのホスト済み参照音声サンプル:
https://audio.zenon.red/voice/samples/zoe-sample.mp3。 - クローン呼び出しでは、
voiceSampleUrlを直接渡すか、ダウンロードしてvoiceSamplePathを渡してください。
コメント
Markdown 対応