article
README
🚀 ElevenLabsscribe MCP 服务器
本项目是针对 ElevenLabs' Scribe 语音转文字 API 的 Model Control Protocol (MCP) 服务器实现,具备实时转录功能,支持高级上下文管理及双向流技术,能有效提升语音转录的效率与准确性。
✨ 主要特性
- 实时转录:可直接从麦克风流式传输音频,实时获取转录结果。
- 文件批量处理:支持上传音频文件进行批次处理。
- MCP 协议支持:完整实现模型控制协议,增强上下文管理能力。
- WebSocket 支持:具备实时双向通信功能。
- 上下文管理:维护对话上下文,提高转录准确性。
- 多种音频格式:支持多种音频格式并自动转换。
- 语言检测:自动识别语言并给出置信度评分。
- 事件检测:能够识别语音与非语音音频片段。
📦 安装指南
- 克隆仓库:
git clone https://github.com/aromanstatue/MCP-Elevenlab-Scribe-ASR.git
cd MCP-Elevenlab-Scribe-ASR
- 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate # 在 Windows 系统中使用:venv\Scripts\activate
- 安装依赖项:
pip install -e .
- 创建包含 API 密钥的
.env文件:
ELEVENLABS_API_KEY=your-api-key-here
💻 使用示例
启动服务器
python -m elevenlabs_scribe_mcp_server.main
服务器将启动在默认端口 8000 或下一个可用端口。
示例客户端使用
基础用法
- 文件转录:
python examples/client_example.py --file path/to/audio.wav
- 麦克风转录:
python examples/client_example.py --mic
API 接口
REST API
POST /transcribe:上传音频文件进行转录GET /health:健康检查接口
WebSocket API
ws://localhost:8000/ws/transcribe:实时音频转录
MCP 协议
服务器实现了模型控制协议(MCP),支持以下消息类型:
INIT:初始化新的转录会话START:开始音频流式传输AUDIO:发送音频数据TRANSCRIPTION:接收转录结果ERROR:错误信息STOP:结束音频流式传输DONE:完成会话
📚 详细文档
开发指南
运行测试
pytest tests/
项目结构
elevenlabs-scribe-mcp-server/
├── elevenlabs_scribe_mcp_server/
│ ├── __init__.py
│ ├── main.py # FastAPI 服务器入口
│ └── mcp/
│ ├── __init__.py
│ ├── protocol.py # MCP 协议处理模块
│ ├── types.py # 协议类型定义
│ └── elevenlabs.py # ElevenLabs 实现模块
├── examples/
│ └── client_example.py # 示例客户端代码
├── tests/
│ └── test_transcribe.py # 测试套件
├── pyproject.toml # 项目元数据文件
└── README.md # 项目说明文档
依赖项
- Python 3.8+
- FastAPI
- Uvicorn
- PyAudio(麦克风支持)
- aiohttp
- python-dotenv
- pydantic
贡献指南
- 叉克仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交修改(
git commit -m 'Add amazing feature') - 推送到分支(
git push origin feature/amazing-feature) - 提交 Pull Request
📄 许可证
MIT License
如需了解详细信息,请参考 官方文档。
Scan to contact