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

เอกสาร

export

Discord Community Twitter PyPI Tests

เซิร์ฟเวอร์ ElevenLabs อย่างเป็นทางการ Model Context Protocol (MCP) ที่ช่วยให้สามารถโต้ตอบกับ API การแปลงข้อความเป็นเสียงและการประมวลผลเสียงอันทรงพลัง เซิร์ฟเวอร์นี้ช่วยให้ไคลเอนต์ MCP เช่น Claude Desktop, Cursor, Windsurf, OpenAI Agents และอื่น ๆ สามารถสร้างเสียงพูด โคลนเสียง ถอดเสียง และอื่น ๆ ได้

เริ่มต้นอย่างรวดเร็วกับ Claude Desktop

  1. รับคีย์ API ของคุณจาก ElevenLabs มีบริการฟรี 10,000 เครดิตต่อเดือน
  2. ติดตั้ง uv (ตัวจัดการแพ็กเกจ Python) ติดตั้งด้วย curl -LsSf https://astral.sh/uv/install.sh | sh หรือดู repo ของ uv สำหรับวิธีการติดตั้งเพิ่มเติม
  3. ไปที่ 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 ให้รัน:

  1. pip install elevenlabs-mcp
  2. python -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 รองรับสามโหมด:

  1. files (ค่าเริ่มต้น): บันทึกไฟล์ลงดิสก์และส่งคืนเส้นทางไฟล์

    "env": {
      "ELEVENLABS_API_KEY": "your-api-key",
      "ELEVENLABS_MCP_OUTPUT_MODE": "files"
    }
    
  2. resources: ส่งคืนไฟล์เป็นทรัพยากร MCP; ข้อมูลไบนารีถูกเข้ารหัส base64 ข้อความถูกส่งคืนเป็นข้อความ UTF-8

    "env": {
      "ELEVENLABS_API_KEY": "your-api-key",
      "ELEVENLABS_MCP_OUTPUT_MODE": "resources"
    }
    
  3. both: บันทึกไฟล์ลงดิสก์และส่งคืนเป็นทรัพยากร MCP

    "env": {
      "ELEVENLABS_API_KEY": "your-api-key",
      "ELEVENLABS_MCP_OUTPUT_MODE": "both"
    }
    

ประโยชน์ของโหมดทรัพยากร:

  • ไฟล์ถูกส่งคืนโดยตรงในการตอบสนอง MCP เป็นข้อมูลที่เข้ารหัส base64
  • ไม่ต้องใช้ I/O บนดิสก์ - มีประโยชน์สำหรับสภาพแวดล้อมคอนเทนเนอร์หรือเซิร์ฟเวอร์less
  • ไคลเอนต์ MCP สามารถเข้าถึงเนื้อหาไฟล์ได้ทันทีโดยไม่ต้องเข้าถึงระบบไฟล์
  • ในโหมด both ทรัพยากรสามารถดึงได้ในภายหลังโดยใช้รูปแบบ URI elevenlabs://filename

กรณีการใช้งาน:

  • files: เวิร์กโฟลว์แบบไฟล์ดั้งเดิม การพัฒนาท้องถิ่น
  • resources: สภาพแวดล้อมคลาวด์ ไคลเอนต์ MCP ที่ไม่มีการเข้าถึงระบบไฟล์
  • both: ความยืดหยุ่นสูงสุด การแคช และสถานการณ์การแชร์ทรัพยากร

คีย์ภูมิภาคข้อมูล

คุณสามารถระบุภูมิภาคข้อมูลด้วยตัวแปรสภาพแวดล้อม ELEVENLABS_API_RESIDENCY ค่าเริ่มต้นคือ "us"

หมายเหตุ: การเก็บข้อมูลในภูมิภาคเป็นคุณสมบัติเฉพาะองค์กร ดู เอกสาร สำหรับรายละเอียดเพิ่มเติม

การมีส่วนร่วม

หากคุณต้องการมีส่วนร่วมหรือรันจากซอร์ส:

  1. โคลนที่เก็บ:
git clone https://github.com/elevenlabs/elevenlabs-mcp
cd elevenlabs-mcp
  1. สร้างสภาพแวดล้อมเสมือนและติดตั้ง dependencies โดยใช้ uv:
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
  1. คัดลอก .env.example ไปยัง .env และเพิ่มคีย์ API ElevenLabs ของคุณ:
cp .env.example .env
# Edit .env and add your API key
  1. รันการทดสอบเพื่อให้แน่ใจว่าทุกอย่างทำงาน:
./scripts/test.sh
# Or with options
./scripts/test.sh --verbose --fail-fast
  1. ติดตั้งเซิร์ฟเวอร์ใน Claude Desktop: mcp install elevenlabs_mcp/server.py

  2. ดีบักและทดสอบในเครื่องด้วย 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") เพื่อให้แน่ใจว่ามีการอ้างอิงไฟล์ปฏิบัติการที่ถูกต้อง