Back to search
C
73.6 /100

upper-mcp-server

Author upper-ai
Scanned 2d ago

MCP server for Upper Route Planner — manage routes, stops, drivers, vehicles, and analytics from Claude Code, Claude.ai, or any MCP client

npm

Versions

0.0.5scored
Jun 30, 2026
0.0.4
Jun 24, 2026
0.0.3
Mar 6, 2026

Trust breakdown

PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 67

list_tasks
annotations: none low

List unscheduled delivery tasks (stops not yet assigned to any route). These form the delivery queue that can later be assigned to routes.

page number limit number search string stop_type string
create_task
annotations: none low

Create an unscheduled delivery task. Tasks sit in the queue until assigned to a route. Address is required and will be geocoded.

note string email string phone string address string company_name string contact_name string stop_duration number stop_pin_color string
update_task
annotations: none low

Update an unscheduled task

note string email string phone string address string task_id number company_name string contact_name string stop_duration number stop_pin_color string
delete_task
annotations: none low

Delete an unscheduled task from the delivery queue. Always confirm with the user.

task_id number
list_vehicles
annotations: none low

List vehicle profiles with capacity info, type, make/model, and constraints. Supports search and filtering by vehicle type.

page number limit number search string vehicle_type_id number
get_vehicle
annotations: none low

Get detailed information about a specific vehicle including all capacity fields, compliance data, and configuration.

vehicle_id number
get_vehicle_issues
annotations: none low

Get vehicle maintenance issues and problems. Filter by vehicle, status (open/in_progress/resolved/closed), or priority (low/medium/high/critical).

page number limit number status string priority string vehicle_id number
list_stops
annotations: none low

List stops in a route (ordered by optimized sequence) or list all unscheduled stops. Includes address, contact info, status, time windows, and custom fields.

route_id number unscheduled boolean
create_stop
annotations: none low

Add a delivery stop to a route. Address is required and will be geocoded automatically. Omit route_id to create an unscheduled stop. After adding stops, suggest the user optimize the route.

note string email string phone string address string end_time string route_id number nick_name string pin_color string stop_type string start_time string company_name string contact_name string parcel_count number stop_duration number stop_priority string customer_system_id string phone_country_code number
update_stop
annotations: none low

Update a stop

note string email string phone string address string stop_id number end_time string route_id number nick_name string pin_color string stop_type string start_time string company_name string contact_name string parcel_count number stop_duration number stop_priority string customer_system_id string phone_country_code number
delete_stop
annotations: none low

Remove a stop from a route. Cannot delete stops from routes that are currently in progress. Always confirm with the user before calling this.

stop_id number
get_delivery_report
annotations: none low

Get delivery report with stop-level detail. Shows delivery status, timestamps, driver notes, and completion data for a date range.

page number limit number status string date_to string date_from string driver_id number
get_route_summary
annotations: none low

Get summary statistics for a specific route — total stops, completed, failed, duration, distance, and driver performance.

route_id number
get_sms_email_report
annotations: none low

Get SMS and email notification delivery history — which notifications were sent, their status, and timestamps.

page number limit number date_to string date_from string
get_dashboard_metrics
annotations: none low

Get dashboard KPIs including total routes, stops, deliveries, missed, delivery success rate, and daily breakdown for a date range. Default: last 7 days.

to_date string from_date string
get_driver_performance
annotations: none low

Get performance summary for drivers: total routes, deliveries, missed, success rate, distance, and duration. Can filter by driver and date range.

to_date string driver_id number from_date string
get_custom_fields
annotations: none low

Get custom field definitions for stops. Returns up to 5 configurable fields with their type, label, and enabled status. Use this to understand what custom data can be attached to stops.

update_custom_fields
annotations: none low

Configure custom field settings. Each field (custom1-custom5) can have a type (text/number/boolean), label, and enabled status. Label is required when enabling a field.

label string enable boolean required boolean
get_capacity_fields
annotations: none low

Get capacity field definitions for stops. Returns up to 5 configurable fields for tracking weight, volume, or other capacity metrics on stops.

update_capacity_fields
annotations: none low

Configure capacity field settings. Each field (capacity1-capacity5) has a label, unit, and enabled status. Both label and unit are required when enabling a field.

unit string label string enable boolean required boolean
reorder_stop
annotations: none low

