使用说明
超级奇点MCP服务器
一个模型上下文协议(MCP)服务器,用于集成Claude Desktop与Super Singularity的课程创建API、ElevenLabs文本到速度和Azure Blob存储。
特性
- 完整的课程管理:创建、更新和管理课程
- 所有卡类型:支持内容、测验、投票、表单、视频、音频和链接卡
- 文本转语音:使用ElevenLabs TTS从文本生成音频
- 云存储:在Azure Blob存储上上传和托管音频文件
- 脚本保存:将原始脚本文本存储在声卡内容中
- 生产就绪:环境配置、错误处理和超时管理
快速开始
-
克隆并安装:
git clone <repository-url> cd mcp-servers uv sync -
配置环境:
cp .env.example .env # Edit .env with your API keys and configuration -
添加到克劳德桌面: 增添
~/Library/Application Support/Claude/claude_desktop_config.json:{ "mcpServers": { "super-singularity": { "command": "uv", "args": ["run", "python", "/path/to/mcp-servers/server.py"] } } } -
重新启动克劳德桌面 开始创建课程!
环境配置
中所需的环境变量 .env:
# Super Singularity API
API_BASE_URL=https://your-api-domain.com
API_TOKEN=your-bearer-token-here
COMPANY_ID=your-company-id-here
# ElevenLabs TTS
ELEVENLABS_API_KEY=your-elevenlabs-api-key-here
ELEVENLABS_VOICE_ID=21m00Tcm4TlvDq8ikWAM
# Azure Blob Storage
AZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=https;AccountName=...
AZURE_CONTAINER_NAME=audio-files
可用工具
课程管理
get_course(course_id)-获取课程详细信息create_course(title, ...)-创建新课程get_course_cards(course_id)-获取课程中的所有卡片
卡片创建
create_content_card()-带有可选图像的文本内容create_quiz_card()-多项选择题create_poll_card()-收集学习者反馈的民意调查create_form_card()-用于收集学习者反馈的表单输入create_video_card()-视频内容create_audio_card()-可选择保留脚本的音频内容create_link_card()-外部资源链接
音频生成
generate_audio_from_text(text, title)-使用ElevenLabs TTS生成音频- 创建音频文件并上传到Azure存储
- 返回URL和脚本保留说明
声卡工作流程
由于MCP的限制,从脚本创建声卡需要两个步骤:
-
生成音频:
generate_audio_from_text("Your script text here", "Audio Title") -
创建保留脚本的卡片:
create_audio_card(course_id, audio_url, title, script="Your script text here")
script参数保留卡片内容中的原始文本以供将来参考。
发现MCP限制
问题
组合多个异步操作(ElevenLabs+Azure+API请求)的MCP工具会在Claude Desktop中导致“内部服务器错误”,无论函数名称或实现方法如何。
失败的尝试
所有这些都导致了内部服务器错误:
create_audio_card_from_script()generate_audio_url_from_script()create_audio_card_using_script()test_helper_function_plus_api()
工作溶液
每个操作都有单独的工具:
generate_audio_from_text()-仅处理ElevenLabs+Azurecreate_audio_card()-仅处理API请求- 两步式工作流程,包含清晰的脚本保存说明
根本原因分析
该限制似乎与以下因素有关:
- 单个MCP工具中的复杂异步操作链
- 多步骤操作的超时阈值
- Claude Desktop MCP客户端中的内存/资源约束
- 组合外部服务调用的事件循环处理
社区验证
我们的发现与社区中记录的已知MCP问题一致:
- GitHub问题#424:“MCP超时需要可配置”
- GitHub问题#417:“MCP服务器内部服务器错误报告”
- 关于超时错误和内部服务器错误的多个论坛讨论
学到的最佳实践
- 保持MCP工具的简单性和原子性 -每个工具的单一责任
- 避免合并多个外部服务呼叫 在一个工具中
- 使用辅助函数 对于复杂的操作,但可以从单独的工具调用它们
- 提供明确的指示 在工具响应中指导多步骤工作流
- 增量测试 添加新集成时
API 文档
API完整文档可在以下位置获得: documentation/external-api-documentation.md
依赖项
mcp-模型上下文协议Python SDKhttpx-API请求的异步HTTP客户端elevenlabs-ElevenLabs TTS集成azure-storage-blob-Azure Blob存储客户端python-dotenv-环境变量管理
许可证
[在此处添加您的许可证]
贡献
[在此处添加贡献指南]
