Voicegen Port

io.github.CloudCorpRecords由 GitHub 账号 CloudCorpRecords 发布v0.1.0更新于 Nov 1, 2026

Generate speech, voices, and transcripts through the ElevenLabs API.

发布方自己的服务:Port

已验证STDIO仅桌面媒体与设计AI 与机器学习

概览

AI 生成的概览

本地 MCP 服务器,通过 ElevenLabs API 生成语音与音效、转写音频、分离人声,并管理语音库。

可以做什么
  • 用指定音色、模型和输出格式把文本合成为语音,并根据文字描述生成音效
  • 把音频文件转写为文本,并从嘈杂录音中分离出人声轨道
  • 浏览语音库:列出全部音色、按 ID 查询、按关键词和类别搜索
  • 根据文字描述设计新音色、把预览保存进语音库、添加音色或按 ID 删除音色
  • 查看可用模型、账户订阅状态以及 API 密钥所属用户的信息
  • 音频结果以摘要形式返回(字节数、base64 长度、内容类型),不会把原始音频塞进文本输出
适用场景
适合需要让助手生成语音、音效或转写文本,或整理 ElevenLabs 语音库的本地桌面场景。它是官方 ElevenLabs MCP 服务器的文档化核心子集,不含对话式 AI、电话、声音克隆和语音转语音工具。
运行要求
通过 npx(需 Node.js)或 Docker 镜像以 stdio 在本地运行,使用 mcp 子命令。需要 ElevenLabs 账户和 API 密钥,放在 ELEVENLABS_API_KEY 环境变量中,缺失时所有调用都会失败。需要访问 ElevenLabs API 的网络。仅支持桌面端。
安装前请注意
ElevenLabs API 密钥会以 xi-api-key 请求头发送给 ElevenLabs API,即与该第三方共享。调用会消耗 ElevenLabs 账户额度,按套餐可能产生费用。delete_voice 会永久删除语音库中的音色,add_voice、create_voice_from_preview 和 text_to_voice 会改动语音库。转写和分离人声时音频文件会上传到 ElevenLabs。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Voicegen Port,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

voicegen-port

voicegen-port turns text into spoken audio, and audio back into text, through the ElevenLabs API. It can read a paragraph aloud in a chosen voice, invent a sound effect from a description, transcribe a recording, clean a noisy clip down to its voice, and manage the voice library itself — designing new voices from a written description and saving the ones worth keeping. It runs from the command line or as an MCP server for agents.

An ElevenLabs API key is required. Put it in the ELEVENLABS_API_KEY environment variable; the key is sent to the API as the xi-api-key header and never appears in output. When the variable is missing, every call fails with an error that names it.

Audio is binary, and this tool treats it honestly: generation calls report an artifact summary (byte count, base64 length, content type) instead of dumping raw audio into text output.

Install

bash
npx @reneturcios/voicegen-port voices

Or run the container image:

bash
docker run -i -e ELEVENLABS_API_KEY ghcr.io/cloudcorprecords/voicegen-port

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

CLI

bash
export ELEVENLABS_API_KEY="your ElevenLabs API key"
voicegen-port tts "Welcome to the show" --voice v_georgevoicegen-port sfx "rain on a tin roof" --duration 4voicegen-port stt interview.mp3 --language envoicegen-port isolate noisy-call.mp3voicegen-port voicesvoicegen-port voice v_rachelvoicegen-port search-voices "narrator" --page-size 5voicegen-port design "A calm British narrator" --text "Sample line"voicegen-port create-from-preview gen_1 "Calm Narrator"voicegen-port add-voice "Studio Voice" --description "Warm and close"voicegen-port delete-voice v_oldvoicegen-port modelsvoicegen-port subscriptionvoicegen-port user
voicegen-port --version

Exit codes: 0 on success, 1 when a call fails (including a missing ELEVENLABS_API_KEY or an API error), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

bash
npx -y @reneturcios/voicegen-port mcp

MCP client configuration:

json
{  "mcpServers": {    "voicegen-port": {      "command": "npx",      "args": ["-y", "@reneturcios/voicegen-port", "mcp"],      "env": { "ELEVENLABS_API_KEY": "your ElevenLabs API key" }    }  }}

Tools

This is the documented core subset (14 tools) of the official ElevenLabs MCP server. The conversational-AI and telephony tools (create_agent, list_agents, get_agent, delete_agent, add_knowledge_base_to_agent, make_outbound_call, list_phone_numbers) plus voice_clone, speech_to_speech, and play_audio are not implemented; see the build report.

ToolInputWhat it returns
text_to_speechtext (required), voice_id, model_id, output_format (optional)Audio artifact summary: bytes, base64 length, content type.
text_to_sound_effectstext (required), duration_seconds, prompt_influence (optional)Audio artifact summary for the generated effect.
speech_to_textfile_path (required), language_code, model_id (optional)The transcription payload, including its text.
isolate_audiofile_path (required)Audio artifact summary for the isolated voice track.
list_voices—All voices: id, name, and category per voice.
get_voicevoice_id (required)The full voice record.
search_voicessearch (required), category, page_size (optional)Matching voices in the same summary shape.
text_to_voiceprompt (required), text (optional)Voice design previews, including generated voice ids.
create_voice_from_previewgenerated_voice_id, voice_name (required), voice_description (optional)The saved voice record.
add_voicename (required), description (optional)The added voice record.
delete_voicevoice_id (required)The API's deletion response.
list_models—All models: id, name, and description per model.
check_subscription—The account's subscription record.
get_user_info—The API key owner's user record.

Calls go to https://api.elevenlabs.io/v1 with JSON bodies. speech_to_text and add_voice are multipart uploads upstream; this rebuild shapes them as JSON bodies naming the file / voice, a simplification recorded in the build report.

Development

bash
npm installnpm run build   # tsc -> dist/npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)npm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

来源:README.md,提交 776969a

工具

14

text_to_speech

Convert text to speech using a specified voice.

输入参数text必填model_idvoice_idoutput_format

text_to_sound_effects

Generate sound effects from a text description.

输入参数text必填duration_secondsprompt_influence

speech_to_text

Transcribe speech from an audio file.

输入参数model_idfile_path必填language_code

isolate_audio

Isolate the voice in an audio file, removing background noise.

输入参数file_path必填

list_voices

Get a list of all available voices.

无需输入参数。

get_voice

Retrieve a specific voice by its ID.

输入参数voice_id必填

search_voices

Search through the voice library for a specific voice.

输入参数search必填categorypage_size

text_to_voice

Design a voice from a text description and return previews.

输入参数textprompt必填

create_voice_from_preview

Save a voice preview from text_to_voice to the voice library.

输入参数voice_name必填voice_descriptiongenerated_voice_id必填

add_voice

Add a new voice to the voice library.

输入参数name必填description

delete_voice

Delete a voice from the voice library by its ID.

输入参数voice_id必填

list_models

Get a list of all available models.

无需输入参数。

check_subscription

Check the ElevenLabs subscription status for the account.

无需输入参数。

get_user_info

Get user account information for the API key owner.

无需输入参数。

版本历史

1
  1. v0.1.0最新Nov 1, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Port 集成