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 整合