Skip to main content
Glama

FleetSync MCP

A Model Context Protocol (MCP) server that exposes the FleetSync last-mile delivery platform to AI agents — enabling LLMs to query orders, manage routes, track drivers, and analyse delivery performance through natural language.

MCP TypeScript Delivery License


What It Does

Turns a logistics platform into a conversational interface. A dispatcher, operations manager, or automated agent can ask questions like:

  • "What orders are scheduled for tomorrow?"

  • "Show me all deliveries on route R-04"

  • "Which routes today have stops more than 10km apart?"

  • "Create a new delivery order for customer João, Rua das Flores 12, for Friday"

...and get structured, actionable answers — without opening the dashboard.


Related MCP server: Easyship MCP

Capabilities

This MCP server exposes 17 tools across 4 operational domains:

Domain

Tools

What it replaces

Orders

8

Manual dashboard lookups, copy-paste into chat

Routes

7

Spreadsheet route planning, phone calls to dispatchers

Analytics

1

Manual haversine calculations, route quality reviews

Drivers & Auth

2

Directory lookups, credential validation

Route distance analysis — computes haversine distances between consecutive stops, flags segments exceeding a configurable threshold, and returns total/avg/max km per route. Identifies poorly sequenced routes before dispatch.

Reference implementation — built on production logistics data patterns. Client code omitted; integration available on request.


Architecture

flowchart LR
    A[AI Agent\nClaude / n8n / Custom] -->|MCP tool call| B[fleetsync-mcp\nMCP Server]
    B -->|REST API| C[FleetSync\nAPI v2]
    C -->|JSON response| B
    B -->|structured result| A

    subgraph Tools
        direction TB
        T1[Orders\nget · create · update · delete]
        T2[Routes\nget · create · update · delete]
        T3[Analytics\nanalyse route distances]
        T4[Drivers\nlist drivers]
    end

Tools (17 total)

Orders (8 tools)

Tool

Description

fleetsync_get_order

Get order by number — status, client, address, driver, proof of delivery

fleetsync_orders_by_date

Get all orders scheduled for a date

fleetsync_orders_by_route

Get all orders assigned to a route code

fleetsync_orders_status_changes

Get orders with status changes after a datetime (last 24h max)

fleetsync_order_history

Get the last 25 history entries for an order

fleetsync_create_order

Create a new unscheduled order

fleetsync_update_order

Update an existing order's fields

fleetsync_delete_order

Delete an order (irreversible)

Routes (7 tools)

Tool

Description

fleetsync_get_routes

List all routes

fleetsync_routes_by_date

Get all routes for a date with driver and order count

fleetsync_get_route

Get a specific route by code

fleetsync_orders_by_route_date

Get orders grouped by route for a date

fleetsync_create_route

Create a new route with optional driver, vehicle, and orders

fleetsync_update_route

Update an existing route

fleetsync_delete_route

Delete a route (irreversible)

Analytics (1 tool)

Tool

Description

fleetsync_analyze_route_distances

Compute haversine distances between consecutive stops. Flags pairs exceeding a configurable threshold (default: 5km). Returns total km, avg km, max km, and all violations

Drivers & Auth (2 tools)

Tool

Description

fleetsync_get_drivers

List all drivers with vehicle, phone, and active status

fleetsync_test

Validate API credentials and check rate limits


Stack

Component

Tool

Protocol

Model Context Protocol SDK

Language

TypeScript 5 + Node.js

Schema validation

Zod

Logistics platform

FleetSync API v2


Setup

Prerequisites

  • Node.js 18+

  • FleetSync account with API key

1. Install

git clone https://github.com/RobsonAdvincula/fleetsync-mcp.git
cd fleetsync-mcp
npm install
npm run build

2. Configure environment

FLEETSYNC_API_KEY=your_api_key
FLEETSYNC_BASE_URL=https://api.fleetsync.io/v2

3. Add to MCP host

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "fleetsync": {
      "command": "node",
      "args": ["/path/to/fleetsync-mcp/dist/index.js"],
      "env": {
        "FLEETSYNC_API_KEY": "your_api_key"
      }
    }
  }
}

Example Interactions

Operations check:

User: "How many deliveries do we have tomorrow and which routes are active?"

