使用MCP+OpenAI代理SDK的AI导师
该项目演示了如何构建 AI导师 由 OpenAI代理SDK 通过 MCP(模型上下文协议)服务器 上交所。
它包括:
- 一个公开辅导工具的MCP服务器笔记本
- 将代理连接到该服务器的客户端笔记本
- 互动问答、概念解释、总结、抽认卡和测验
项目结构
MCP Server.ipynb\
构建/运行MCP服务器(Gradio+SSE端点)。
AI_Tutor_using_MCP_Open_AI_Agents_SDK.ipynb\
创建代理并连接到MCP服务器的客户端笔记本。
.env\
存储环境变量(例如 OPENAI_API_KEY).
先决条件
- Python 3.10+
- Jupyter环境(VS代码笔记本或Jupyter实验室)
- OpenAI API密钥
安装
在笔记本中运行这些程序(已包含在您的单元格中):
openai-agentsgradioopenaipython-dotenvrequestshttpxpillow
如果您更喜欢终端安装:
pip install -U openai-agents gradio openai python-dotenv requests httpx pillow环境设置
创建/更新 .env 在项目根目录中:
OPENAI_API_KEY=your_api_key_here如何跑步
1) 启动MCP服务器
- 打开
MCP Server.ipynb. - 按顺序运行单元格。
- 确认服务器正在运行并暴露SSE端点(例如):
http://localhost:7860/gradio_api/mcp/sse2) 运行AI导师客户端
- 打开
AI_Tutor_using_MCP_Open_AI_Agents_SDK.ipynb. - 从上到下运行单元格。
- 验证
MCP_BASE匹配您的服务器URL。 - 启动聊天循环单元,并提出以下问题:
- “用简单的语言解释牛顿第三定律。” - “将这段话总结为30%。” - “为光合作用生成8张抽认卡。” - “对我进行二级分数测验。”
可用的导师能力
根据您的MCP服务器实现,客户端代理配置为使用:
explain_concept(question, level)summarize_text(text, compression_ratio)generate_flashcards(topic, num_cards)quiz_me(topic, level, num_questions)
常见问题
MCP超时/读取错误
如果您看到诸如工具超时或 httpx.ReadError:
- 确保
MCP Server.ipynb正在运行。 - 确认
MCP_BASE是正确的,可以在浏览器/HTTP中访问。 - 在客户端设置中增加MCP/工具超时值。
- 重试一次;可能会发生短暂的本地隧道/服务器延迟。
手机在应答后继续运行
如果您的聊天循环使用 while True,它将继续等待下一个输入。\ 类型 exit 或 quit 停止或将循环更改为一次性行为。
备注
- 尽可能将两个笔记本电脑放在同一本地环境/会话中。
- 如果连接变得陈旧,重新启动内核会有所帮助。
- 避免在同一端口上运行重复的服务器实例。
许可证
此项目用于教育/演示用途。
