mcpField
A
Agent2AgentProtocol_MCP_servers

Agent2AgentProtocol_MCP_servers

本地服务
github.com/sanikacentricAI 与智能体079 周前更新

关于 Agent2AgentProtocol_MCP_servers

Agent2AgentProtocol_MCP_servers 是用 Python 模拟旅行预订的项目,涵盖航空公司 Agent 及其 MCP Web 和数据库服务。预订 Agent 通过结构化消息收集多个服务商的报价,并按价格排序,使用模拟数据运行。

主要功能

  1. 01模拟航空公司与预订 Agent
  2. 02建模 Web 和数据库服务
  3. 03交换结构化 Agent 消息
  4. 04收集并排序服务报价
  5. 05处理服务离线错误

适用场景

  1. 01比较多家航空公司的机票价格
  2. 02查找可提供的酒店报价
  3. 03练习 Python 模块化 Agent 通信

MCP 相关

项目模拟响应服务价格请求的 MCP 服务,并将其纳入 Agent 间的旅行预订流程。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

正在构建一个旅行预订系统,用户可以预订航班、酒店或租车。 在这个项目中,我们模拟旅行 Agent 通过 MCP 服务(Web 和数据库服务)连接航空公司的场景。 它们通过消息进行通信、比较价格,并为客户找到最佳选项。

本示例展示了数据类、枚举、服务和 Agent 等不同部分如何在 Python 中协同工作。

🔥 涉及步骤

  1. 定义通用数据结构 我们创建枚举(ServiceType、MCPType、AgentStatus),用于统一服务名称和状态。

数据类 AgentMessage 可帮助 Agent 轻松发送结构化信息(发送方、接收方、时间戳等)。

  1. 设置 MCP 服务 MCPServer 的作用类似于后端服务。

它会根据自身类型(Web 或 Database),了解如何响应不同请求,例如获取价格。

如果服务处于离线状态,它会返回错误。

  1. 创建 Agent 卡片 AgentCard 代表航空公司或服务提供商。

每个 Agent 都有:

一个 Web 服务

一个数据库服务

它支持的服务(例如航班、酒店)

自己的身份验证令牌。

Agent 可以生成消息,并验证其他 Agent 的响应。

  1. 连接航空公司 Agent AirlineAgent 将 Agent 卡片与航空公司运营连接起来。

它确保预订 Agent 发出的请求会传递到正确的位置。

  1. 设置预订 Agent BookingAgent 的作用类似于旅行搜索引擎。

它会联系多家航空公司,为航班或酒店找到最优惠的价格。

它生成请求 → 发送给航空公司 → 收集响应 → 按价格从低到高排序。

  1. 查找最佳选项 使用 find_best_option() 方法:

预订 Agent 与航空公司通信,

收集价格,

选出最便宜的优惠,

向客户显示结果。

🛠️ 示例演示 在主程序中:

我们创建两家价格不同的航空公司(Emirates 和 Air India)。

我们创建一个预订 Agent(TravelMaster),让它连接两家航空公司。

当用户想预订航班时:

TravelMaster 会发送价格查询请求。

收集响应。

显示最便宜的航班。

👉 示例输出:

yaml Copy Edit Best flight options:

  1. AirIndia: 250 USD
  2. Emirates: 300 USD (酒店选项为空,因为 Air India 不提供酒店服务。)

📝 总结

部分 作用 ServiceType、MCPType、AgentStatus 用于定义标准术语 AgentMessage 用于构建通信消息 MCPServer 用于处理后端服务 AgentCard 代表服务提供商 AirlineAgent 连接航空公司与 Agent BookingAgent 查找最佳旅行选项 该系统的行为类似于一个迷你版的真实预订平台,但实现方式非常简单易懂。

🏁 结论 本项目展示了如何在 Python 中使用整洁的编码原则,模拟真实世界中的 Agent 通信,例如: ✅ 模块化类 ✅ 用于消息的数据类 ✅ 用于状态管理的枚举 ✅ 简便的 Agent 通信 ✅ 智能的服务处理

尽管这个设计很简单,但之后可以轻松扩展为功能完善的应用程序(例如添加实时预订、支付系统等),扩展能力很强。

🌟 这种设计的优势 关注点分离:每个类都负责自己的职责(服务、Agent、预订)。

可扩展:易于添加更多航空公司、酒店或租车服务。

错误处理:服务不可用时会返回错误消息。

结构化通信:消息传递清晰且一致。

模拟数据:无需真实 API 即可轻松测试。

贴近实际:模拟真实的 Web 服务通信流程。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。