→ fleetsync_orders_by_date({ date: "2026-03-26" })
← { count: 47, orders: [...] }
→ fleetsync_routes_by_date({ date: "2026-03-26" })
← { count: 4, routes: [{ code: "R-01", driver: "...", orders: 12 }, ...] }

Agent: "47 orders across 4 active routes tomorrow. Route R-03 has the most stops (18)."

Route quality check:

User: "Is route R-04 well optimised?"

→ fleetsync_analyze_route_distances({ code: "R-04", maxDistanceKm: 8 })
← {
    total_km: 34.2,
    avg_km: 2.1,
    violations_count: 2,
    violations: [
      { from: "ORD-112", to: "ORD-113", km: 11.4 },
      { from: "ORD-118", to: "ORD-119", km: 9.7 }
    ]
  }

Agent: "Route R-04 has 2 problematic segments exceeding 8km. Consider reordering stops 112-113 and 118-119."

License

MIT — free to use, adapt, and build on.


Built by Robson Advincula — AI & Automation Consultant

Available Tools

18 tools
fleetsync_analyze_route_distancesA

Analyze distances between consecutive orders in a route. Flags order pairs exceeding the distance threshold. Useful for diagnosing poorly optimized routes.

NameRequiredDescriptionDefault
codeYesRoute code to analyze distances between consecutive orders
maxDistanceKmNoMax acceptable distance in km between orders (default: 5)
fleetsync_create_orderA

Create a new unscheduled order in FleetSync. Requires: Number (max 50 chars), Client, Address, Date (YYYY-MM-DD). Optional: Phone, Email, Note.

NameRequiredDescriptionDefault
DateYesDelivery date in YYYY-MM-DD format
NoteNoOrder notes
EmailNoClient email
PhoneNoClient phone number
ClientYesClient name
NumberYesOrder number (max 50 chars)
AddressYesDelivery address
fleetsync_create_routeA

Create a new route in FleetSync. Requires Code and Date. Optional: DriverName, DriverVehicle, Depot, Orders. Query options: update, updateAddressGps, mergeAddresses.

NameRequiredDescriptionDefault
CodeYesRoute code (unique identifier)
DateYesRoute date in YYYY-MM-DD format
DepotNoDepot/start address for the route
OrdersNoArray of order objects to include
updateNoAdd/remove orders if route exists on this date
DriverNameNoDriver name to assign
DriverVehicleNoVehicle plate number (e.g. 'BU-36-FS')
ReturnToDepotNoWhether to return to depot
StartFromDepotNoWhether to start from depot
mergeAddressesNoMerge orders by address onto one site (default true)
updateAddressGpsNoForce update lat/lon in address directory
fleetsync_delete_orderA

Delete a FleetSync order by its number. This action is irreversible.

NameRequiredDescriptionDefault
numberYesOrder number to delete
fleetsync_delete_routeA

Delete a FleetSync route by its code. This action is irreversible.

NameRequiredDescriptionDefault
codeYesRoute code to delete
fleetsync_get_driversA

Get all FleetSync drivers. Returns list of drivers with their names, vehicles, phones, and active status.

NameRequiredDescriptionDefault

No parameters

fleetsync_get_orderA

Get a FleetSync order by its number. Returns order details including status, client, address, delivery date, driver, and proof of delivery info.

NameRequiredDescriptionDefault
numberYesOrder number (e.g. 'EVREMMA2026000105')
fleetsync_get_routeA

Get a specific FleetSync route by its code. Returns route details, driver assignment, orders, and status.

NameRequiredDescriptionDefault
codeYesRoute code
fleetsync_get_routesA

Get all FleetSync routes. Returns a list of all route summaries.

NameRequiredDescriptionDefault

No parameters

fleetsync_order_historyA

Get the history of a FleetSync order (last 25 entries). Useful for tracking changes and re-deliveries.

NameRequiredDescriptionDefault
numberYesOrder number to get history (last 25 entries)
fleetsync_orders_by_dateA

Get all FleetSync orders for a specific date. Returns list of orders scheduled for that day with their statuses.

NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format (e.g. '2026-02-10')
fleetsync_orders_by_routeA

Get all FleetSync orders assigned to a specific route by its code.

NameRequiredDescriptionDefault
codeYesRoute code
fleetsync_orders_by_route_dateA

