Token导航 LogoToken导航TokenDH.com
MCP Multi Agent Travel Planner logo
AI代理stdio官方级别未说明来源级核验

MCP Multi Agent Travel Planner

MCP Server

一个基于Model Context Protocol (MCP)的多智能体AI系统,用于协调规划并验证旅行行程,支持航班、酒店和景点搜索,以及预算管理。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
多智能体系统旅行规划PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Saksha05

提供方

Saksha05

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv venv

详细介绍

基于MCP的多智能体出行计划系统

一个完整的、可用于生产的Python项目,演示了使用模型上下文协议(MCP)的多代理AI系统。该系统协调两个专业代理,使用定制的MCP服务器和OpenAI的GPT-4来规划和验证行程。

🎯 系统架构

┌─────────────────┐
│   User Request  │
└────────┬────────┘
         │
         ▼
┌─────────────────────────────────┐
│      Orchestrator               │
│  (Coordinates both agents)      │
└────────┬───────────────┬────────┘
         │               │
         ▼               ▼
┌────────────────┐   ┌──────────────────┐
│ PlannerAgent   │   │  BudgetAgent     │
│ (OpenAI SDK)   │   │  (OpenAI SDK)    │
└────────┬───────┘   └────────┬─────────┘
         │                    │
         ▼                    ▼
┌─────────────────┐   ┌──────────────────┐
│ Planner MCP     │   │  Budget MCP      │
│ Server          │   │  Server          │
│ - search_hotels │   │ - calculate_cost │
│ - search_flights│   │ - get_exchange_  │
│ - search_places │   │   rates          │
└─────────────────┘   └──────────────────┘

📁 项目结构

agentic_ai/
│
├── mcp-servers/
│   ├── planner-server/
│   │   ├── server.py                 # MCP server for planning tools
│   │   ├── tools/
│   │   │   ├── search_hotels.py      # Hotel search tool
│   │   │   ├── search_flights.py     # Flight search tool
│   │   │   └── search_places.py      # Places/attractions tool
│   │   └── requirements.txt
│   │
│   └── budget-server/
│       ├── server.py                 # MCP server for budget tools
│       ├── tools/
│       │   ├── calculate_cost.py     # Cost calculation tool
│       │   └── get_exchange_rates.py # Currency exchange tool
│       └── requirements.txt
│
├── agents/
│   ├── planner_agent.py              # Agent that creates itineraries
│   └── budget_agent.py               # Agent that validates budgets
│
├── orchestrator.py                   # Main entry point
├── requirements.txt                  # Root dependencies
└── README.md                         # This file

🚀 特性

MCP服务器

计划服务器 -展示行程规划工具:

  • search_hotels(location, max_price) -查找预算内的酒店
  • search_flights(source, destination, date) -搜索航班
  • search_places(city) -探索旅游景点

预算服务器 -展示预算管理工具:

  • calculate_cost(itinerary_json) -计算总行程成本
  • get_exchange_rates(target_currency) -获取货币兑换率

AI代理

规划师代理人:

  • 连接到Planner MCP服务器
  • 使用OpenAI GPT-4进行函数调用
  • 动态调用MCP工具搜索航班、酒店和景点
  • 以JSON格式生成全面的行程

预算代理:

  • 连接到Budget MCP服务器
  • 使用OpenAI GPT-4进行函数调用
  • 使用MCP工具计算总成本
  • 根据用户预算进行验证
  • 如果超出预算,建议进行修改

编排器

  • 协调整个工作流程
  • 将用户请求路由到PlannerAgent
  • 将行程传递给BudgetAgent进行验证
  • 返回最终批准或修改的行程

📋 先决条件

  • Python 3.10或更高版本
  • OpenAI API密钥
  • macOS、Linux或Windows与WSL

🛠️ 安装

1.克隆或导航到项目目录

cd /Users/iddyasaksharajesh/Desktop/agentic_ai

2.创建虚拟环境(推荐)

python -m venv venv
source venv/bin/activate  # On macOS/Linux
# or
# venv\Scripts\activate  # On Windows

3.安装依赖项

安装根依赖项:

pip install -r requirements.txt

安装MCP服务器依赖项:

# Planner server
cd mcp-servers/planner-server
pip install -r requirements.txt
cd ../..

# Budget server
cd mcp-servers/budget-server
pip install -r requirements.txt
cd ../..

#运行脚本:

  1. 导出USE_OLLAMA=true
  2. python3管弦乐器.py

交互菜单

编排器提供了一个交互式菜单,其中包含示例行程请求:

🌍 MULTI-AGENT TRIP PLANNING SYSTEM
================================================================================

Example trip requests:

1. Plan a 3-day trip to Paris from New York, departing on 2025-12-15. 
   I want to visit the Eiffel Tower and Louvre Museum.
   Budget: $2000

2. I want to go to Tokyo from New York for 5 days starting 2025-12-20. 
   Show me hotels under $200/night.
   Budget: $3000

3. Plan a weekend trip to London from New York, December 10-12, 2025. 
   Budget friendly options please.
   Budget: $1500

4. Enter custom request

Select an option (1-4):

自定义请求示例

Select an option (1-4): 4
Enter your trip request: Plan a 4-day trip to Tokyo from Paris in January 2026
Enter your budget (USD): 3500

🔍 运作原理

第一步:规划阶段

PlannerAgent:

  1. 接收用户的出行请求
  2. 连接到Planner MCP服务器
  3. 使用GPT-4和函数调用:

- 提取目的地、日期和要求 - 呼叫 search_flights 查找航班 - 呼叫 search_hotels 寻找住宿 - 呼叫 search_places 发现景点

  1. 以JSON格式编译全面的行程

步骤2:预算验证阶段

BudgetAgent:

  1. 接收行程和用户预算
  2. 连接到Budget MCP服务器
  3. 使用GPT-4和函数调用:

- 呼叫 calculate_cost 计算总费用 - 与用户预算进行比较 - 可选呼叫 get_exchange_rates 用于货币兑换

  1. 返回批准或建议修改

步骤3:最终输出

编排者:

  • 显示完整的已验证行程
  • 显示预算明细
  • 将结果保存到 trip_result.json

📊 输出示例

{
  "request": "Plan a 3-day trip to Paris from New York, departing on 2025-12-15.",
  "budget": 2000,
  "approved": true,
  "total_cost": 1892,
  "difference": 108,
  "message": "Your trip is approved! Total cost is within budget.",
  "itinerary": {
    "destination": "Paris",
    "start_date": "2025-12-15",
    "end_date": "2025-12-18",
    "flights": [
      {
        "airline": "United",
        "source": "New York",
        "destination": "Paris",
        "price": 780,
        "duration": "8h 00m",
        "date": "2025-12-15"
      }
    ],
    "hotels": [
      {
        "name": "Cozy Inn",
        "location": "Paris",
        "price_per_night": 120,
        "rating": 4.0,
        "nights": 3
      }
    ],
    "activities": [
      {
        "name": "Eiffel Tower",
        "type": "Landmark",
        "description": "Iconic iron tower with city views",
        "entry_fee": 25
      },
      {
        "name": "Louvre Museum",
        "type": "Museum",
        "description": "World's largest art museum",
        "entry_fee": 17
      }
    ],
    "currency": "USD"
  }
}

🧪 测试单个组件

测试计划器MCP服务器

cd mcp-servers/planner-server
python server.py

服务器通过stdio运行并等待MCP协议消息。

测试预算MCP服务器

cd mcp-servers/budget-server
python server.py

独立测试计划代理

cd agents
python planner_agent.py

独立测试BudgetAgent

cd agents
python budget_agent.py

🔧 配置

更改MCP服务器路径

orchestrator.py,如果需要,请更新路径:

planner_server_path = self.base_path / "mcp-servers/planner-server/server.py"
budget_server_path = self.base_path / "mcp-servers/budget-server/server.py"

在OpenAI和Anthropic之间切换

使用Anthropic的Claude:

  1. 安装Anthropic SDK:
pip install anthropic
  1. 将代理中的OpenAI客户端替换为Anthropic客户端
  2. 将模型名称更新为Claude(例如。, claude-3-5-sonnet-20241022)
  3. 调整工具调用格式以匹配Anthropic的API

添加更多工具

要向MCP服务器添加新工具,请执行以下操作:

  1. 在中创建一个新的Python文件 tools/ 目录
  2. 执行工具功能
  3. 导入并注册 server.py
  4. 更新 list_tools() 处理器
  5. 添加工具调用 call_tool() 处理器

📝 技术细节

MCP协议

本项目使用官方Python MCP SDK(mcp>=0.9.0)其实现了:

  • 服务器端工具注册
  • 通信标准传输
  • 工具调用协议
  • JSON-RPC消息传递

代理体系结构

两个代理都遵循这种模式:

  1. 连接 通过stdio传输到MCP服务器
  2. 列表 服务器上的可用工具
  3. 转换 将MCP工具模式转换为OpenAI函数格式
  4. 执行 与GPT-4的对话循环
  5. 呼叫 基于LLM决策的MCP工具动态
  6. 解析 结果并继续对话
  7. 提取 最终结构化输出(JSON)
  8. 断开 来自MCP服务器

异步/等待

整个系统使用Python asyncio 用于:

  • 无阻塞MCP服务器通信
  • 并行工具执行
  • 高效的资源管理

🐛 故障排除

“OPENAI_API_KEY未设置”错误

确保已导出环境变量:

export OPENAI_API_KEY='your-key-here'
echo $OPENAI_API_KEY  # Verify it's set

MCP连接错误

检查:

  • Python可以在PATH中访问
  • 服务器路径正确
  • 所有依赖项均已安装

导入错误

运行时请确保您位于项目根目录中:

cd /Users/iddyasaksharajesh/Desktop/agentic_ai
python orchestrator.py

速率限制

如果你达到了OpenAI的速率限制:

  • 在请求之间等待几分钟
  • 考虑升级你的OpenAI计划
  • 减少提示中的工具调用次数

🎓 学习资源

📄 许可证

本项目按原样提供,用于教育目的。

🤝 贡献

欢迎通过以下方式扩展此项目:

  • 添加更多MCP工具(天气、地图、预订)
  • 实施更多代理(翻译、审查分析)
  • 支持其他法学硕士提供者(Anthropic、谷歌)
  • 添加web界面(FastAPI、Streamlit)

📧 支持

有关问题或疑问,请查看:

  1. 此自述文件
  2. MCP文件
  3. OpenAI API文档

______________________________________________________________________

内置:

  • Python 3.10+
  • 模型上下文协议(MCP)
  • OpenAI GPT-4
  • 异步

快乐的旅行计划! ✈️🌍

目录标签

目录标签

多智能体系统旅行规划PythonClaude本地部署预算管理AI协调MCP协议

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP