# McLeod Software MCP

> McLeod Software MCP Server gives your AI agent direct access to McLeod LoadMaster and PowerBroker data. Manage every aspect of transportation logistics, from listing all open orders to tracking real-time dispatch movements. Use it to pull detailed shipment metadata, inspect master records for carriers or customers, and orchestrate complex dispatches entirely through natural conversation. It's the full command center for your fleet operations.

## Overview
- **Category:** business-intelligence
- **Price:** Free
- **Tags:** transportation-management, order-management, dispatch-orchestration, logistics, carrier-management, shipment-tracking

## Description

You connect your AI agent directly to McLeod LoadMaster or PowerBroker data. This server gives you the full command center for fleet operations, letting your agent manage everything from listing open jobs to tracking real-time movement using nothing but natural conversation.

For job orders, you can run `list_orders` and get a complete rundown of every transportation order logged in McLeod. If you know what specific job you're working on, use `search_orders` to narrow down results fast by throwing in keywords or partial terms across the whole backlog. Once your agent finds the right ID, it uses `get_order` to pull all the detailed metadata for that single shipment.

When you need to track a dispatch, first list every active and past assignment using `list_dispatches`. Then, by feeding in a specific dispatch ID, `get_dispatch_details` pulls the whole picture: it tells you who's driving it, where it is right now, and what the overall plan is for that run. To follow the physical movement of your fleet, start with `list_movements`, which spits out every recorded truckload movement over time. If you need to know exactly where that truck stopped along the way, `list_stops` gives you the specific sequence and details for all stops on a given trip’s path.

Don't waste time looking up IDs manually; your agent handles core business entities for you. You can use `list_customers` to pull a full roster of master customer accounts or run `list_carriers` to see every registered carrier record in the system. If you need to know which company driver is handling the load, `list_drivers` gives you a directory of every assigned company employee.

## Tools

### get_dispatch_details
Pulls the full details for one specific dispatch assignment.

### get_order
Fetches all available metadata for a single, specified order ID.

### list_carriers
Provides a list of all master carrier records in the system.

### list_customers
Retrieves a complete list of master customer accounts.

### list_dispatches
Lists every active and past dispatch assignment ID available in the system.

### list_drivers
Retrieves a directory of all registered company drivers.

### list_movements
Lists every recorded truckload movement, allowing you to see the scope of transport activity over time.

### list_orders
Gets a comprehensive list of all transportation orders currently logged in McLeod.

### list_stops
Provides the specific sequence and details for stops along any recorded movement path.

### search_orders
Searches across all transportation orders using keywords or partial terms to narrow down results quickly.

## Prompt Examples

**Prompt:** 
```
List the last 5 transportation orders.
```

**Response:** 
```
Retrieving orders... I found several orders including ORD-98765 for TechCorp and ORD-98764 for GlobalLogistics.
```

**Prompt:** 
```
Search for orders related to 'Chicago'.
```

**Response:** 
```
Searching... I identified 3 orders with routes starting or ending in Chicago.
```

**Prompt:** 
```
What is the status of dispatch assignment ID 555?
```

**Response:** 
```
Inspecting dispatch... Assignment 555 is currently 'In Transit', driven by John Smith.
```

## Capabilities

### Check specific dispatch status
You ask for a dispatch ID, and the agent pulls all current details—who's driving it, where it is, what the plan is.

### Retrieve full order information
The agent fetches complete details on any specific order number or searches across multiple orders using keywords.

### Track vehicle movements and stops
You get a list of all recorded truckload movements, plus the exact sequence of stops for any given trip.

### Manage core business entities
The agent lists or inspects master records for customers, carriers, and drivers so you never have to manually look up an ID.

### Monitor active dispatches
You can get a list of all current dispatch assignments across your fleet, letting you see what's moving right now.

## Use Cases

### Figuring out a delayed shipment's exact location
The Ops Manager gets a call about a late load. Instead of asking the dispatcher to pull up the tablet, they ask their agent. The agent runs `get_dispatch_details` and then uses `list_stops` on that dispatch ID. Problem solved: They see exactly which stop caused the delay.

