音效生成服务器

SFX MCP Server 是一个基于 ElevenLabs API 的音效生成工具,通过 Model Context Protocol (MCP) 提供音效生成服务,适用于需要快速生成定制音效的开发场景。

  • by ronnqvist
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 ronnqvist/sfx-mcp

使用说明

SFX MCP服务器

SFX MCP服务器提供模型上下文协议(MCP)工具,用于使用ElevenLabs API生成声音效果。它使用内部模块(sfx_mcp.elevenlabs_sfx)作为其声音生成的核心引擎,它被设计为由像Cline这样的MCP客户端管理。

先决条件

  • Python 3.8+
  • Hatch(Python项目经理)
  • ElevenLabs API密钥

设置和安装

此服务器旨在作为MCP服务器运行,通常由MCP客户端应用程序(例如Cline)管理。

  1. 配置API密钥: 创建一个 .env 根目录下的文件 sfx-mcp 项目目录(即。, sfx-mcp/.env):

    ELEVENLABS_API_KEY="your_actual_elevenlabs_api_key"
    

    替换 "your_actual_elevenlabs_api_key" 使用有效的ElevenLabs API密钥。没有它,服务器将无法运行。

  2. 舱口环境设置(通过MCP客户端自动设置): 当像Cline这样的MCP客户端使用以下配置启动此服务器时,Hatch将自动创建一个虚拟环境,安装依赖项(包括 mcp[cli] 以及内部 elevenlabs_sfx 模块组件)并运行服务器脚本。 你通常不需要跑步 hatch env create 或 hatch run 手动进行Cline集成,但这样做对直接测试很有用:

    # To manually test the server startup (from sfx-mcp directory):
    # hatch env remove default  # To ensure a clean build
    # hatch run serve_mcp
    

    这 serve_mcp 脚本在中定义 pyproject.toml.

临床集成(MCP设置)

要将此服务器与Cline一起使用,请将以下配置对象添加到Cline的MCP设置文件中。对于您的系统,此文件通常位于 C:/Users/simon/AppData/Roaming/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json.

{
  "mcpServers": {
    // ... other server configurations ...
    "sfx-mcp": {
      "command": "C:\\Users\\simon\\AppData\\Local\\hatch\\env\\virtual\\sfx-mcp\\GrVLiaOy\\sfx-mcp\\Scripts\\python.exe",
      "args": [
        "-u",
        "-m",
        "sfx_mcp.main"
      ],
      "cwd": "c:\\Users\\simon\\projects\\sfx\\sfx-mcp",
      "env": {},
      "disabled": false,
      "autoApprove": ["generate_sfx"],
      "transportType": "stdio",
      "timeout": 60
    }
    // ... other server configurations ...
  }
}

重要注意事项 cline_mcp_settings.json:

  • command:这个 必须是绝对路径 到 python.exe (或 python 在Linux/macOS上)可执行文件 在为创建的特定Hatch虚拟环境中 sfx-mcp 项目.
    • 要查找此路径,请执行以下操作:
      1. 导航到您的本地 sfx-mcp 终端中的项目目录(例如。, cd c:\Users\simon\projects\sfx\sfx-mcp).
      2. 运行命令 hatch env find default。如果您使用的是PowerShell,则更改目录然后查找环境的命令是 cd sfx-mcp; hatch env find default这将输出虚拟环境的基本路径。对于您的系统,这是 C:\Users\simon\AppData\Local\hatch\env\virtual\sfx-mcp\GrVLiaOy\sfx-mcp.
      3. Python 可执行文件通常在 Scripts\python.exe (Windows)或 bin/python (Linux/macOS)位于此基本路径内。
      4. Windows系统的示例,给定 hatch env find default 输出: 命令路径为 C:\\Users\\simon\\AppData\\Local\\hatch\\env\\virtual\\sfx-mcp\\GrVLiaOy\\sfx-mcp\\Scripts\\python.exe(注意JSON的双反斜杠)。
  • args:应该是 ["-u", "-m", "sfx_mcp.main"] 将服务器脚本作为无缓冲模块运行。
  • cwd:这个 必须是绝对路径 到本地的根目录 sfx-mcp 项目。对于您的系统,这是 "c:\\Users\\simon\\projects\\sfx\\sfx-mcp" (在JSON中使用双反斜杠)或 "c:/Users/simon/projects/sfx/sfx-mcp".

工具概述

服务器提供了一个工具:

generate_sfx

  • 描述:使用ElevenLabs API基于文本提示生成声音效果,并返回生成的MP3音频文件的绝对路径。
  • 参数:
    • text (string,必填):声音效果的描述性提示(例如,“猫喵喵叫”)。
    • duration_seconds (浮动,可选):声音效果的期望持续时间(秒)。
    • prompt_influence (float,可选,0.0-1.0):控制提示对生成的影响程度。
    • output_directory (string,可选):应保存声音效果的目录路径(绝对或相对于服务器的CWD)。如果未提供,则默认为 sfx-mcp/mcp_temp_files/。如果目录不存在,将创建该目录。
    • output_filename (string,可选):声音效果的所需文件名(例如。, my_sound.mp3).如果没有提供,请提供一个唯一的名称,如 sfx_<uuid>.mp3 生成。如果文件名缺少扩展名, .mp3 附。如果文件已经存在于目标目录中。, my_sound_v2.mp3).
  • 输出:一个字符串,包含生成和保存的MP3文件的绝对路径。路径反映了所选的目录和文件名(包括任何版本)。

发展

此项目使用 Hatch 用于项目管理和 ruff 用于修剪/格式化。

  • 装订和格式化:
    hatch fmt
    

许可证

该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。