YatraSaarthi MCP Server
Provides tools to check available ride-hailing services (Ola, Uber, Meru) and metro feeder bus connectivity at station exits.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@YatraSaarthi MCP ServerWhat is the live status of train 12301?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🚂 Yatra Saarthi — AI-Powered Multilingual Transit Concierge
📺 Watch the 4-Minute Demo Pitch
Hackathon Judges & Evaluators: Our video presentation follows a structured 4-step walk-through demonstrating real Indic NLU reasoning, programmatic MCP stdio execution, and zero-downtime offline resilience:
The Hook (0:00–0:30): Why millions of Indians are locked out of digital transit apps by English-only dropdown interfaces.
Live Multilingual UI Demo (0:30–2:00): Real-time conversational queries in Hindi, Marathi, Tamil, and Bengali responding instantly via our responsive Web UI.
The 3-Agent MCP Engine (2:00–3:30): Deep dive into VS Code showing our
YatraMultiAgentSystemusing Google Gemini 2.5 Flash for NLU parsing, connecting programmatically toyatra_saarthi_mcp.pyoverstdio, and demonstrating our hybrid offline fallback architecture.Deployability & Antigravity (3:30–4:00): Portable Dockerized microservice architecture ready for edge deployment.
Related MCP server: TripNow (航班管家)
🚨 Problem Statement
Navigating the Indian Railways and transit ecosystem presents three severe challenges for millions of passengers:
The Digital Divide & Language Barrier: Existing railway portals and apps (like IRCTC) are heavily English-centric, rely on complex dropdown navigation, and utilize technical jargon. Elderly passengers, rural travelers, and non-English speakers struggle to get basic answers like "Where is my train?" or "Which platform is train 12951 arriving on?"
Fragmented Information Silos: A passenger must switch between multiple different applications to track running status, check platform numbers, order food at stations, and book last-mile cab connectivity.
Connectivity & Downtime Vulnerabilities: During train journeys across rural India or inside tunnels, cellular network connectivity frequently drops. Traditional cloud-only LLM wrappers fail completely when network bandwidth is degraded.
💡 Our Solution: Yatra Saarthi
Yatra Saarthi (meaning "Journey Charioteer") is an intelligent, localized, multi-lingual AI Concierge designed specifically for Indian Railways travelers. It allows users to query complex transit databases using natural, conversational language in Hindi, Marathi, Tamil, Telugu, Bengali, or English.
Instead of a monolithic LLM wrapper, Yatra Saarthi utilizes a decoupled 3-Agent Pipeline integrated with a localized Model Context Protocol (MCP) Server that guarantees zero downtime and offline resilience.
🏗️ Multi-Agent Architecture
Our solution splits conversational reasoning, tool execution, and vernacular synthesis into three specialized, autonomous agents:
graph TD
classDef user fill:#3B82F6,stroke:#1D4ED8,color:#fff,font-weight:bold;
classDef agent fill:#10B981,stroke:#047857,color:#fff,font-weight:bold;
classDef mcp fill:#F59E0B,stroke:#B45309,color:#fff,font-weight:bold;
classDef db fill:#6366F1,stroke:#4338CA,color:#fff,font-weight:bold;
U["👤 Passenger Query<br>'12301 train kaha hai?'"] -->|Raw Vernacular Query| A1
subgraph Orchestration Engine ["Yatra Saarthi 3-Agent Pipeline"]
A1["🧠 AGENT 1: Translator & Intent Parser<br>• Detects Indic Dialects<br>• Extracts Train # & Station Code<br>• Normalizes Intent Schema"]
A2["⚙️ AGENT 2: MCP Tool Retriever<br>• Connects to Local FastMCP Server<br>• Routes Structured Tool Requests<br>• Handles Offline Resiliency"]
A3["🗣️ AGENT 3: Vernacular Concierge<br>• Synthesizes Raw JSON Data<br>• Formats Culturally Polite Tone<br>• Outputs in Target Language"]
end
A1 -->|Normalized JSON Schema| A2
A2 -->|"Tool Call: get_live_train_status('12301')"| M["🛠️ FastMCP Server<br>YatraSaarthi_Transit_Engine"]
M <-->|Reads Offline JSON Store| DB[("📁 yatra_saarthi_db.json<br>10 Trains, 8 Stations, Alerts")]
M -->|Structured Tool Result| A2
A2 -->|Raw Transit Payload| A3
A3 -->|"Localized Response<br>'आपकी ट्रेन हावड़ा राजधानी इलाहाबाद में है।'"| U
class U user;
class A1,A2,A3 agent;
class M mcp;
class DB db;Roles of the 3 Agents:
Agent 1 (Translator & Intent Parser): Ingests unstructured multilingual text. It uses Google Gemini 2.5 Flash (
google-genai) with structured JSON output formatting to perform natural language understanding and entity extraction (e.g., train numbers12932, station codesNDLS). In offline demo mode, it seamlessly drops back to high-speed heuristic parsing.Agent 2 (MCP Tool Retriever): Acts as a true Model Context Protocol client. It programmatically connects via standard input/output (
mcp.client.stdio.stdio_client) to our local FastMCP server (yatra_saarthi_mcp.py), executes structured tool calls, and manages error boundaries with local cache fallback.Agent 3 (Vernacular Concierge): Receives structured JSON tool output from the MCP server and invokes Google Gemini 2.5 Flash to synthesize a polite, culturally resonant response in the passenger's chosen Indic language, ensuring proper honorifics and clear formatting.
🛠️ Clever Tool Usage & Model Context Protocol (MCP)
A core innovation in Yatra Saarthi is our clever usage of the Model Context Protocol (FastMCP) to decouple AI reasoning from deterministic railway data retrieval.
The 6 Transit Tools Exposed via MCP:
We implemented a robust local MCP server (yatra_saarthi_mcp.py) that exposes 6 highly specific tools to our agent pipeline:
get_live_train_status(train_number): Returns running status, current station, next stop, and real-time cancellation risk percentage.get_platform_number(train_number): Returns expected arrival platform number and coach position display info.check_delay_alerts(region): Fetches active weather advisories, track maintenance alerts, and fog delays across railway zones.get_food_options(station_code): Retrieves verified IRCTC food courts, Jan Aahar stalls, and e-catering restaurants at specific junctions.get_cab_services(station_code): Lists available ride-hailing services (Ola, Uber, Meru) and metro feeder bus connectivity at station exits.get_station_directory(): Returns a full mapping of major Indian railway junctions and their amenities.
🛡️ Clever Offline Resiliency (Zero-Downtime Design):
To solve the connectivity drop problem on trains, our MCP server implements a Hybrid Fallback Engine. When network endpoints or live APIs are unreachable during transit, the MCP toolset automatically queries an offline-verified local store (yatra_saarthi_db.json). This guarantees 100% uptime, zero latency, and uninterrupted agent reasoning regardless of cellular signal strength.
📸 Interactive UI & CLI Showcase
Yatra Saarthi provides two production-grade interfaces designed for both end-users and programmatic integration:
🌐 1. Multilingual Web Application (Glassmorphism UI)
Our responsive web interface features an initial language selection lock, micro-animations, and instant vernacular chat responses:
+-----------------------------------------------------------------------+
| 🚂 YATRA SAARTHI — IRCTC AI CONCIERGE [🔒 HI] |
+-----------------------------------------------------------------------+
| |
| 👤 यात्री: "12301 train kaha hai?" |
| |
| 🤖 यात्रा सारथी: |
| आपकी ट्रेन, हावड़ा राजधानी, अभी प्रयागराज (PRYJ) पर है। |
| स्टेटस: On Time (अगला स्टॉप: नई दिल्ली NDLS)। |
| |
+-----------------------------------------------------------------------+
| [💬 अपनी यात्रा के बारे में पूछें...] [ 🚀 भेजें ] |
+-----------------------------------------------------------------------+💻 2. High-Speed Terminal CLI
Invoke the pipeline programmatically for automated testing and microservice integration:
python cli.py --query "What is the platform number for train 12951?" --lang en✨ Key Features & Best Practices
🔒 Enforced Language Lock: To eliminate session confusion, passengers choose their language (English, Hindi, Marathi, Tamil, Telugu, or Bengali) on a startup splash screen. Once inside the chat, the language is locked for the session (indicated by a static
🔒badge).🎨 Premium IRCTC-Inspired UI: Designed with Indian Railways brand aesthetics (Deep Navy
#00004B, Saffron#FF9933, and Warm Orange#E8651A), featuring glassmorphism, micro-animations, and live status cards.⚡ Modular Frontend Architecture: Clean separation of concerns with zero inline scripting:
js/i18n.js: Dedicated translation module for all 6 languages.js/data.js: Client-side datasets and intent dictionaries.js/app.js: Interactive chat engine, typing animation controller, and DOM orchestrator.
💻 Multi-Modal Interface: Fully functional as both a rich interactive Web Application and a high-speed Terminal CLI.
🐳 Docker Containerized: Built for instant reproducible deployment across any cloud or local environment.
🚀 Setup & Installation Instructions
Prerequisites
Python 3.10 or higher
Git
1. Clone & Install Dependencies
git clone https://github.com/your-username/YatraSaarthi.git
cd YatraSaarthi
pip install -r requirements.txt2. Run the Web Application (Recommended)
Launch a local HTTP server to experience the multilingual splash screen and interactive chat UI:
python -m http.server 8080Open your web browser and navigate to: http://localhost:8080/index.html
3. Run via Terminal CLI
You can query the multi-agent system directly from your command line:
# Query in Hindi
python cli.py --query "12301 train kaha phochi?" --lang hi
# Query in Marathi
python cli.py --query "mumbai central var jevanache kay paryay ahet?" --lang mr
# Query Platform in English
python cli.py --query "What is the platform number for train 12951?" --lang en4. Run via Docker (Reproducible Deployment)
To verify isolated containerized execution:
# Build the Docker image
docker build -t yatra-saarthi .
# Run an interactive query container
docker run -it yatra-saarthi --query "Check delay alerts for Delhi" --lang en🔐 Security & Compliance Reminder
Zero API Keys & Zero Secrets: In compliance with hackathon security rules and data privacy standards, this codebase contains NO hardcoded API keys, passwords, tokens, or PII. All agent orchestration and MCP tool executions run using secure local inference mock bridges and offline data stores.
👥 Built for Kaggle AI Agents Capstone
Track: Concierge Agents
Theme: AI for Social Good & Transit Accessibility
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/RitikaJain8818/YatraSaarthi'
If you have feedback or need assistance with the MCP directory API, please join our Discord server