Airline Group Booking Quote with Kaiban MCP Integration
Discover how the Kaiban platform enables interoperability between AI agents built with any SDK. This example demonstrates integrating a KaibanJS group booking quote team with the Kaiban platform using the A2A protocol and MCP (Model Context Protocol) for card lifecycle management—an alternative to the Kaiban SDK approach.

Kaiban Platform: SDK-Agnostic Interoperability
The Kaiban platform provides enterprise workflow management and agent orchestration that works with agents built using any SDK or framework. Through the standardized A2A (Agent-to-Agent) protocol, you can integrate KaibanJS teams either via the Kaiban SDK or the Kaiban MCP (Model Context Protocol)—giving you flexibility in how your agents interact with cards, boards, and workflow states on the platform.
This example showcases the MCP-based approach: instead of using the Kaiban SDK directly, KaibanJS agents call MCP tools (get_card, move_card, update_card, create_card_activities) to manage the card lifecycle. This is ideal when you prefer MCP tooling or need to align with existing MCP infrastructure.
Use Case: Instant Group Booking Quote Automation
Inspired by the Kaiban use case, this example automates the generation of group booking quotes from unstructured inquiries. Airlines face manual processing, 24–72 hour response times, and growing backlogs. AI agents can transform this workflow.
Manual Processing
Group booking requests arrive via forms, emails, or phone. Human agents must interpret each request before creating a quote.
Delayed Response
Most airlines take 24–72 hours to return a quote. Slow turnaround erodes conversion and customer loyalty.
Missed Revenue
Manual workflows lead to backlogs. One major airline had over 250 unprocessed quote requests.
Shrinking Teams
Post-pandemic cuts stretched group desks. A 32% staff reduction led to a 57% drop in group revenue for one carrier.
The Solution: A2A Protocol + Kaiban MCP
The KaibanJS team receives A2A activities from the Kaiban platform. Card lifecycle (get card, move to doing/done, update result, activities) is handled by agents using Kaiban MCP tools via the @modelcontextprotocol/sdk with Streamable HTTP transport.
MCP Instead of SDK
Uses Kaiban MCP tools for card operations instead of the Kaiban SDK. Ideal for MCP-first architectures and tool-based agent designs.
A2A Protocol
Communication follows the A2A protocol. Kaiban sends activities to the agent endpoint; the executor processes them and triggers the team.
Card Lifecycle via MCP
Agents use MCP tools to get cards, move them (TODO → DOING → DONE), update results, and create activities for audit trails.
Error Handling
On team failure, the executor calls MCP move_card to BLOCKED and logs activities for manual review.
Integration Architecture
End-to-end flow from Kaiban.io to KaibanJS team via A2A and MCP
Kaiban Sends A2A Activity
When a card is created or moved in a Kaiban board, the platform sends an A2A message with Kaiban activity data (card_id, board_id, team_id, activity type).
Executor Validates via MCP
The A2A executor receives the activity, calls MCP get_card to validate the card (description present, column is todo), then starts the Group Booking Quote Team.
Task 0: Get Card & Move to Doing (MCP)
The Kaiban Card Sync Agent uses MCP tools: gets the card, extracts the description (inquiry text), moves the card to doing, and passes the inquiry to the next task.
Tasks 1–3: Extract, Validate, Quote
The team extracts and validates the inquiry (origin, destination, dates, pax), checks availability and pricing (mock tools), and generates the final quote text.
Task 4: Update Card & Move to Done (MCP)
The Kaiban Card Sync Agent uses MCP update_card and move_card to write the quote to the card and move it to done, with activities logged.
Key Components
- ✓Kaiban MCP Client: Uses
@modelcontextprotocol/sdkwith Streamable HTTP transport; exposes get_card, move_card, update_card, create_card_activities - ✓A2A Executor: Parses Kaiban activities, validates cards via MCP, starts team; on error calls MCP move_card to blocked
- ✓Kaiban Card Sync Agent: Handles Task 0 and Task 4 using Kaiban MCP tools
- ✓Group Booking Team: 5 tasks, 4 agents (Extract & Validate, Availability & Pricing, Quote Generation)
KaibanJS Team Structure & MCP Tools
Sequential team with 5 tasks and 4 agents; Kaiban interaction via MCP only
Team Flow
- Task 0: Get card & move to doing (Kaiban Card Sync Agent, MCP tools) → output: userMessage (inquiry)
- Task 1: Extract & Validate inquiry (Inquiry Extraction & Validation Agent)
- Task 2: Availability & Pricing (Availability & Pricing Agent, mock tools)
- Task 3: Generate Quote (Quote Generation Agent)
- Task 4: Update card & move to done (Kaiban Card Sync Agent, MCP tools)
Kaiban MCP Tools
The Kaiban MCP client converts JSON Schema from the MCP server to Zod schemas for KaibanJS agents:
- •
get_card– Fetch card by id - •
move_card– Move card to column (todo/doing/done/blocked) - •
update_card– Update card result/status - •
create_card_activities– Log status/column changes
Config: KAIBAN_MCP_URL or KAIBAN_TENANT + KAIBAN_ENVIRONMENT, KAIBAN_API_TOKEN.
Interactive Demo
Watch how the KaibanJS group booking quote team integrates with the Kaiban platform via A2A and MCP
Demo: KaibanJS Group Booking Quote Team with Kaiban MCP
See how cards created in the Kaiban platform trigger the KaibanJS team, which uses MCP tools to manage the card lifecycle while extracting, validating, and generating instant group booking quotes.
View Source Code on GitHubMCP vs SDK: Two Paths to Kaiban Integration
Choose the integration approach that fits your architecture
| Kaiban MCP (This Example) | Kaiban SDK (e.g. Revenue Management Example) |
|---|---|
Uses @modelcontextprotocol/sdk with Streamable HTTP | Uses @kaiban/sdk for direct API calls |
| Card operations via MCP tools: get_card, move_card, update_card, create_card_activities | Card operations via SDK methods (cards, activities, columns) |
| Agents invoke tools; tool schemas from MCP server (JSON Schema → Zod) | Kaiban Controller orchestrates workflow; no agent tool calls for card ops |
| Ideal for MCP-first designs, tool-based agents | Ideal for controller-driven workflows, SDK familiarity |
Getting Started
Follow the Kaiban quick start, then run the group booking example:
1. Clone and Install
git clone https://github.com/kaiban-ai/kaiban-agents-starter.git
cd examples/airline-group-booking-quote-mcp-kaibanjs
npm install2. Configure Environment
KAIBAN_MCP_URL=https://<tenant>-<env>.kaiban.io/mcps/kaiban/mcp
KAIBAN_API_TOKEN=your-token
OPENAI_API_KEY=your-key
A2A_BASE_URL=your-public-url3. Register Agent in Kaiban
Register using Agent Card URL and Agent URL. Copy the Agent ID to KAIBAN_AGENT_ID or KAIBAN_GROUP_BOOKING_QUOTE_AGENT_ID.
4. Assign to Board & Run
Assign the agent to a Kaiban board. Create cards with group booking inquiries in the description. Run npm run dev and watch cards move through TODO → DOING → DONE.
Ready to Build Group Booking Automation?
The Kaiban platform supports both SDK and MCP integration. Use KaibanJS with either approach to build instant group booking quote automation and other airline workflows.
We’re almost there! 🌟 Help us hit 100 stars!
Star KaibanJS - Only 100 to go! ⭐