# Arrivy MCP MCP

> Arrivy MCP helps your AI agent manage all field service operations and last-mile delivery tasks. You can run everything from scheduling new jobs to tracking crews in real time, handling customer records, and updating job status right through natural conversation.

## Overview
- **Category:** field-service-management
- **Price:** Free
- **Tags:** task-orchestration, delivery-tracking, crew-management, field-operations, location-tracking, workflow-automation

## Description

This connector lets your agent handle the entire lifecycle of a field operation. Need to set up a new client? Use the tool to create their record first. Then you can schedule service tasks or delivery jobs directly into Arrivy. The system tracks these jobs, allowing you to check details for specific tasks and even update them once they're in progress. You don't have to manually coordinate crew assignments; your agent handles that by listing all field crews and personnel. If you need location data, the tool can list tracked locations, giving real-time visibility into where everyone is. This integration connects Arrivy operations directly to your AI workflow via Vinkius, letting you manage everything without ever switching apps.

## Tools

### create_customer
Creates and adds a new customer record into the system.

### create_task
Schedules and creates a new service task for a specific location or date.

### get_account_check
Verifies that the Arrivy account connection is active and ready to run tasks.

### get_task
Pulls detailed information for one specific task using its unique ID.

### list_crews
Provides a list of all field crews and personnel available for deployment.

### list_customers
Retrieves a list of all existing customers in the Arrivy database.

### list_locations
Retrieves current data points from all tracked locations in the service area.

### list_tasks
Gets a comprehensive list of all current scheduled services and jobs.

### update_task
Changes the status, assignment, or notes on an existing service task.

## Prompt Examples

**Prompt:** 
```
List all scheduled tasks for today in Arrivy.
```

**Response:** 
```
I've retrieved your tasks for today. You have 8 scheduled jobs, including 3 'HVAC Repair' tasks and 5 'Package Deliveries'.
```

**Prompt:** 
```
Create a new task 'Emergency Leak Repair' at '123 Maple St'.
```

**Response:** 
```
The task 'Emergency Leak Repair' has been successfully created with ID 'task_998877'. Would you like me to assign a crew?
```

**Prompt:** 
```
Show me the status of task ID 'T12345'.
```

**Response:** 
```
Task 'T12345' is currently 'In Progress'. The crew arrived at 10:15 AM and is expected to complete the work by 11:30 AM.
```

## Capabilities

### Manage Client Data
Create new customer records or retrieve lists of existing customers for project context.

### Schedule and Track Jobs
List, create, get details on, and update specific service tasks or delivery jobs.

### Monitor Field Teams
View a list of all available field crews and personnel assigned to work.

### Track Equipment Location
Retrieve real-time data points from tracked locations across the service area.

## Use Cases

### Emergency Call Out
A client calls about a leak and needs service immediately. The agent uses the tool to create_task for an 'Emergency Repair' job, checks list_crews to see who is closest, and then updates_task once the crew arrives on site.

### End-of-Day Audit
The manager needs to know if all 50 scheduled deliveries completed today were marked finished. The agent calls list_tasks for the date range and flags any that are still 'In Progress'.

### New Client Onboarding
A sales team member gets a new client name and address. They use create_customer first, then immediately schedule their initial service call using create_task.

### Route Planning Check
Before deploying drivers, the dispatcher checks list_locations to confirm that all required checkpoints are accurately tracked before sending out crews for a major job run.

## Benefits

- Dispatchers can assign new work fast. Instead of filling out forms, you just tell your agent to create a task using the create_task tool, pointing it at the customer record.
- Operations staff get instant visibility. Use list_tasks or list_locations to see every job and where every crew is without leaving your chat window.
- Customer updates are simple. Need an ETA for a client? Your agent uses get_task to pull up the exact status, giving you accurate info immediately.
- Never lose track of who works where. You can list crews or check location data to ensure the right team is assigned to the job that needs it most.
- Your workflow stays contained. Because this MCP handles everything from listing customers to updating tasks, all your core operations run through one connection.

## How It Works

The bottom line is, your AI client handles the sequence of API calls—from gathering data to creating records—so you just talk to it.

1. First, tell your agent what needs to happen. For example, 'Schedule a repair for John Smith at 123 Main Street.'
2. The MCP identifies the need, so it might first use the tool to list customers and create a new record if needed. Then, it calls the tool to create the service task.
3. You get back a confirmed job ID and an update on the status, allowing you to tell your agent, 'Now assign Crew Alpha to that task.'

## Frequently Asked Questions

**How do I check if Arrivy can connect to my AI client using the get_account_check tool?**
Yes, use get_account_check first. This confirms that your agent has a live and active connection to Arrivy before you attempt any other scheduling or data retrieval.

**Can I list all crews using the list_crews tool?**
Yes, list_crews returns a complete roster of available field personnel. This lets your agent know who's on site and who can be assigned to a job.

**What is the difference between create_task and update_task?**
create_task builds the service job from scratch, setting up the initial details. update_task modifies an existing job—for instance, changing its status or adding notes after it's been assigned.

**How do I get data for a specific customer?**
You first use list_customers to find the client ID, then you can pass that information into get_task if there are associated jobs.

**What happens if I try to use `get_task` with a task ID that doesn't exist?**
The MCP returns a specific error code indicating the resource was not found. This is helpful because you don't need to guess IDs; your agent will catch the failure and let you know immediately.

**How can I filter or paginate results when using the `list_tasks` tool?**
You pass parameters like date ranges, status filters, or a limit count directly in your request. This stops you from having to download thousands of records just to find one job.

**What kind of location data does `list_locations` provide?**
It provides detailed coordinates (latitude and longitude), the name, and the associated status for any tracked field site. You get enough detail to build accurate maps or routing plans.

**When using `create_customer`, what mandatory information do I need to include?**
You must provide a unique customer identifier and at least one primary contact email address. This ensures the record is valid and linked correctly before you can assign tasks.

**How do I find my Arrivy API Key?**
Log in to your Arrivy account, go to **Settings > Integrations**, and you will find your API Key under the **Developer** or **API** section.

**Can I assign a crew to a task via this server?**
Yes, you can use the `update_task` tool and provide the crew IDs in the update body to assign or reassign tasks.

**Does Arrivy support real-time ETAs?**
Yes, Arrivy calculates real-time ETAs based on field personnel location. You can retrieve these via the `get_task` or `list_locations` tools.