Back to all projects
Live·Deployed on Hugging Face Spaces

Fin-Ops Travel Planner — Multi-Agent Trip Budgeting Assistant

A CrewAI crew — Flight + Forex Specialist, Travel Budget Profiler, and a Fin-Ops Travel Planner — coordinates over MCP tools to produce a day-by-day itinerary and full budget breakdown that stays within a set total.

CrewAIModel Context Protocol (MCP)Multi-Agent SystemsBudget Optimization
Fin-Ops Travel Planner crew running with live agent progress
Generated day-by-day Paris itinerary
Final budget summary table and assumptions
Technical Deep Dive

Architecture

Three CrewAI agents run sequentially rather than in parallel, because each depends on the previous agent's output: the Flight + Forex Specialist establishes cost context (flight price, exchange rate) via MCP tools, the Travel Budget Profiler turns that into a daily spending allocation across categories, and the Fin-Ops Travel Planner assembles both into a full day-by-day itinerary with a reconciled budget table.

  • MCP tools give agents a consistent interface to external data (flight cost, forex rates) instead of hand-rolled API glue per agent
  • A live progress panel streams each agent's status as the crew runs, and a raw MCP log tab exposes the underlying tool calls for debugging or trust

Thought Process & Design Decisions

Sequential execution was chosen deliberately over a parallel/coordinator pattern: budget allocation genuinely depends on knowing the fixed flight cost first, so running agents in the right order avoids an extra reconciliation step at the end.

The system is designed to be transparent about uncertainty rather than confidently wrong — it surfaces its own assumptions (e.g., when live daily-cost data isn't available, it says so) instead of presenting every number as fact.

Challenges & Trade-offs

  • Keeping the total budget a hard constraint across three independent agent outputs, rather than letting rounding or per-category estimates drift past the total (the demo run lands within $5 of a $4,000 budget and reports the discrepancy explicitly)
  • Designing the MCP tool layer so flight/forex lookups degrade gracefully — falling back to reasonable estimates and disclosing the fallback — when live data isn't available
Stack
PythonCrewAIModel Context Protocol (MCP)GradioHugging Face Spaces