io.usefulapi/upper-route-planner
up checked
Unclaimed · Unverified
Agent searches it appeared in, last 30 days: 0. Run this server? Claim the listing: verified label, uptime alerts and analytics.
Publisher-provided title
Upper Route Planner MCP by usefulapi
Publisher-provided description
Read Upper drivers and stops; create and optimize routes, assign drivers, share routes to the app.
Summary by lookupd
Lets agents read drivers and stops, create and optimize routes, assign drivers, and push routes to the driver app.
Install
Claude Code, remote (streamable-http)
claude mcp add --transport http upper-route-planner https://upper-route-planner.usefulapi.io/mcp
Codex, remote (streamable-http)
codex mcp add upper-route-planner --url https://upper-route-planner.usefulapi.io/mcp
Cursor, remote (streamable-http) → .cursor/mcp.json
{
"mcpServers": {
"upper-route-planner": {
"url": "https://upper-route-planner.usefulapi.io/mcp"
}
}
}Other clients: docs. Or tell your agent: Set up lookupd for me: read https://lookupd.com/agent.md and follow it.
Tools (12 tools)
Publisher-provided text
upper_list_driversList the active drivers on the Upper team that owns the API token: id, name, email and phone. Use the ids with upper_assign_drivers and upper_share_route_to_driupper_list_stopsList the team's stops in optimized order: address, coordinates, contact, time window, duration, status, route_id and custom ids. Pass route_id for one route (opupper_get_optimization_statusCheck whether a route is optimized: status is optimized, pending (still running) or not_optimized, plus the queue_id of the last job. Poll this after upper_optiupper_get_custom_fieldsThe workspace's five stop custom-field slots (custom1 - custom5: type, label, enabled, required) and which are enabled. Needs the Custom fields feature in the Uupper_get_capacity_fieldsThe workspace's five capacity-field slots (capacity1 - capacity5: label, unit, enabled) used for load planning. GET /ext-get-capacity-fields.upper_create_routeWRITE: create a new, empty route (name, date, optimization preference, units, pickup sequencing, service time). Omitted settings fall back to the account's defaupper_update_routeWRITE: change settings of an existing route (name, date, optimize_for, units, pickup_settings, service_time). Only the fields you pass change. POST /ext-update-upper_create_stopWRITE: create a stop. The address is geocoded by Upper. Pass route_id to put it on a route (the route must not be active/in progress; an optimized route is flagupper_update_stopWRITE: change an existing stop; only the fields you pass change. A new address is re-geocoded (city/state/zipcode you pass with it are ignored); city/state/zipcupper_assign_driversWRITE: assign one or more drivers (ids from upper_list_drivers) to a route, replacing the route's drivers. Every id must be an active driver on the team. If theupper_optimize_routeWRITE: start optimizing a route's stop order. The route needs at least one stop and one assigned driver (upper_assign_drivers). It runs asynchronously: this retupper_share_route_to_driversWRITE: push a route to the drivers' mobile app NOW, which sends each driver a notification. Without driver_ids the route's assigned drivers are used; with them,
Details
- Version: 1.13.3
- Transports: streamable-http
- Uptime (7 days): 100%
- Median latency: 626 ms
- First indexed:
- Last seen in registry:
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/upper-route-planner/
Badge for your README
Shows this live status and links here; updates hourly.
[](https://lookupd.com/servers/io.usefulapi/upper-route-planner)
- 62092 servers
- Last crawl: 2026-11-11T17:17:22.074Z
- API base:
https://api.lookupd.com - MCP URL:
https://api.lookupd.com/mcp