使用说明

项目简介

Jessica 是一个实现了 Model Context Protocol (MCP) 的后端服务器,专注于提供文本到语音 (TTS) 服务。它集成了 ElevenLabs 的 TTS API,允许 LLM 客户端(如 Cursor)通过 MCP 协议调用语音合成功能。该项目包含 FastAPI 后端服务和 React 前端应用,后端作为 MCP 服务器运行,前端提供用户界面和 WebSocket 通信。

主要功能点

  • 文本转语音 (TTS): 使用 ElevenLabs API 将文本转换为自然流畅的语音。
  • 语音选择和管理: 支持选择不同的 ElevenLabs 语音模型。
  • MCP 集成: 通过 Model Context Protocol 标准协议与 LLM 客户端(如 Cursor)进行通信,提供 TTS 功能。
  • 实时音频流: 通过 WebSocket 提供实时的音频流传输。
  • 可配置性: 允许用户配置默认语音、模型等设置。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/georgi-io/jessica.git
    cd jessica
  2. 配置 ElevenLabs API 密钥:

    • 复制 '.env.example' 文件为 '.env'。
    • 打开 '.env' 文件,将 'ELEVENLABS_API_KEY=your-api-key' 中的 'your-api-key' 替换为你的 ElevenLabs API 密钥。
  3. 安装后端依赖 (Python):

    python -m venv .venv
    source .venv/bin/activate  # 或 Windows: .venv\Scripts\activate
    poetry install
  4. 安装前端依赖 (Node.js):

    cd src/frontend
    npm install
    cd ../.. # 返回项目根目录

服务器配置

MCP 客户端(例如 Cursor)需要配置连接到 Jessica MCP 服务器。以下是配置信息,请在 MCP 客户端中按照示例进行配置:

{
  "serverName": "Jessica TTS",  // MCP 服务器名称,自定义
  "command": "python",      // 启动 MCP 服务器的命令
  "args": ["-m", "src.backend"], // 启动命令的参数,指向后端入口
  "transport": "sse",       // MCP 通信协议,Jessica 服务器使用 SSE
  "url": "http://localhost:9022/sse" // MCP 服务器的 SSE Endpoint 地址
}

配置说明:

  • 'serverName': 为你的 MCP 服务器自定义一个名称,方便在客户端中识别。
  • 'command': 运行 Python 解释器的命令,通常为 'python' 或 'python3'。
  • 'args': 传递给 'python' 命令的参数,'-m src.backend' 指示 Python 运行 'src/backend' 目录作为模块,启动 FastAPI 应用。
  • 'transport': 指定 MCP 服务器使用的传输协议,Jessica 服务器使用 Server-Sent Events (SSE)。
  • 'url': MCP 服务器提供的 SSE Endpoint URL,客户端通过此 URL 与服务器建立连接。默认情况下 Jessica MCP 服务器在 'http://localhost:9022/sse' 提供服务。

基本使用方法

  1. 启动后端服务器:

    source .venv/bin/activate  # 激活 Python 虚拟环境 (如果尚未激活)
    python -m src.backend

    启动后,后端服务器将运行在 'http://localhost:9020',MCP 服务器 (SSE) 将运行在 'http://localhost:9022/sse'。

  2. 在 MCP 客户端中添加服务器:

    • 打开你的 MCP 客户端(例如 Cursor)。
    • 在客户端的设置或扩展配置中,找到添加 MCP 服务器的选项。
    • 按照上述 “服务器配置” 部分提供的 JSON 配置信息,填写服务器名称、命令、参数、传输协议和 URL。
    • 保存配置并连接到 Jessica TTS MCP 服务器。
  3. 使用 TTS 功能:

    • 在 MCP 客户端中,当需要使用文本转语音功能时,客户端将通过 MCP 协议与 Jessica 服务器通信。
    • Jessica 服务器接收请求,调用 ElevenLabs API 进行语音合成,并将结果返回给客户端。
    • 具体使用方式取决于 MCP 客户端的功能和界面。通常,你可以在客户端中找到调用 "speak_text" 或类似名称的工具来使用 TTS 功能。

注意事项

  • 确保已正确配置 ElevenLabs API 密钥,否则 TTS 功能将无法正常工作。
  • 检查防火墙设置,确保 MCP 客户端可以访问 MCP 服务器的 URL ('http://localhost:9022/sse')。
  • 可以通过修改 '.env' 文件中的 'PORT' 和 'MCP_PORT' 变量来更改服务器端口。

信息

分类

AI与计算