Garage-on-the-Go MCP Server
Provides tools for vehicle service search, mechanic matching, and booking generation as part of a multi-agent AI system for roadside assistance.
README
Garage-on-the-Go AI Agent ๐ ๏ธ
Kaggle AI Agents Capstone Project: Intensive Vibe Coding
Project Scope
Garage-on-the-Go AI Agent is a Kaggle capstone prototype designed to demonstrate multi-agent vehicle diagnostics, service estimation, and mobile mechanic matching.
- Capstone Prototype: Built for Kaggle AI Agents Capstone evaluation and portfolio demonstration.
- Simulated Operations: Uses mock service catalog data and simulated mechanic profiles for Guwahati-style areas.
- No Real Dispatching: The generated booking receipt is a demo output and does not trigger real mechanic assignment, payment, or physical dispatch.
๐ Problem Statement
Stranded motorists facing sudden vehicle failures lack an immediate, reliable way to:
- Safely diagnose whether their vehicle is safe to drive or requires immediate towing.
- Estimate realistic, local maintenance costs without visiting physical workshops.
- Quickly find and book available mock mechanics operating in their specific neighborhood.
๐ก Solution
A localized, secure mobile mechanic coordinator driven by an ADK-inspired multi-agent orchestration sequential pipeline:
- Triage Agent: Conducts safety and urgency classification.
- Estimate Agent: Matches the query to a structured catalog, determining base service details and pricing ranges.
- Booking Agent: Assigns mock mechanic specialists located in Guwahati areas and compiles a finalized booking summary.
๐ ๏ธ Architecture & Multi-Agent Flow
The workflow is coordinated sequentially by a Root Agent orchestrator:
[User Input]
โ
โผ
[Security Shield] โโโบ 1. Input Guard (Rejects injections / size limits)
โ 2. PII Redactor (Filters email/phone for privacy)
โผ
[Root Agent (Orchestrator)]
โ
โโโบ [Triage Agent] โโโบ Diagnoses causes, Urgency levels, Safety directions
โ
โโโบ [Estimate Agent] โโโบ Queries Service Catalog Tool, determines Cost range
โ
โโโบ [Booking Agent] โโโบ Invokes Mechanic Match Tool, compiles Receipt
โ
โผ
[Final Output] โโโบ Booking Confirmation Receipt JSON & Dashboard Cards
๐ Kaggle Course Concepts Demonstrated
- Multi-agent orchestration: Uses a sequential coordination pipeline (Triage -> Estimate -> Booking) directed by a central Root Orchestrator.
- Gemini API via google-genai with fallback mode: Migrated to the modern
google-genaiSDK targeting thegemini-2.5-flashmodel. Includes a full deterministic rule-based fallback if the API key is not present or calls fail. - Real ADK integration layer under adk_agent/: Exposes the vehicle diagnostics agent tools using the official Google Agent Development Kit framework configuration.
- Real MCP server under mcp_server/real_mcp_server.py: Exposes tools (
search_services,find_mechanic, andgenerate_booking) to external clients using the officialFastMCPframework on standard stdio transport. - Security guardrails: Includes prompt injection protection, input length restrictions, and regex-based redaction of phone/email PII before processing.
- Streamlit deployability: Provides an interactive browser-based web demo interface ready for cloud environment testing. Features visual status chips, summary cards, confidence meters, and a structured Agent Execution Trace / Reasoning Flow panel.
๐ Setup & Execution
Prerequisites
- Python 3.8+ installed on your system.
Installation
- Clone or navigate to the project directory:
cd garage-on-the-go-agent - Create and activate a virtual environment:
python -m venv venv # On Windows (PowerShell): .\venv\Scripts\Activate.ps1 # On macOS/Linux: source venv/bin/activate - Install the dependencies:
pip install -r requirements.txt
Configuration
-
(Optional) Create a
.envfile in the root directory and add your Google Gemini API key:GEMINI_API_KEY=your_actual_api_key_hereNote: If no API key is specified, the application automatically runs in rule-based offline fallback mode using the Maruti/Pulsar heuristics.
โ ๏ธ WARNING: Never commit your
.envfile or expose raw API keys to GitHub.
๐น๏ธ How to Run
1. Run the Streamlit Interface
To view the Streamlit web demo:
streamlit run app.py
2. Run the CLI Terminal Demo
To run the interactive command-line utility:
python main.py
3. Run Automated Self-Tests
To run the programmatic validation suite verifying security guardrails, PII filters, and pipeline routing:
python main.py --test
4. Run the Google ADK Wrapper
To verify tool registration and inspect the Google Agent Development Kit setup:
python adk_agent/agent.py
5. Run the Real MCP Server
To execute the tool server via standard stdio transport:
python mcp_server/real_mcp_server.py
Or run the server in development mode using the FastMCP command-line tool:
mcp dev mcp_server/real_mcp_server.py
๐งช Demo Scenario
Try entering the following description in the CLI or Streamlit text input:
"My car's engine is making a loud knocking sound, and the dashboard temperature gauge is in the red. I see some coolant leaking onto the driveway. Call me at 98765-43210 or email user@test.com to confirm."
Expected Results:
- Security Guard: Redacts
98765-43210to[PHONE REDACTED]anduser@test.comto[EMAIL REDACTED]. - Triage: Diagnoses a cooling system/radiator issue, marks urgency as Critical, and issues a safety recommendation to stop driving immediately.
- Estimate: Selects Coolant Flush & Top Up or Engine Diagnostics from the catalog, calculating a total pricing breakdown.
- Booking: Matches an available mechanic in your location area (e.g. Rajen Kalita for Beltola) and prints a receipt with booking ID.
โ ๏ธ Limitations & Future Scope
- Current Limitations: This is a prototype system that operates entirely on mock data, with no real GPS positioning, no payment gateway integration, and no real-world mechanic booking or dispatching.
- Future Scope: Integration with real mechanic dashboards via Websockets, mapping visual routing APIs, and deploying native MCP server adapters to bind directly into developer IDE hosts.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.