使命:让披萨AI就绪
概述:
该项目演示了传统的披萨API如何通过 模型上下文协议(MCP)。
该系统将OpenAPI规范转换为MCP服务器,而不是为特定的LLM构建新的后端逻辑 然后通过multiliple合作代理证明现实世界的可用性。
问题陈述:
人工智能代理正在成为用户的新界面。 传统API不会直接与代理交互,除非它们通过支持可重构性、工具执行和结构化上下文的协议公开。
这个项目的目标也是:
1.自动将OpenAPI规范转换为MCP服务器。
2.让AI代理可以访问披萨API。
3.通过真实世界的订购和调度工作流演示代理协作,就像它是代理到代理的工作流一样。
高级体系结构
项目结构
openapi到mcp披萨代理到代理/
│ ├── 代理商/ │ ├── ordering_agent.py │ └── scheduling_agent.py │ ├── mcp服务器/ │ ├── pizza_mcp_server.py │ └── 日历_mcp_server.py │ ├── mcp发生器/ │ └── openapi_to_mcp.py │ ├── openapi/ │ └── pizza.yaml │ ├── 需求.txt
├── README.md
系统的工作原理
- ## OpenAPI->MCP
- Pizza API是使用OpenAPI规范定义的。
- 生成器读取OpenAPI文件并创建MCP工具定义。
- 由此产生的MCP服务器以代理可用的形式在功能上公开pizza。
- ## 订购代理
- 接受用户的自然语言输入。
- 使用LLM确定要调用哪个MCP工具。
- 调用Pizza MCP服务器下订单。
- 接收结构化订单字典(订单ID,ETA)。
- ## 调度代理(A2A)
- 从订购代理处接收订单详细信息。
- 通过结构化数据进行通信
- 调用Calender MCP服务器以安排交付
- 向用户返回确认信息。
示例运行
用户我想订购农舍披萨,中号。
法学硕士决定:{
“tool”:“place_order”,
“论点”:{
“披萨”:“农舍”,
“大小”:“中等”
} }
订单确认:
{“order_id”:“ORD-3C9617”,“pizza”:“Farmhouse”,“size”:“medium”,“status”:
“已确认”、“eta_minutes”:30}
调度代理收到订单详细信息:
{“order_id”:“ORD-3C9617”,“pizza”:“Farmhouse”,“size”:“medium”,“status”:
“已确认”、“eta_minutes”:30}
交货计划日历MCP
{“event_id”:“EVT-FE5CFC”,“title”:“订单ORD-3C9617的披萨配送”,
“开始时间”:“2025-12-26T23:16:54.539691”,“状态”:“事件已创建”}
安装说明
1.创建虚拟环境
python-m venv-venv
源venv/bin/activate#Windows:venv\\Scripts\\activate
2.安装依赖项
pip安装-r要求.txt
3.启动MCP服务器
python mcpservers/pizza_mcp_server.py
python mcpservers/calendar_mcp_server.py
4.运行订购代理/调度代理
python代理/ordering_agent.py
python代理/调度agent.py
5.结合订购和调度代理(A2A)
python-m代理。订购代理
模型兼容性
该系统与模型无关。
由于执行由MCP服务器处理,订购代理可以使用:
- Groq
- ChatGPT
- 双子座
不需要后端更改。
结论
该项目展示了如何通过以下方式使现有API为AI做好准备:
- 将OpenAPI规范转换为MCP服务器。
- 使用代理作为编排层。
- 通过代理协作实现现实世界的工作流程。
重点是协议的保真度、清晰度和可扩展性,而不是模型 具体实现
作者
姓名:Yashwanth Singh
github:https://github.com/Yash1-23
领英:https://linkedin.com/in/yashwanthsingh
