# MotionTools MCP

> MotionTools connects your AI agent directly to your logistics API. It lets you manage fleet operations—track drivers, view service areas, list bookings, and create new deliveries—all from a single conversation. Stop jumping between dashboards; handle all your urban logistics and dispatch tasks instantly.

## Overview
- **Category:** order-management
- **Price:** Free
- **Tags:** delivery-management, booking-system, fleet-oversight, urban-logistics, real-time-tracking, dispatch-operations

## Description

MotionTools connects your AI agent directly to your logistics API. You can manage every single thing happening across your fleet—from logging a new drop-off to checking where everyone is right now—all through chat. Forget jumping between ten different dashboards; you handle all your dispatch and urban movements in one conversation.

**Managing Jobs and Bookings**

When you need to book something, you run `create_booking` to log a new delivery or service appointment. You just feed it the pickup spot and the dropoff spot, and boom—it gets logged into your system. If you're trying to figure out what happened with one specific job, use `get_booking`. That pulls every bit of history and metadata about that single booking using its unique ID.

For a quick overview, you can run `list_bookings` to see an entire list of all the recent or active jobs in your account. Need deep details on what's going on with one specific driver? The agent calls `get_driver`, giving you detailed status and assignment info for that person. To check out every registered vehicle, use `list_vehicles`; it gives you a full profile and the last known status of each asset.

**Checking Out Your Assets and Zones**

You can also list all active geographic service areas defined for your whole operation by using `list_service_areas`. If you need to verify how far out your current operational boundaries go, `get_service_area` pulls that metadata right up. When you're dealing with the people side of things, running `list_drivers` shows you every driver in the fleet along with their current status and assignments. To see who’s been booked through your system, you pull a list from `list_customers`; it generates a rundown of every customer that's used your services.

**Getting Specific Data**

Need to check out all the registered vehicles for an overview? You run `list_vehicles`. To get specifics on any one vehicle—its profile and current status—you use `get_vehicle`. You never gotta leave your AI client. Just talk to it, and it runs the necessary tools to give you a straight answer.

## Tools

### create_booking
Logs a new delivery or service appointment into your system.

### get_booking
Retrieves all specific details about a single booking using its unique ID.

### get_driver
Gets detailed status and assignment information for one specific driver.

### get_service_area
Pulls metadata and current boundaries for a defined service zone.

### get_vehicle
Retrieves the full profile and current status of one specific vehicle.

### list_bookings
Provides an overview list of all recent or active logistics bookings in your account.

### list_customers
Generates a list of every customer that has booked services through your system.

### list_drivers
Lists all drivers in the fleet, showing their current status and assignments.

### list_service_areas
Displays a list of all active geographic service areas defined for your operations.

### list_vehicles
Generates an overview of every registered vehicle in the fleet, showing their last known status.

## Prompt Examples

**Prompt:** 
```
List my current delivery bookings and their status.
```

**Response:** 
```
I've retrieved your current bookings. You have 3 active deliveries: 'BK-789' (Status: In Progress), 'BK-790' (Status: Scheduled), and 1 other. Would you like the driver details for the one in progress?
```

**Prompt:** 
```
Show me the list of active vehicles in the fleet.
```

**Response:** 
```
Fetching fleet vehicles... You have 8 vehicles registered: 6 are currently assigned to drivers ('VAN-01' to 'VAN-06') and 2 are 'available'. Shall I get the metadata for VAN-01?
```

**Prompt:** 
```
Create a new booking from 123 Main St to 456 Oak Ave.
```

**Response:** 
```
Initializing new booking... I've successfully created booking 'BK-999' from 123 Main St to 456 Oak Ave. The status is 'unassigned'. Shall I find an available driver in the 'Downtown' service area?
```

## Capabilities

### Create New Deliveries
You run `create_booking` to log a new delivery or service appointment with specific pickup and dropoff details.

### Retrieve Booking Details
You use `get_booking` when you need the full status, history, or metadata for a job using its unique ID.

### Check Driver Status
The agent calls `list_drivers` to get an overview of all available fleet drivers and their current assignments.

### View Fleet Assets
You access `list_vehicles` to see every registered vehicle, noting which ones are currently assigned or free.

### Manage Service Zones
The agent uses `list_service_areas` when you need to inspect the geographic boundaries where your operations run.

## Use Cases

