Inspiration
Planning a trip means juggling many tabs: weather forecasts, flights, hotels, attractions, and budgets. We wanted one assistant that handles all of this in a single conversation. Multi-agent systems and the Model Context Protocol (MCP) looked like a good way to split the work among specialized agents that call real tools instead of guessing.
What it does
Multi-Agent Travel Planner takes a travel request (destination, dates, preferences) and produces a complete plan. Specialized agents work together:
Planner agent breaks the request into tasks and coordinates the others. Weather agent fetches live forecasts through a custom MCP weather server. Itinerary and recommendation agents build a day-by-day plan around the weather and the traveler’s interests. Frontend provides a simple chat-style interface for entering a trip and reading the plan. How we built it LangGraph orchestrates the agents as a stateful graph, with nodes for each agent and edges for routing and shared state. MCP exposes tools to the agents in a standard way. We wrote a custom weather MCP server (custom_weather_mcp_server.py) and an MCP client (mcp_client.py) that connects the agents to it. LLM backend is configured through environment variables (.env_example), so API keys stay out of the repo. Frontend (frontend.py) is a lightweight UI on top of the graph defined in main.py. Python with pinned dependencies in requirements.txt for easy setup. Challenges we ran into Learning how to model agent hand-offs and shared state in LangGraph without creating loops or losing context. Getting the MCP server and client to communicate reliably, including transport setup and tool schema definitions. Making agents call tools when needed instead of hallucinating weather data. Handling API errors, rate limits, and missing or ambiguous user input. Keeping response times acceptable when several agents run in sequence. Accomplishments that we’re proud of Built a working end-to-end multi-agent system, from user input to a finished itinerary. Wrote our own MCP server rather than relying only on prebuilt tools. Grounded recommendations in real weather data instead of generic advice. Kept the project modular, so new agents and tools can be added easily. Documented setup in the README so others can run it quickly. What we learned How graph-based orchestration in LangGraph makes agent workflows easier to reason about and debug than a single long prompt. How MCP standardizes tool access, so tools can be swapped or added without rewriting agent logic. That clear agent roles and well-defined tool descriptions greatly improve reliability. Practical lessons on prompt design, state management, and error handling in agentic apps. What’s next for Multi-Agent-Travel-Planner-App-using-LangGraph-and-MCP Add MCP servers for flights, hotels, maps, and local events. Include budget tracking and cost estimates in the plan. Support multi-city trips and personalized preferences (dietary needs, accessibility, pace). Add memory so the app remembers past trips and preferences. Allow exporting itineraries to PDF or calendar formats. Improve the UI and deploy the app so anyone can try it online.
Built With
- api
- langgraph
- llm
- mcp
- python
Log in or sign up for Devpost to join the conversation.