Whissle MCP服务器
一个基于Python的服务器,提供对Whisle API端点的访问,用于演讲到文本、日记化、翻译和文本摘要。
⚠️ 重要提示
- 此服务器提供对Whisle API端点的访问,这可能会产生成本
- 每个进行API调用的工具都标有成本警告
- 请遵循以下指南:
1. 仅在用户明确要求时使用工具 1. 对于处理音频的工具,考虑音频的长度,因为它会影响成本 1. 翻译或摘要等一些操作可能成本更高 1. 描述中没有成本警告的工具可以免费使用,因为它们只读取现有数据
先决条件
- Python 3.8或更高版本
- pip(Python包安装程序)
- Whisle API身份验证令牌
安装
- 克隆存储库:
git clone
cd whissle_mcp- 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate # On Windows, use: venv\Scripts\activate- 安装所需的软件包:
pip install -e .- 设置环境变量:
创建一个 .env 项目根目录中的文件,内容如下:
WHISSLE_AUTH_TOKEN=insert_auth_token_here # Replace with your actual Whissle API token
WHISSLE_MCP_BASE_PATH=/path/to/your/base/directory⚠️ 重要:永远不要将您的实际令牌提交到存储库。这 .env 文件包含在 .gitignore 以防止意外犯罪。
- 配置Claude集成:
复制 claude_config.example.json 向 claude_config.json 并更新路径:
{
"mcpServers": {
"Whissle": {
"command": "/path/to/your/venv/bin/python",
"args": [
"/path/to/whissle_mcp/server.py"
],
"env": {
"WHISSLE_AUTH_TOKEN": "insert_auth_token_here"
}
}
}
}- 替换 /path/to/your/venv/bin/python 虚拟环境中Python解释器的实际路径 - 替换 /path/to/whissle_mcp/server.py 带有server.py文件的实际路径
配置
环境变量
WHISSLE_AUTH_TOKEN:您的Whisle API身份验证令牌(必需)
- 这是一个敏感的凭据,不应共享或提交给版本控制 - 请与管理员联系以获取有效令牌 - 将其安全地存储在您的本地 .env 文件
WHISSLE_MCP_BASE_PATH:文件操作的基本目录(可选,默认为用户的桌面)
支持的音频格式
服务器支持以下音频格式:
- WAV(.WAV)
- MP3(.MP3)
- OGG(.OGG)
- FLAC(.FLAC)
- M4A(.M4A)
文件大小限制
- 最大文件大小:25 MB
- 大于此限制的文件将被拒绝
可用工具
1.语音转文本
使用Whisle API将语音转换为文本。
response = speech_to_text(
audio_file_path="path/to/audio.wav",
model_name="en-NER", # Default model
timestamps=True, # Include word timestamps
boosted_lm_words=["specific", "terms"], # Words to boost in recognition
boosted_lm_score=80 # Score for boosted words (0-100)
)2.演讲日记
使用说话者标识将语音转换为文本。
response = diarize_speech(
audio_file_path="path/to/audio.wav",
model_name="en-NER", # Default model
max_speakers=2, # Maximum number of speakers to identify
boosted_lm_words=["specific", "terms"],
boosted_lm_score=80
)3.文本翻译
将文本从一种语言翻译成另一种语言。
response = translate_text(
text="Hello, world!",
source_language="en",
target_language="es"
)4.文本摘要
使用LLM模型总结文本。
response = summarize_text(
content="Long text to summarize...",
model_name="openai", # Default model
instruction="Provide a brief summary" # Optional
)5.列出ASR型号
列出所有可用的ASR型号及其功能。
response = list_asr_models()响应格式
语篇转换与日记化
{
"transcript": "The transcribed text",
"duration_seconds": 10.5,
"language_code": "en",
"timestamps": [
{
"word": "The",
"startTime": 0,
"endTime": 100,
"confidence": 0.95
}
],
"diarize_output": [
{
"text": "The transcribed text",
"speaker_id": 1,
"start_timestamp": 0,
"end_timestamp": 10.5
}
]
}翻译
{
"type": "text",
"text": "Translation:\nTranslated text here"
}摘要
{
"type": "text",
"text": "Summary:\nSummarized text here"
}错误响应
{
"error": "Error message here"
}错误处理
服务器包括强大的错误处理功能,包括:
- 自动重试HTTP 500错误
- 不同故障场景的详细错误消息
- 文件验证(存在、大小、格式)
- 身份验证检查
常见错误类型:
- HTTP 500:服务器错误(具有重试机制)
- HTTP 413:文件太大
- HTTP 415:不支持的文件格式
- HTTP 401/403:身份验证错误
运行服务器
- 启动服务器:
mcp serve- 服务器将在默认的MCP端口(通常为8000)可用
测试
提供了一个测试脚本来验证所有工具的功能:
python test_whissle.py测试脚本将:
- 检查身份验证令牌
- 测试所有可用工具
- 提供每个操作的详细输出
- 优雅地处理错误
支持
如有任何问题或疑问,请:
- 查看错误消息以了解具体详细信息
- 验证您的身份验证令牌
- 确保您的音频文件符合要求
- 联系Whisle支持部门了解API相关问题
许可证
\[在此处添加您的许可证信息\]