### The Morning Dispatch Check
A dispatcher needs to know if they have enough capacity for a major event today. They ask their agent, 'How many available vehicles and drivers do we have?' The agent runs both `list_vehicles` and `list_drivers`, cross-referencing the data to confirm 12 assets are ready before starting the day's shift.

### Handling a Failed Delivery
A client calls about a delayed job. The agent uses `get_booking` with the booking ID. This instantly pulls up the full timeline, showing exactly when the assigned driver was last seen and which service area it belongs to, solving the 'where did it go?' question.

### Setting Up a New Route
An ops manager plans a new zone. They first run `list_service_areas` to see existing zones. Then they use `get_service_area` for the specific boundary data, ensuring their next booking using `create_booking` falls within approved limits.

### Quarterly Review of Clients
A sales manager needs a list of all clients to prepare renewal reports. They prompt the agent to run `list_customers`, getting the full roster in seconds, eliminating hours spent exporting data from different departmental portals.

## Benefits

- Check driver availability instantly. Instead of opening the fleet management dashboard, you just ask for `list_drivers` status and get a clean list right away.
- Eliminate data silos. You can check customer records (`list_customers`) and immediately follow up with a new booking using `create_booking`, all in one chat session.
- Pinpoint service gaps fast. Need to know if your operations cover the new neighborhood? Use `list_service_areas` instead of drawing boundaries on a map and manually comparing them.
- Deep-dive into problems. If a booking fails, use `get_booking` with the ID to pull all metadata—status changes, associated drivers, everything—without touching multiple tabs.
- See your entire fleet status at a glance. Running `list_vehicles` gives you an immediate count of available vs. assigned assets across the whole company.

## How It Works

The bottom line is: you talk to your agent, and it handles all the API calls needed to answer or act on logistics requests.

1. Subscribe to the server and provide your MotionTools API Token. This gives your AI client access to all 10 operational tools.
2. Ask your agent for a logistics action (e.g., 'What's the status of bookings in downtown?'). The agent maps this request to the necessary tools, like `list_bookings` and `get_service_area`.
3. The server executes the calls, processes the data, and returns a clean summary directly into your chat window.

## Frequently Asked Questions

**How do I list all bookings and their statuses using list_bookings?**
You just ask your agent to run `list_bookings`. It pulls an overview of every active or completed job. You can then follow up by asking for the specific status of 'BK-123' using the `get_booking` tool.

**Can I assign a new driver? Do I need create_booking first?**
No, you don't have to. If you already have an open booking ID, you can ask your agent to use `get_driver` or even initiate the assignment flow directly, referencing the existing job details.

**Does list_vehicles show me if a vehicle is in my service area?**
It shows general status (available/assigned). To confirm location boundaries, you must run `list_service_areas` first. The agent can then cross-reference the data for you.

**I need to create a booking but I don't know the customer ID. What should I do?**
First, use `list_customers` to find the correct client ID or name. Once you have that reference point, running `create_booking` will allow you to tie the new job directly to an existing account.

**When I use list_customers, what happens if the customer ID is incorrect?**
You'll receive a specific API error code indicating the invalid ID. The system won't return partial data; you'll just get an explicit failure message telling you exactly what went wrong.

**How do I filter results when calling list_bookings to see only completed deliveries?**
You must pass a status parameter during the `list_bookings` call. The API accepts common statuses like 'Completed' or 'Cancelled', letting you narrow down the dataset instantly.

**What happens if I run get_driver for a driver who is currently off-shift?**
The tool retrieves the driver's profile and last known status. It will show their current assigned state, which might be 'Off Duty' or 'Inactive', along with their next scheduled shift details.

**Are there any performance limits if I call list_vehicles many times in quick succession?**
Yes, the Vinkius Marketplace manages standard rate limiting to prevent abuse. If you hit a limit, your agent will receive an HTTP 429 error. Wait a minute or two and try again.

**How do I get a MotionTools API Token?**
You can generate a long-lived API token in your MotionTools dashboard. These are specifically designed for server-to-server integrations.

**Can I track individual driver statuses?**
Yes! Use the `get_driver` tool with a specific Driver ID to see their current availability and assignment status.

**How do I see our operational areas?**
The `list_service_areas` tool will provide all defined geographic zones in your account, and `get_service_area` will give you the specific boundaries for a zone.