### Auditing all shipments for a specific client
The Billing Analyst needs to verify if TechCorp was charged correctly for last week's run. The agent uses `list_customers` first, then runs `search_orders` using 'TechCorp.' Finally, they pull the full record with `get_order` to match invoice details.

### Getting an overview of today’s fleet activity
The Dispatcher starts their shift by asking for all active jobs. The agent runs `list_dispatches`. If they notice a cluster of dispatches in one region, they can then run `list_movements` to check the status of those specific routes.

### Cross-checking carrier credentials before onboarding
A new partner needs setting up. Instead of searching multiple tabs, the agent runs `list_carriers`. This confirms if the company is already listed and provides the necessary master record details for immediate use.

## Benefits

- Instant status checks: Instead of navigating through menus to find a single job's status, you just ask for it. Use `get_dispatch_details` to instantly confirm if an assignment is 'In Transit,' who the driver is, and what the next step is.
- Master data lookup: Stop wasting time looking up customer or carrier IDs. Running `list_customers` or `list_carriers` pulls clean, accurate master records directly into your chat window for immediate use.
- Full audit trail access: Need to prove where a shipment went? Use `list_movements` and then drill down with `list_stops`. You get the complete sequence of stops without manual report generation.
- Targeted order retrieval: If you only care about orders in one area or related to one client, don't list everything. Run `search_orders` first—it cuts through noise so you can pinpoint exactly what you need with `get_order`.
- Dispatch visibility: You can see the whole picture by calling `list_dispatches`, giving you an immediate overview of every active job that needs attention today.

## How It Works

The bottom line is that you talk to your AI client, and it talks directly to McLeod Software for real-time operational data.

1. Subscribe to the server and provide your required credentials (McLeod Base URL, Client ID, Client Secret, Company ID).
2. Your AI client connects using these stored keys, establishing a direct link to your McLeod software instance.
3. You ask your agent a question like, 'What's the status of dispatch 555?' and the server runs the appropriate tool to return live data.

## Frequently Asked Questions

**How do I check a specific order status using get_order?**
You provide the Order ID to the agent, and it runs `get_order`. The output gives you all available metadata—status, associated dispatch IDs, and required next steps.

**Can I find a shipment if I don't know the order ID? Use search_orders.**
Yes. If you just know 'Chicago' or 'TechCorp,' run `search_orders` with those terms. It returns a list of matching Order IDs, which you can then use to get details.

**How do I see all active jobs on the fleet?**
Run `list_dispatches`. This tool pulls every dispatch assignment ID currently in the system. You'll need to take one of those IDs and pass it to `get_dispatch_details` for specifics.

**What is list_movements used for?**
`list_movements` gives you a log of every truckload movement that has ever happened. It’s your full historical record, essential for billing and compliance checks.

**Before I run `list_carriers`, what credentials do I need to authenticate my AI client?**
You must provide your McLeod Base URL, Client ID, Client Secret, and Company ID. These four pieces of information are required for the server to access your specific organization's data.

**If `get_dispatch_details` fails because the ID is wrong, what error message should I expect?**
You will receive a standard 'Not Found' status code (404). Your AI client handles this by notifying you that the specific dispatch ID doesn't exist. You can then try listing dispatches instead.

**When I use `list_orders`, what parameters should I pass to filter for a date range?**
You usually specify start and end dates in the request payload. This is crucial because it filters massive result sets down quickly, letting you focus on activity from just last week or this month.

**To get stop details using `list_stops`, what key identifier must I pass to the tool?**
It requires a Movement ID. You can't query stops without knowing the movement first. Run `list_movements` to grab that necessary movement identifier before running this function.

**How do I get my McLeod API credentials?**
You typically need to contact your internal McLeod admin or partner@mcleodsoftware.com to enable the API and receive your OAuth 2.0 Client ID and Secret.

**What is the Company ID?**
The Company ID is a unique string used in the `X-com.mcleodsoftware.CompanyID` header to identify your specific TMS database/company.

**Is my transportation data secure?**
Absolutely. Your credentials are encrypted at rest and injected securely at runtime.