# Geotab MCP

> Geotab MCP connects your AI agent directly to telematics data from MyGeotab. Ask questions about fleet health, check vehicle diagnostics, track specific trips, and manage user accounts—all through natural conversation. Get instant counts of records or pull massive logs without building complex queries.

## Overview
- **Category:** iot-hardware
- **Price:** Free
- **Tags:** telematics, gps-tracking, fleet-tracking, geotab-sdk, vehicle-data

## Description

This connection lets you talk to your entire fleet operation history using only plain English. Forget running reports in multiple tabs or writing complicated database queries. You just ask your agent what you need, and it pulls the data from MyGeotab for you.

Need to know if a device is running correctly? Ask the system to check its status feed. Want to audit who has access? The MCP lets you manage user accounts and vehicle definitions right through conversation. If you're using Vinkius, you can connect this Geotab MCP alongside dozens of other services—all in one spot. It’s about talking to your data instead of clicking through interfaces.

## Tools

### add_entity
Use this tool to create a brand new record, such as adding a new vehicle zone or user account.

### get_count_of
This quickly tells you exactly how many records match your search criteria without having to download the whole dataset.

### get_feed
It pulls a massive batch of new or updated data, like fault codes, and gives you a token for continuous updates.

### get_entity
Retrieves a specific list of records, such as all devices in a certain geographical area, based on your search criteria.

### execute_multi_call
Run several different database operations—like checking user status and pulling logs—all within one single request for maximum speed.

### remove_entity
Deletes a specific record from the system, such as removing an inactive user profile or obsolete zone.

### set_entity
Updates an existing piece of data, allowing you to change details for a device or modify a rule set.

## Prompt Examples

**Prompt:** 
```
List all active devices in my Geotab database.
```

**Response:** 
```
I've retrieved the list of devices. You have 12 active units, including 'Truck 01' (ID: b1) and 'Van 04' (ID: b2). Would you like to see the status data for any of them?
```

**Prompt:** 
```
How many trips were recorded yesterday? Use get_count_of.
```

**Response:** 
```
There were 45 trips recorded in the database for the requested period.
```

**Prompt:** 
```
Get the latest feed of FaultData using get_feed.
```

**Response:** 
```
I've fetched the latest FaultData feed. I found 3 new fault records, including an engine warning on 'Truck 01'. I also have the toVersion token for your next update.
```

## Capabilities

### Get Device Information
Retrieve details on specific vehicles or units by searching the database.

### Manage System Entities
Create, update, or delete core records like users and zones in the system.

### Analyze Historical Movement
Query past trips and specific exception events to check compliance or behavior patterns.

### Fetch Real-Time Data Streams
Pull large volumes of continuously updated data, like fault codes or status readings, for deep analysis.

### Perform Bulk Operations
Execute several different database calls in a single request to save time and bandwidth.

## Use Cases

### Investigating an accident site
The agent uses get_entity and execute_multi_call to pull the precise location data, speed reports, and fault codes for all vehicles involved in a specific incident. It delivers a single summary report showing compliance risks.

### Onboarding new users
The operations team asks the agent to add_entity for ten new employees, creating their profiles and assigning them to pre-defined operational zones in bulk, saving hours of manual data entry.

### Checking system integrity
A developer uses get_count_of first to see if the total number of active devices matches the expected count. If it doesn't, they use get_entity to list discrepancies for immediate follow-up.

### Monitoring fleet maintenance
The manager asks the agent to check the latest FaultData feed using get_feed. The system immediately flags three specific engine warnings on 'Truck 01' that need scheduling, saving a costly breakdown.

## Benefits

- Stop generating reports manually. You can ask for the count of trips recorded yesterday using get_count_of, getting an answer instantly instead of waiting for a batch job.
- Handle massive data streams efficiently. Use get_feed to pull thousands of fault records over time without overloading your connection or running into rate limits.
- Manage your entire user base from one place. You can use add_entity and set_entity to create, update, or change access for users and devices via chat.
- Speed up complex audits. Instead of three different API calls, you run them all at once using execute_multi_call, checking multiple data points in a single prompt.
- Analyze behavior without downloading everything. Need to know how many vehicles are currently out of service? Use get_entity for targeted results instead of dumping gigabytes of logs.

## How It Works

The bottom line is: You tell your AI client the goal; this MCP does the heavy lifting by connecting to Geotab and pulling the precise data you need.

1. Subscribe to this MCP and provide your required Geotab credentials, including the server details, username, and password.
2. Connect the MCP to your preferred AI client, like Cursor or Windsurf. Your agent now has access to all the telematics tools.
3. Tell your agent exactly what you need—for example, 'List all devices that reported a fault in the last hour'—and it executes the necessary calls.

## Frequently Asked Questions

**How do I check how many active devices are connected using Geotab MCP?**
You use the get_count_of tool. You simply ask your agent to count records matching 'active device status' rather than running a complex query and counting the results yourself.

**What is the best way to get continuous fault data with Geotab MCP?**
Use the get_feed tool. This method handles high-volume synchronization, pulling new or updated records continuously while providing a token for your next request.

**Can I update user roles using the Geotab MCP?**
Yes, you use set_entity. Just provide the agent with the ID of the record and the specific changes needed to update that user's permissions or zone assignment.

**Do I need to run multiple API calls to get all this data?**
No, you don't. You can use execute_multi_call to bundle several different requests into one single call, making the process faster and more efficient.

**What if I need to delete an obsolete record using Geotab MCP?**
You use the remove_entity tool. Simply specify which entity you want deleted and confirm the action through your agent's conversation interface.