mashrur950's picture
add GitHub badge to README for enhanced visibility
ee2f19c
metadata
title: FleetMind MCP Server
emoji: 🚚
colorFrom: blue
colorTo: purple
sdk: docker
app_file: app.py
pinned: true
short_description: AI delivery dispatch MCP server with 29 management tools
tags:
  - mcp
  - building-mcp-track-enterprise
  - model-context-protocol
  - delivery-management
  - postgresql
  - fastmcp
  - gradio
  - enterprise
  - logistics
  - gemini
  - google-maps
  - ai-routing

🚚 FleetMind MCP Server

AI-Powered Delivery Dispatch for the Modern Enterprise

The Problem: Delivery dispatch is complexβ€”coordinating drivers, optimizing routes, handling weather delays, and meeting SLAs requires constant human oversight.

The Solution: FleetMind exposes 29 AI-accessible tools that let Claude (or any MCP client) manage your entire delivery operation through natural conversation.

The Impact: Dispatch managers can now say "Assign this urgent fragile delivery to the best available driver considering weather and traffic" and watch AI handle the complexity.

Demo Video Try It Live GitHub LinkedIn Post Facebook Post


πŸ“Ί See It In Action

FleetMind Demo Video

▢️ Click to watch the demo video

Watch Gemini 2.0 Flash AI analyze weather, traffic, and driver capabilities to make intelligent assignment decisions with full reasoning transparency.


⚑ Quick Start (2 Minutes)

Step 1: Get Your API Key

πŸ‘‰ Generate API Key (copy immediatelyβ€”shown once!)

Step 2: Configure Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "fleetmind": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp-1st-birthday-fleetmind-dispatch-ai.hf.space/sse?api_key=YOUR_KEY_HERE"
      ]
    }
  }
}

Step 3: Start Dispatching!

You: "Create an urgent delivery for Sarah at 456 Oak Ave, San Francisco,
     then use AI to find the best driver considering the current rain"

Claude: Uses geocode_address β†’ create_order β†’ intelligent_assign_order
        Returns: "Order ORD-... assigned to Mike (DRV-...).
        AI selected Mike because: closest driver with cold-storage van,
        safest route in current weather, 15 min ETA."

πŸ† Why FleetMind?

Feature What It Does Why It Matters
πŸ€– Gemini 2.0 Flash AI Analyzes 10+ parameters for intelligent driver assignment Better decisions than rule-based systems
🌦️ Weather-Aware Routing OpenWeatherMap integration for safety-first planning Reduces weather-related delivery failures
πŸ” Multi-Tenant Auth Complete data isolation via deterministic user_id Enterprise-ready security out of the box
πŸ“Š SLA Tracking Automatic on-time/late/very-late classification Built-in performance analytics
🚦 Real-Time Traffic Google Routes API with live traffic data Accurate ETAs, not guesstimates
🏍️ Vehicle Optimization Motorcycle, bicycle, car, van, truck routing Right routes for each vehicle type

πŸ› οΈ The 29 Tools

πŸ“ Geocoding & Routing (3 tools)
Tool Description
geocode_address Convert address β†’ GPS coordinates
calculate_route Vehicle-specific routing with traffic, tolls, fuel estimates
calculate_intelligent_route AI-powered routing with weather + traffic analysis
πŸ“¦ Order Management (8 tools)
Tool Description
create_order Create delivery with mandatory deadline & SLA tracking
count_orders Count by status/priority with breakdowns
fetch_orders Paginated list with filters
get_order_details Full order info including timing data
search_orders Find by customer name/email/phone/ID
get_incomplete_orders Active deliveries shortcut
update_order Modify order with cascading updates
delete_order Safe deletion with assignment checks
πŸ‘₯ Driver Management (8 tools)
Tool Description
create_driver Onboard with vehicle type, skills, capacity
count_drivers Count by status/vehicle with breakdowns
fetch_drivers Paginated list with filters
get_driver_details Full info with reverse-geocoded location
search_drivers Find by name/plate/phone/ID
get_available_drivers Ready-for-dispatch shortcut
update_driver Modify with location auto-timestamp
delete_driver Safe deletion with assignment checks
πŸ”— Assignment Management (8 tools) ⭐
Tool Description
create_assignment Manual driver selection
auto_assign_order Nearest driver + capacity/skill validation
intelligent_assign_order πŸ€– Gemini 2.0 Flash AI with full reasoning
get_assignment_details Query by assignment/order/driver ID
update_assignment Status transitions with cascading
unassign_order Revert to pending safely
complete_delivery Mark done + auto-update driver location
fail_delivery Track failure with GPS + structured reason
πŸ—‘οΈ Bulk Operations (2 tools)
Tool Description
delete_all_orders Mass delete with status filter & safety checks
delete_all_drivers Mass delete with assignment safety blocks

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      MCP Clients                              β”‚
β”‚     Claude Desktop  β€’  Continue  β€’  Cline  β€’  Custom Apps    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚ SSE: /sse?api_key=fm_xxx
                              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              Authentication Proxy (proxy.py)                  β”‚