Get all FleetSync orders for a specific date grouped by their assigned routes.

NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format to get orders grouped by route
fleetsync_orders_status_changesA

Get FleetSync orders that had status changes after a specific date/time. Useful for checking recently delivered/updated orders. Date format: YYYY-MM-DDTHH:mm:ss. Minimum: UTC - 1 day.

NameRequiredDescriptionDefault
dateYesDate/time in YYYY-MM-DDTHH:mm:ss format. Returns orders with status changes after this date. Min: UTC - 1 day.
fleetsync_routes_by_dateA

Get all FleetSync routes for a specific date. Returns route details including driver, status, and order count.

NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format
fleetsync_testA

Test FleetSync API authentication and check rate limits.

NameRequiredDescriptionDefault

No parameters

fleetsync_update_orderA

Update an existing FleetSync order. Requires: Number. Optional fields to update: Client, Address, Phone, Email, Date, Note.

NameRequiredDescriptionDefault
DateNoDelivery date in YYYY-MM-DD format
NoteNoOrder notes
EmailNoClient email
PhoneNoClient phone number
ClientNoClient name
NumberYesOrder number to update
AddressNoDelivery address
fleetsync_update_routeB

Update an existing FleetSync route. Requires Code. Optional: Date, DriverName, DriverVehicle, Depot, Orders. Query options: update, updateAddressGps, mergeAddresses.

NameRequiredDescriptionDefault
CodeYesRoute code to update
DateNoRoute date in YYYY-MM-DD format
DepotNoDepot/start address
OrdersNoArray of order objects
updateNoAdd/remove orders from route
DriverNameNoDriver name
DriverVehicleNoVehicle plate number
mergeAddressesNoMerge orders by address
updateAddressGpsNoForce update lat/lon

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 18 tool updatesv1.0.0
    • First observedfleetsync_analyze_route_distances
    • First observedfleetsync_create_order
    • First observedfleetsync_create_route
    • First observedfleetsync_delete_order
    • First observedfleetsync_delete_route
    • First observedfleetsync_get_drivers
    • First observedfleetsync_get_order
    • First observedfleetsync_get_route
    • First observedfleetsync_get_routes
    • First observedfleetsync_order_history
    • First observedfleetsync_orders_by_date
    • First observedfleetsync_orders_by_route
    • First observedfleetsync_orders_by_route_date
    • First observedfleetsync_orders_status_changes
    • First observedfleetsync_routes_by_date
    • First observedfleetsync_test
    • First observedfleetsync_update_order
    • First observedfleetsync_update_route

TDQS

A3.6/5.0

Scored across 18 tools

Disambiguation4/5

Most tools are clearly distinct, but the overlapping query tools (orders_by_date vs orders_by_route_date, get_routes vs routes_by_date) could cause misselection if an agent doesn't read descriptions carefully. Each tool has a unique filter or aggregation purpose, so ambiguity is low but not absent.

Naming Consistency3/5

All tools share the fleetsync_ prefix, but the verb_noun pattern is broken by query-style names like orders_by_date, orders_status_changes, order_history, and routes_by_date. This mixed convention reduces predictability, though the domain terms keep the names readable.

Tool Count4/5

At 18 tools, the set is slightly over the ideal 3-15 range, but the count is justified by full CRUD for both orders and routes plus multiple query views and an analytics tool. Each tool has a clear purpose, so it feels slightly heavy rather than bloated.

Completeness3/5

The set covers CRUD for orders and routes, along with useful queries and distance analysis. However, order status cannot be updated (only read), route status is not manageable, and driver tools are limited to listing. This leaves significant gaps for agents needing to update delivery progress or assignments.

Maintenance

ActivityStale
ResponsivenessOutdated data

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables Large Language Models to interact with the ILP Drone Delivery System to plan deliveries, check drone availability, and generate route visualizations. It allows users to manage logistics tasks like capacity planning and temperature requirement matching through natural language.
    6
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to manage global shipping operations, including rate comparison, shipment creation, label purchasing, tracking, pickup scheduling, address validation, billing, and analytics, via natural language.
    32 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to query and manage logistics shipment data, supporting operations like tracking, quoting, and performance analysis via nine tools backed by a demo dataset or a REST API.
    9
    253 npm
    MIT