ElevenLabs Scribe MCP服务器
用于ElevenLabs Scribe语音转文本API的模型控制协议(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 # On Windows: venv\Scripts\activate- 安装依赖项:
pip install -e .- 创建一个
.env使用ElevenLabs API密钥文件:
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 --micAPI终点
- 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 server
│ └── mcp/
│ ├── __init__.py
│ ├── protocol.py # MCP protocol handler
│ ├── types.py # Protocol types
│ └── elevenlabs.py # ElevenLabs implementation
├── examples/
│ └── client_example.py # Example client
├── tests/
│ └── test_transcribe.py # Test suite
├── pyproject.toml # Project metadata
└── README.md需求
- Python 3.8+
- 快速 API
- 乌维科恩
- PyAudio(用于麦克风支持)
- 意图tp
- python dotenv
- 媒染剂
贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
致谢
- ElevenLabs凭借其卓越的Scribe API
- 用于现代web框架的FastAPI
- Python社区,提供令人惊叹的工具和库