Move a stop to a new position within its route. Other stops are reindexed automatically.

stop_id number new_position number
assign_stops_to_driver
annotations: none low

Bulk reassign stops to a different driver within a route. The stops must belong to the same route.

driver_id number
list_archived_routes
annotations: none low

List archived (historical) routes. These routes have been moved to the archive and are no longer active.

page number limit number search string
archive_route
annotations: none low

Move an active route to the archive. Archived routes can be restored later. Always confirm with the user before archiving.

route_id number
restore_route
annotations: none low

Restore an archived route back to active status.

route_id number
list_drivers
annotations: none low

List all active drivers on the team with name, email, and phone. Use the driver IDs from this list when assigning drivers to routes.

assign_drivers
annotations: none low

Assign one or more drivers to a route. This sets up their depot addresses and prepares the route for optimization. Use list_drivers first to get available driver IDs.

route_id number
get_delivery_proof
annotations: none low

Get proof of delivery for stops: signatures, photos, notes, timestamps, and driver info. Filter by route_id or specific stop_id.

stop_id number route_id number
get_stop_logs
annotations: none low

Get activity log for all stops in a route: delivery status, order, driver assignment, arrival time, and whether signature/photo exists for each stop.

route_id number
get_timesheets
annotations: none low

Get driver timesheet records: clock-in/out times, total hours worked, and GPS locations. Filter by driver and date range. Default: last 7 days.

page number limit number to_date string driver_id number from_date string
get_notification_settings
annotations: none low

Get delivery notification settings including SMS and email templates for before-delivery, successful-delivery, and failed-delivery events.

update_notification_settings
annotations: none low

Update delivery notification templates and settings. Configure what SMS/email customers receive before, on success, or on failure of delivery.

subject string template string company_name string
get_stop_type_notification_settings
annotations: none low

Get notification flags per stop type (Delivery/Pickup/Service). Shows which notification channels (SMS/email) are enabled for each delivery stage (before/success/fail) per stop type.

list_contacts
annotations: none low

List contacts from the address book with optional filters. Returns paginated results with contact details, address, and custom fields.

city string page number limit number state string search string is_favourite boolean
get_contact
annotations: none low

Get detailed information about a specific contact including all emails, custom fields, and time windows.

contact_id number
create_contact
annotations: none low

Add a new contact to the address book. Address is required and will be geocoded. Contacts can later be used when creating stops.

email string notes string phone string address string fullname string nick_name string latest_time string company_name string is_favourite boolean earliest_time string stop_duration number customer_system_id string
update_contact
annotations: none low

Update a contact

email string notes string phone string address string fullname string nick_name string contact_id number latest_time string company_name string is_favourite boolean earliest_time string stop_duration number customer_system_id string
delete_contact
annotations: none low

Remove a contact from the address book. Always confirm with the user before calling this.

contact_id number
search_contacts
annotations: none low

Quick search across all contact fields (name, company, email, phone, address). Returns compact results for fast lookup.

limit number query string
get_contact_custom_fields
annotations: none low

Get custom field definitions for contacts. Returns up to 5 configurable fields (contact_custom1-5) with their type, label, and enabled status. Use this to understand what custom data can be attached to contacts.

update_contact_custom_fields
annotations: none low

Configure contact custom field settings. Each field (contact_custom1-5) can have a type (text/number/boolean), label, and enabled status. Label is required when enabling a field.

optimize_route
annotations: none low

Start route optimization. This is asynchronous and takes 10-60 seconds. After calling this, wait a few seconds then call get_optimization_status to check progress.

route_id number
get_optimization_status
annotations: none low

Check route optimization progress. Returns whether optimization is pending, completed (optimized), or not started (not_optimized). If pending, wait and check again.

route_id number
share_route
annotations: none low

Send route to drivers via push notification so they can view and navigate the route in the Upper driver app. Optionally schedule the notification for later.

route_id number timezone string schedule_at string schedule_duration string
list_recurring_routes
annotations: none low

List recurring route templates. Templates define routes that repeat on a schedule (daily, weekly, monthly).

page number limit number search string status string
get_recurring_route
annotations: none low

Get detailed info about a recurring route template including its stops, exception dates, recurrence pattern, and generated instances.

recurring_route_id number
create_recurring_route
annotations: none low

Create a recurring route template. Define a name, recurrence pattern (daily/weekly/monthly), and stops. Routes will be auto-generated based on the schedule.

name string note string email string phone string address string end_date string interval number end_count number stop_type string start_date string description string latest_time string contact_name string earliest_time string stop_duration number stop_priority string
update_recurring_route
annotations: none low

Update a recurring route template

date string name string reason string status string end_date string interval number end_count number start_date string description string recurring_route_id number
delete_recurring_route
annotations: none low

Delete a recurring route template. This does not delete previously generated route instances. Always confirm with the user.

recurring_route_id number
preview_recurring_route
annotations: none low

Preview the next N occurrence dates for a recurring route template. Shows which dates would get routes generated.

limit number from_date string recurring_route_id number
generate_recurring_routes
annotations: none low

Generate actual routes from a recurring template for specific dates. Creates real routes with all stops from the template.

recurring_route_id number
get_account_summary
annotations: none low

Get current user account overview — name, email, role, plan, total routes, today

download_manifest
annotations: none low

Get a link that opens the route

route_id number
get_route_share_url
annotations: none low

Get a link to view the optimized route in the Upper app (login required). Returns a URL the user can click to see the route as it looks in the app. Optionally also delivers the route

route_id number driver_id number
list_zones
annotations: none low

List all service zones/geofences with their assigned drivers. Each zone includes name, type, polyline boundary, and driver assignments.

duplicate_route
annotations: none low

Clone a route with all its stops and settings. Creates a new route with status Upcoming. Useful for creating tomorrow

route_id number
lock_route
annotations: none low

Lock a route to prevent re-optimization. Locked routes cannot be optimized until unlocked.

route_id number driver_id number
reverse_route
annotations: none low

Reverse the stop order in a route. The last stop becomes first and vice versa.

route_id number driver_id number
publish_route
annotations: none low

Publish a route to drivers. This makes the route visible in the driver app and sends push notifications. Confirm with user before calling.

route_id number
mark_route_complete
annotations: none low

Mark a route as completed. Updates status and records completion timestamp. Confirm with user before calling.

route_id number
get_driver_locations
annotations: none low

Get real-time GPS locations for all active drivers with tracking enabled. Returns current latitude/longitude, speed, and timestamp for each driver.

driver_ids string
get_route_progress
annotations: none low

Get real-time progress for a specific route including completion percentage, delivered/missed/pending counts, and driver performance metrics.

route_id number
list_routes
annotations: none low

List routes with optional filters. Returns up to 50 routes sorted by date descending. Filter by date, date range, status, or search term.

to string date string from string search string
create_route
annotations: none low

Create a new delivery route. Returns the route ID needed for adding stops, assigning drivers, and optimizing.

route_date string route_name string service_time number
get_route
annotations: none low

Get route details with stop and driver summary — name, date, status, stop count, assigned drivers, optimization status, and distance/time totals.

route_id number
update_route
annotations: none low

Update route properties — name, date, optimization preference, service time, or distance units. Only provided fields are updated.

route_id number route_date string route_name string service_time number
delete_route
annotations: none low

Delete a route. This soft-deletes the route and cannot be undone. Always confirm with the user before calling this.

route_id number

Permissions 0

No permissions indexed yet.

Scan Findings 150

low
Tool 'list_tasks' has no annotations annotation_checker · 100%
low
Tool 'create_task' has no annotations annotation_checker · 100%
low
Tool 'update_task' has no annotations annotation_checker · 100%
low
Tool 'delete_task' has no annotations annotation_checker · 100%
low
Tool 'list_vehicles' has no annotations annotation_checker · 100%
low
Tool 'get_vehicle' has no annotations annotation_checker · 100%
low
Tool 'get_vehicle_issues' has no annotations annotation_checker · 100%
low
Tool 'list_stops' has no annotations annotation_checker · 100%
low
Tool 'create_stop' has no annotations annotation_checker · 100%
low
Tool 'update_stop' has no annotations annotation_checker · 100%
low
Tool 'delete_stop' has no annotations annotation_checker · 100%
low
Tool 'get_delivery_report' has no annotations annotation_checker · 100%
low
Tool 'get_route_summary' has no annotations annotation_checker · 100%
low
Tool 'get_sms_email_report' has no annotations annotation_checker · 100%
low
Tool 'get_dashboard_metrics' has no annotations annotation_checker · 100%
low
Tool 'get_driver_performance' has no annotations annotation_checker · 100%
low
Tool 'get_custom_fields' has no annotations annotation_checker · 100%
low
Tool 'update_custom_fields' has no annotations annotation_checker · 100%
low
Tool 'get_capacity_fields' has no annotations annotation_checker · 100%
low
Tool 'update_capacity_fields' has no annotations annotation_checker · 100%
low
Tool 'reorder_stop' has no annotations annotation_checker · 100%
low
Tool 'assign_stops_to_driver' has no annotations annotation_checker · 100%
low
Tool 'list_archived_routes' has no annotations annotation_checker · 100%
low
Tool 'archive_route' has no annotations annotation_checker · 100%
low
Tool 'restore_route' has no annotations annotation_checker · 100%
low
Tool 'list_drivers' has no annotations annotation_checker · 100%
low
Tool 'assign_drivers' has no annotations annotation_checker · 100%
low
Tool 'get_delivery_proof' has no annotations annotation_checker · 100%
low
Tool 'get_stop_logs' has no annotations annotation_checker · 100%
low
Tool 'get_timesheets' has no annotations annotation_checker · 100%
low
Tool 'get_notification_settings' has no annotations annotation_checker · 100%
low
Tool 'update_notification_settings' has no annotations annotation_checker · 100%
low
Tool 'get_stop_type_notification_settings' has no annotations annotation_checker · 100%
low
Tool 'list_contacts' has no annotations annotation_checker · 100%
low
Tool 'get_contact' has no annotations annotation_checker · 100%
low
Tool 'create_contact' has no annotations annotation_checker · 100%
low
Tool 'update_contact' has no annotations annotation_checker · 100%
low
Tool 'delete_contact' has no annotations annotation_checker · 100%
low
Tool 'search_contacts' has no annotations annotation_checker · 100%
low
Tool 'get_contact_custom_fields' has no annotations annotation_checker · 100%
low
Tool 'update_contact_custom_fields' has no annotations annotation_checker · 100%
low
Tool 'optimize_route' has no annotations annotation_checker · 100%
low
Tool 'get_optimization_status' has no annotations annotation_checker · 100%
low
Tool 'share_route' has no annotations annotation_checker · 100%
low
Tool 'list_recurring_routes' has no annotations annotation_checker · 100%
low
Tool 'get_recurring_route' has no annotations annotation_checker · 100%
low
Tool 'create_recurring_route' has no annotations annotation_checker · 100%
low
Tool 'update_recurring_route' has no annotations annotation_checker · 100%
low
Tool 'delete_recurring_route' has no annotations annotation_checker · 100%
low
Tool 'preview_recurring_route' has no annotations annotation_checker · 100%
low
Tool 'generate_recurring_routes' has no annotations annotation_checker · 100%
low
Tool 'get_account_summary' has no annotations annotation_checker · 100%
low
Tool 'download_manifest' has no annotations annotation_checker · 100%
low
Tool 'get_route_share_url' has no annotations annotation_checker · 100%
low
Tool 'list_zones' has no annotations annotation_checker · 100%
low
Tool 'duplicate_route' has no annotations annotation_checker · 100%
low
Tool 'lock_route' has no annotations annotation_checker · 100%
low
Tool 'reverse_route' has no annotations annotation_checker · 100%
low
Tool 'publish_route' has no annotations annotation_checker · 100%
low
Tool 'mark_route_complete' has no annotations annotation_checker · 100%
low
Tool 'get_driver_locations' has no annotations annotation_checker · 100%
low
Tool 'get_route_progress' has no annotations annotation_checker · 100%
low
Tool 'list_routes' has no annotations annotation_checker · 100%
low
Tool 'create_route' has no annotations annotation_checker · 100%
low
Tool 'get_route' has no annotations annotation_checker · 100%
low
Tool 'update_route' has no annotations annotation_checker · 100%
low
Tool 'delete_route' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.12.0 (GHSA-345p-7cg4-v4c7) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.12.0 (GHSA-46jr-4wx8-v453) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.12.0 (GHSA-6prh-2h8m-c8cw) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.12.0 (GHSA-6qxp-vccf-f47h) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.12.0 (GHSA-8r9q-7v3j-jr4g) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.12.0 (GHSA-f897-62hf-6gxq) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.12.0 (GHSA-rvq5-wwqv-78pq) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.12.0 (GHSA-w48q-cv73-mx4w) dependency_analyzer · 95%
medium
Vulnerable dependency: zod@3.24.0 (GHSA-mrhx-c7xc-m3w5) dependency_analyzer · 95%
info
package.json metadata manifest_parser · 100%
info
Tool: list_tasks manifest_parser · 70%
info
Tool: create_task manifest_parser · 70%
info
Tool: update_task manifest_parser · 70%
info
Tool: delete_task manifest_parser · 70%
info
Tool: list_vehicles manifest_parser · 70%
info
Tool: get_vehicle manifest_parser · 70%
info
Tool: get_vehicle_issues manifest_parser · 70%
info
Tool: list_stops manifest_parser · 70%
info
Tool: create_stop manifest_parser · 70%
info
Tool: update_stop manifest_parser · 70%
info
Tool: delete_stop manifest_parser · 70%
info
Tool: get_delivery_report manifest_parser · 70%
info
Tool: get_route_summary manifest_parser · 70%
info
Tool: get_sms_email_report manifest_parser · 70%
info
Tool: get_dashboard_metrics manifest_parser · 70%
info
Tool: get_driver_performance manifest_parser · 70%
info
Tool: get_custom_fields manifest_parser · 70%
info
Tool: update_custom_fields manifest_parser · 70%
info
Tool: get_capacity_fields manifest_parser · 70%
info
Tool: update_capacity_fields manifest_parser · 70%
info
Tool: reorder_stop manifest_parser · 70%
info
Tool: assign_stops_to_driver manifest_parser · 70%
info
Tool: list_archived_routes manifest_parser · 70%
info
Tool: archive_route manifest_parser · 70%
info
Tool: restore_route manifest_parser · 70%
info
Tool: list_drivers manifest_parser · 70%
info
Tool: assign_drivers manifest_parser · 70%
info
Tool: get_delivery_proof manifest_parser · 70%
info
Tool: get_stop_logs manifest_parser · 70%
info
Tool: get_timesheets manifest_parser · 70%
info
Tool: get_notification_settings manifest_parser · 70%
info
Tool: update_notification_settings manifest_parser · 70%
info
Tool: get_stop_type_notification_settings manifest_parser · 70%
info
Tool: list_contacts manifest_parser · 70%
info
Tool: get_contact manifest_parser · 70%
info
Tool: create_contact manifest_parser · 70%
info
Tool: update_contact manifest_parser · 70%
info
Tool: delete_contact manifest_parser · 70%
info
Tool: search_contacts manifest_parser · 70%
info
Tool: get_contact_custom_fields manifest_parser · 70%
info
Tool: update_contact_custom_fields manifest_parser · 70%
info
Tool: optimize_route manifest_parser · 70%
info
Tool: get_optimization_status manifest_parser · 70%
info
Tool: share_route manifest_parser · 70%
info
Tool: list_recurring_routes manifest_parser · 70%
info
Tool: get_recurring_route manifest_parser · 70%
info
Tool: create_recurring_route manifest_parser · 70%
info
Tool: update_recurring_route manifest_parser · 70%
info
Tool: delete_recurring_route manifest_parser · 70%
info
Tool: preview_recurring_route manifest_parser · 70%
info
Tool: generate_recurring_routes manifest_parser · 70%
info
Tool: get_account_summary manifest_parser · 70%
info
Tool: download_manifest manifest_parser · 70%
info
Tool: get_route_share_url manifest_parser · 70%
info
Tool: list_zones manifest_parser · 70%
info
Tool: duplicate_route manifest_parser · 70%
info
Tool: lock_route manifest_parser · 70%
info
Tool: reverse_route manifest_parser · 70%
info
Tool: publish_route manifest_parser · 70%
info
Tool: mark_route_complete manifest_parser · 70%
info
Tool: get_driver_locations manifest_parser · 70%
info
Tool: get_route_progress manifest_parser · 70%
info
Tool: list_routes manifest_parser · 70%
info
Tool: create_route manifest_parser · 70%
info
Tool: get_route manifest_parser · 70%
info
Tool: update_route manifest_parser · 70%
info
Tool: delete_route manifest_parser · 70%
info
Transport: streamable-http manifest_parser · 80%
info
Required env vars (5) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
info
SBOM generated: 6 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%