ElevenLabs
ทางการเซิร์ฟเวอร์ MCP อย่างเป็นทางการของ ElevenLabs
คุณทำอะไรได้บ้างด้วย ElevenLabs MCP?
- การสร้างเสียงพูดเป็นข้อความ — ขอเสียงพูดที่เป็นธรรมชาติจากข้อความ พร้อมตัวเลือกเสียง สไตล์ และภาษาผ่าน
text_to_speech - การโคลนเสียงและการจัดการ — สร้างเสียงโคลนที่กำหนดเองจากตัวอย่างเสียง ดูรายการเสียงที่มี และจัดการคลังเสียงของคุณด้วย
get_voicesและcreate_voice - การถอดเสียงเป็นข้อความ — แปลงไฟล์เสียงเป็นข้อความ พร้อมการแยกผู้พูดเพื่อระบุผู้พูดที่แตกต่างกันโดยใช้
speech_to_text - การแยกเสียงและการแปลง — แยกเสียงพูดจากเสียงรบกวนพื้นหลัง หรือแปลงเสียงพูดให้ฟังดูเหมือนตัวละครอื่นด้วย
isolate_audioและspeech_to_speech - การสร้างเอฟเฟกต์เสียงและดนตรี — สร้างบรรยากาศเสียงหรือดนตรีประกอบที่กำหนดเองจากคำอธิบายข้อความโดยใช้
sound_effectsและtext_to_sound_effects
เอกสาร
เซิร์ฟเวอร์ ElevenLabs อย่างเป็นทางการ Model Context Protocol (MCP) ที่ช่วยให้สามารถโต้ตอบกับ API การแปลงข้อความเป็นเสียงและการประมวลผลเสียงอันทรงพลัง เซิร์ฟเวอร์นี้ช่วยให้ไคลเอนต์ MCP เช่น Claude Desktop, Cursor, Windsurf, OpenAI Agents และอื่น ๆ สามารถสร้างเสียงพูด โคลนเสียง ถอดเสียง และอื่น ๆ ได้
เริ่มต้นอย่างรวดเร็วกับ Claude Desktop
- รับคีย์ API ของคุณจาก ElevenLabs มีบริการฟรี 10,000 เครดิตต่อเดือน
- ติดตั้ง
uv(ตัวจัดการแพ็กเกจ Python) ติดตั้งด้วยcurl -LsSf https://astral.sh/uv/install.sh | shหรือดู repo ของuvสำหรับวิธีการติดตั้งเพิ่มเติม - ไปที่ Claude > การตั้งค่า > นักพัฒนา > แก้ไขการกำหนดค่า > claude_desktop_config.json เพื่อรวมข้อมูลต่อไปนี้:
{
"mcpServers": {
"ElevenLabs": {
"command": "uvx",
"args": ["elevenlabs-mcp"],
"env": {
"ELEVENLABS_API_KEY": "<insert-your-api-key-here>"
}
}
}
}
หากคุณใช้ Windows คุณจะต้องเปิดใช้งาน "โหมดนักพัฒนา" ใน Claude Desktop เพื่อใช้เซิร์ฟเวอร์ MCP คลิก "Help" ในเมนูแฮมเบอร์เกอร์ที่มุมซ้ายบนแล้วเลือก "Enable Developer Mode"
ไคลเอนต์ MCP อื่น ๆ
สำหรับไคลเอนต์อื่น ๆ เช่น Cursor และ Windsurf ให้รัน:
pip install elevenlabs-mcppython -m elevenlabs_mcp --api-key={{PUT_YOUR_API_KEY_HERE}} --printเพื่อรับการกำหนดค่า วางลงในไดเรกทอรีการกำหนดค่าที่เหมาะสมตามที่ไคลเอนต์ MCP ของคุณระบุ
แค่นั้นเอง ไคลเอนต์ MCP ของคุณสามารถโต้ตอบกับ ElevenLabs ผ่านเครื่องมือเหล่านี้:
ตัวอย่างการใช้งาน
⚠️ คำเตือน: ต้องใช้เครดิต ElevenLabs เพื่อใช้เครื่องมือเหล่านี้
ลองถาม Claude:
- "สร้างเอเจนต์ AI ที่พูดเหมือนนักสืบฟิล์มนัวร์และสามารถตอบคำถามเกี่ยวกับภาพยนตร์คลาสสิก"
- "สร้างเสียงที่แตกต่างกันสามแบบสำหรับตัวละครมังกรโบราณที่ชาญฉลาด จากนั้นฉันจะเลือกเสียงที่ชอบที่สุดเพื่อเพิ่มลงในคลังเสียงของฉัน"
- "แปลงเสียงบันทึกของฉันให้ฟังดูเหมือนอัศวินยุคกลาง"
- "สร้างบรรยากาศเสียงพายุฝนฟ้าคะนองในป่าทึบพร้อมกับสัตว์ที่ตอบสนองต่อสภาพอากาศ"
- "แปลงคำพูดนี้เป็นข้อความ ระบุผู้พูดที่แตกต่างกัน จากนั้นแปลงกลับโดยใช้เสียงที่ไม่ซ้ำกันสำหรับแต่ละคน"
คุณสมบัติเสริม
การกำหนดค่าเอาต์พุตไฟล์
คุณสามารถกำหนดค่าเซิร์ฟเวอร์ MCP จัดการเอาต์พุตไฟล์ได้โดยใช้ตัวแปรสภาพแวดล้อมเหล่านี้ใน claude_desktop_config.json ของคุณ:
ELEVENLABS_MCP_BASE_PATH: ระบุเส้นทางฐานสำหรับการดำเนินการไฟล์ (ค่าเริ่มต้น:~/Desktop) ไดเรกทอรีนี้ยังเป็นขอบเขตความปลอดภัยสำหรับไฟล์ อินพุต: เส้นทางใด ๆ ที่ส่งไปยังเครื่องมือที่อ่านไฟล์ในเครื่อง (เช่นspeech_to_text,isolate_audio,speech_to_speech,video_to_music,upload_music_for_inpainting) ต้อง resolve ภายในไดเรกทอรีนี้ ไม่ว่าจะเป็นเส้นทางสัมบูรณ์หรือสัมพัทธ์ เส้นทางที่อยู่นอกนั้น — แม้จะเป็นเส้นทางสัมบูรณ์และเคยยอมรับก่อนหน้านี้ — จะถูกปฏิเสธ ตั้งค่านี้เป็นไดเรกทอรีที่มีทุกสิ่งที่คุณต้องการอ่านหรือเขียนELEVENLABS_MCP_OUTPUT_MODE: ควบคุมวิธีส่งคืนไฟล์ที่สร้างขึ้น (ค่าเริ่มต้น:files)
โหมดเอาต์พุต
ตัวแปรสภาพแวดล้อม ELEVENLABS_MCP_OUTPUT_MODE รองรับสามโหมด:
-
files(ค่าเริ่มต้น): บันทึกไฟล์ลงดิสก์และส่งคืนเส้นทางไฟล์"env": { "ELEVENLABS_API_KEY": "your-api-key", "ELEVENLABS_MCP_OUTPUT_MODE": "files" } -
resources: ส่งคืนไฟล์เป็นทรัพยากร MCP; ข้อมูลไบนารีถูกเข้ารหัส base64 ข้อความถูกส่งคืนเป็นข้อความ UTF-8"env": { "ELEVENLABS_API_KEY": "your-api-key", "ELEVENLABS_MCP_OUTPUT_MODE": "resources" } -
both: บันทึกไฟล์ลงดิสก์และส่งคืนเป็นทรัพยากร MCP"env": { "ELEVENLABS_API_KEY": "your-api-key", "ELEVENLABS_MCP_OUTPUT_MODE": "both" }
ประโยชน์ของโหมดทรัพยากร:
- ไฟล์ถูกส่งคืนโดยตรงในการตอบสนอง MCP เป็นข้อมูลที่เข้ารหัส base64
- ไม่ต้องใช้ I/O บนดิสก์ - มีประโยชน์สำหรับสภาพแวดล้อมคอนเทนเนอร์หรือเซิร์ฟเวอร์less
- ไคลเอนต์ MCP สามารถเข้าถึงเนื้อหาไฟล์ได้ทันทีโดยไม่ต้องเข้าถึงระบบไฟล์
- ในโหมด
bothทรัพยากรสามารถดึงได้ในภายหลังโดยใช้รูปแบบ URIelevenlabs://filename
กรณีการใช้งาน:
files: เวิร์กโฟลว์แบบไฟล์ดั้งเดิม การพัฒนาท้องถิ่นresources: สภาพแวดล้อมคลาวด์ ไคลเอนต์ MCP ที่ไม่มีการเข้าถึงระบบไฟล์both: ความยืดหยุ่นสูงสุด การแคช และสถานการณ์การแชร์ทรัพยากร
คีย์ภูมิภาคข้อมูล
คุณสามารถระบุภูมิภาคข้อมูลด้วยตัวแปรสภาพแวดล้อม ELEVENLABS_API_RESIDENCY ค่าเริ่มต้นคือ "us"
หมายเหตุ: การเก็บข้อมูลในภูมิภาคเป็นคุณสมบัติเฉพาะองค์กร ดู เอกสาร สำหรับรายละเอียดเพิ่มเติม
การมีส่วนร่วม
หากคุณต้องการมีส่วนร่วมหรือรันจากซอร์ส:
- โคลนที่เก็บ:
git clone https://github.com/elevenlabs/elevenlabs-mcp
cd elevenlabs-mcp
- สร้างสภาพแวดล้อมเสมือนและติดตั้ง dependencies โดยใช้ uv:
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
- คัดลอก
.env.exampleไปยัง.envและเพิ่มคีย์ API ElevenLabs ของคุณ:
cp .env.example .env
# Edit .env and add your API key
- รันการทดสอบเพื่อให้แน่ใจว่าทุกอย่างทำงาน:
./scripts/test.sh
# Or with options
./scripts/test.sh --verbose --fail-fast
-
ติดตั้งเซิร์ฟเวอร์ใน Claude Desktop:
mcp install elevenlabs_mcp/server.py -
ดีบักและทดสอบในเครื่องด้วย MCP Inspector:
mcp dev elevenlabs_mcp/server.py
การแก้ไขปัญหา
บันทึกเมื่อรันกับ Claude Desktop สามารถพบได้ที่:
- Windows:
%APPDATA%\Claude\logs\mcp-server-elevenlabs.log - macOS:
~/Library/Logs/Claude/mcp-server-elevenlabs.log
หมดเวลาเมื่อใช้เครื่องมือบางอย่าง
การดำเนินการ API ElevenLabs บางอย่าง เช่น การออกแบบเสียงและการแยกเสียง อาจใช้เวลานานในการ resolve เมื่อใช้ MCP inspector ในโหมด dev คุณอาจพบข้อผิดพลาดหมดเวลาแม้ว่าเครื่องมือจะทำงานเสร็จสิ้นตามที่ตั้งใจ
สิ่งนี้ไม่ควรเกิดขึ้นเมื่อใช้ไคลเอนต์เช่น Claude
MCP ElevenLabs: spawn uvx ENOENT
หากคุณพบข้อผิดพลาด "MCP ElevenLabs: spawn uvx ENOENT" ให้ยืนยันเส้นทางสัมบูรณ์โดยรันคำสั่งนี้ในเทอร์มินัลของคุณ:
which uvx
เมื่อคุณได้เส้นทางสัมบูรณ์ (เช่น /usr/local/bin/uvx) ให้อัปเดตการกำหนดค่าของคุณเพื่อใช้เส้นทางนั้น (เช่น "command": "/usr/local/bin/uvx") เพื่อให้แน่ใจว่ามีการอ้างอิงไฟล์ปฏิบัติการที่ถูกต้อง