Experimental Seat Booking Agent

by minyang-chen

MCP Client 4 stars
  • agent-framework

Experimental Seat Booking Agent implementation using OpenAI Agents SDK and Autogen memory and MCP tools support

About

What is Experimental Seat Booking Agent?

An experimental seat booking agent implementation that combines OpenAI Agents SDK, Autogen extensions, and MCP (Model Context Protocol) tools support. It runs on Linux and provides a Chainlit web chat interface for self-service airline seat reservations.

How to use Experimental Seat Booking Agent?

Set up a Python virtual environment, install dependencies from requirements.txt, and launch the application by running chainlit run app.py from the project root.

Key features of Experimental Seat Booking Agent

- Triage agent answers general inquiries using tools
- Routes customer questions to specialized agents
- Retrieves user preferences on seating, airlines, and food
- Uses agents as tools for question routing
- Uses MCP server tools for web fetch and file reading
- QA agent handles knowledge about planes, flights, and onboarding
- Seat booking agent specialized for plane seat reservations
- Web chat interface for user self-service

Use cases of Experimental Seat Booking Agent

- Self-service airline seat reservation kiosk for comprehensive customer support
- Handling reservations, inquiries, and preference retrieval through a call-center-like interface
- Routing passenger questions to specialized agents (QA, seat booking) for efficient service
- Demonstrating integration of OpenAI Agents SDK, Autogen, and MCP tools in a travel workflow

FAQ from Experimental Seat Booking Agent

What is the purpose of this agent?

It is designed to provide comprehensive customer support at an airline self-service kiosk, handling tasks like reservations, general inquiries, and passenger assistance.

What technologies does it use?

The stack includes Linux, OpenAI Agents SDK, Autogen 0.4 with extensions (MCP Tools, OpenAI, Ollama), Chainlit UI, and Ollama running local Qwen2.5 models.

Does it support MCP servers?

Yes, the triage agent uses MCP servers as tools to perform web fetch content and read file system operations.

How is the project licensed?

The project is licensed under the MIT License.

Are there any known limitations?

The agent is experimental; planned improvements include saving seat history, implementing RAG for the FAQ agent, improving memory storage, and adding MCP tools to invoke an actual booking service API.

Details

Author
minyang-chen
GitHub stars
4
Category
agent-framework
Repository
minyang-chen/seat-booking-agent

Experimental Seat Booking Agent

Experimental seat booking agent implementation combines OpenAI Agents SDK, Autogen extensions, and MCP tools support.

seat-booking-workflow-graph

Use Case

The self-service airline seat reservation kiosk, also known as a flight seat booking service agent or passenger service agent, is designed to provide comprehensive customer support and assistance. This kiosk ensures a smooth and positive travel experience by handling various tasks, including reservations, through its call center interface.

Key Features:

- Triage agent answer user general inquiry with tools - Triage agent should route customer question to specialized agents - Triage agent retrieve user preferences on seating, airlines and food - Triage agent use agents as tools on question routing - Triage agent use MCP server as tools to perform web fetch content and read files system - QA agent has knownledge to handling questions about Plane, Flight and Onboarding - Seat booking agent specifilized on plane seat reservation tasks - Web Chat interface for user self-service

Lab Technical Stack

- Linux - OpenAI Agents SDK - Autogen 0.4 + extensions (MCP Tools,OpenAI, Ollama) - Chainlit (UI) - Ollama (local Qwen2,5)

Environment

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Running

chainlit run app.py

Todos

- save seat history at the end of the booking - improve FAQ agent to use RAG on actual documents - improve memory storage - add MCP tools to invoke actual booking service api - more to came...

Contributing

1. Fork the repository
2. Create a feature branch
3. Commit your changes
4. Push to the branch
5. Create a Pull Request

Important: Please keep your pull requests small and focused. This will make it easier to review and merge.

Feature Requests

If you have a feature request, please open an issue and make sure it is tagged with enhancement.

License

This project is licensed under the MIT License - see the LICENSE file for details.