β”‚  β€’ Captures API key from SSE connection                       β”‚
β”‚  β€’ Links session_id β†’ api_key for tool calls                  β”‚
β”‚  β€’ Keep-alive pings every 30s                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              FastMCP Server (server.py)                       β”‚
β”‚  β€’ ApiKeyAuthMiddleware validates every call                  β”‚
β”‚  β€’ 29 tools with user_id filtering                            β”‚
β”‚  β€’ 2 real-time resources (orders://all, drivers://all)        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
           β–Ό          β–Ό            β–Ό          β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚PostgreSQLβ”‚ β”‚ Google  β”‚ β”‚  Gemini  β”‚ β”‚OpenWeatherβ”‚
    β”‚  (Neon)  β”‚ β”‚Maps API β”‚ β”‚2.0 Flash β”‚ β”‚  Map API  β”‚
    β”‚ user_id  β”‚ β”‚Geocodingβ”‚ β”‚Intelligentβ”‚β”‚  Weather  β”‚
    β”‚isolation β”‚ β”‚ Routing β”‚ β”‚Assignmentβ”‚ β”‚   Data    β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ” Authentication & Security

FleetMind uses a 3-layer authentication system for enterprise-grade security:

Layer Component Function
1 Proxy Captures API key from URL, links sessions
2 Middleware Validates every tool call, injects user context
3 Database All queries filter by user_id (complete isolation)

Security Features:

  • βœ… SHA-256 hashed key storage (never plaintext)
  • βœ… One-time key display (can't retrieve later)
  • βœ… Deterministic user_id from email (key rotation preserves data)
  • βœ… Production safeguards (SKIP_AUTH blocked when ENV=production)
View Complete Auth Flow
1. Generate API Key β†’ user_id = user_{MD5(email)[:12]}
2. Configure Claude β†’ URL includes ?api_key=fm_xxx
3. SSE Connection β†’ Proxy captures and stores key
4. Tool Call β†’ Proxy injects key, middleware validates
5. Database Query β†’ WHERE user_id = 'user_xxx'
6. Result β†’ Only user's own data returned

πŸš€ Deployment

Production (HuggingFace Space)

Already deployed at: https://mcp-1st-birthday-fleetmind-dispatch-ai.hf.space

Local Development

git clone <repository-url>
cd fleetmind-mcp
pip install -r requirements.txt

# Configure .env with your API keys
python start_with_proxy.py  # Runs proxy (7860) + FastMCP (7861)

πŸ“Š Technical Specifications

Metric Value
Tools 29
Resources 2 (orders://all, drivers://all)
Database PostgreSQL (Neon serverless)
AI Model Gemini 2.0 Flash (gemini-2.0-flash-exp)
Transport SSE (Server-Sent Events)
Framework FastMCP 2.13.0
Language Python 3.10+

πŸ”— Links


πŸ‘₯ Team

FleetMind Development Team

MCP 1st Birthday Hackathon - Track 1: Building MCP Servers (Enterprise Category)


πŸ“„ License

MIT License - see LICENSE for details.


Built with ❀️ using FastMCP for the MCP 1st Birthday Hackathon

MCP FastMCP Python