Upper Route Planner MCP by usefulapi

io.usefulapi由 usefulapi.io 發布官方發布者v1.12.4更新於 Nov 7, 2026

Read Upper drivers and stops; create and optimize routes, assign drivers, share routes to the app.

發布方自己的服務:Ably MCP by usefulapi

已驗證Streamable HTTP可網頁執行位置與生活效率與工作流

概覽

AI 產生的概覽

Upper Route Planner 的遠端 MCP 伺服器:讀取司機與站點,建立與最佳化路線,指派司機並把路線推送到司機 App。

可以做什麼
  • 列出司機與站點,包括尚未排入任何路線的站點,含地址、時間窗與狀態
  • 查詢路線最佳化狀態,讀取工作區的站點自訂欄位與容量欄位
  • 建立與更新路線及站點,地址由 Upper 進行地理編碼
  • 為路線指派司機並啟動非同步路線最佳化
  • 把路線推送到司機手機 App,並通知每位司機
  • 查看當月用量、提出功能需求、升級或取消訂閱
適用情境
適合在 Upper Route Planner 規劃配送或服務路線時使用:讓助理依地址清單建立路線、指派司機、執行最佳化,並把完成的路線推送給司機,不必開啟應用程式。
執行需求
遠端 streamable HTTP 端點;用戶端只需填入 URL,不需要 API key 或 Authorization 標頭。透過 OAuth 以使用者的 Upper Route Planner 帳號登入。免費方案每月 50 次工具呼叫,付費方案提高上限。
安裝前請注意
多數工具會寫入 Upper 資料:建立與修改路線及站點、指派司機、最佳化與分享路線。分享會立即通知司機,重複呼叫會重複通知,應先確認。重複建立會產生重複資料。指派司機會重設已最佳化的路線。付費方案透過 Stripe 結帳連結付款,取消後當期不退款。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Upper Route Planner MCP by usefulapi,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.usefulapi%2Fupper-route-planner/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "upper-route-planner-by-usefulapi": {
      "type": "http",
      "url": "https://upper-route-planner.usefulapi.io/mcp"
    }
  }
}

README

Upper Route Planner MCP by usefulapi

Live endpoint: https://upper-route-planner.usefulapi.io/mcp · Homepage: https://usefulapi.io/upper-route-planner

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://upper-route-planner.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http upper-route-planner https://upper-route-planner.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "upper-route-planner": {      "url": "https://upper-route-planner.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Upper Route Planner credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/upper-route-planner/

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Upper Route Planner credentials.

Tools

ToolTypeWhat it does
upper_list_driversreadList drivers
upper_list_stopsreadList stops
upper_get_optimization_statusreadGet route optimization status
upper_get_custom_fieldsreadGet stop custom fields
upper_get_capacity_fieldsreadGet capacity fields
upper_create_routewriteCreate route
upper_update_routewriteUpdate route
upper_create_stopwriteCreate stop
upper_update_stopwriteUpdate stop
upper_assign_driverswriteAssign drivers to a route
upper_optimize_routewriteOptimize route
upper_share_route_to_driverswriteShare route to drivers
upper_usage_statusmetaUsage status (free-tier meter)
upper_request_featuremetaRequest a missing feature
upper_upgrademetaUpgrade to Pro or Pro+
upper_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per account)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with upper_upgrade (it returns a Stripe Checkout link). Cancel any time with upper_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running upper_upgrade before then undoes the cancel. Or write to [email protected].

License

來源:servers/upper-route-planner/README.md,提交 4046075

工具

12

upper_list_drivers

List drivers

List 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_drivers. GET /ext-get-drivers.

無需輸入參數。

upper_list_stops

List stops

List 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 (optionally scheduled=true/false); pass unscheduled=true (without route_id) for stops not on any route; with no filter all active stops are returned. Upper has no paging, so this tool pages locally: `limit` stops (default 100, max 500) starting at `offset`; the reply says if more remain (truncated, next_offset). GET /ext-get-stops.

輸入參數limitoffsetroute_idscheduledunscheduled

upper_get_optimization_status

Get route optimization status

Check 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_optimize_route. GET /ext-optimization-status.

輸入參數route_id必填

upper_get_custom_fields

Get stop custom fields

The workspace's five stop custom-field slots (custom1 - custom5: type, label, enabled, required) and which are enabled. Needs the Custom fields feature in the Upper plan. GET /ext-get-custom-fields.

無需輸入參數。

upper_get_capacity_fields

Get capacity fields

The workspace's five capacity-field slots (capacity1 - capacity5: label, unit, enabled) used for load planning. GET /ext-get-capacity-fields.

無需輸入參數。

upper_create_route

Create route

WRITE: create a new, empty route (name, date, optimization preference, units, pickup sequencing, service time). Omitted settings fall back to the account's defaults. Returns the new route_id; add stops with upper_create_stop. Calling it twice creates two routes. POST /ext-create-route.

輸入參數unitsroute_dateroute_nameoptimize_forservice_timepickup_settings

upper_update_route

Update route

WRITE: change settings of an existing route (name, date, optimize_for, units, pickup_settings, service_time). Only the fields you pass change. POST /ext-update-route.

輸入參數unitsroute_id必填route_dateroute_nameoptimize_forservice_timepickup_settings

upper_create_stop

Create stop

WRITE: 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 flagged for re-optimization); omit it for an unscheduled stop. Calling it twice creates two stops. POST /ext-create-stop.

輸入參數citynoteemailphonestateaddress必填zipcodeend_timeroute_idnick_namepin_colorstop_type另有 10 個

upper_update_stop

Update stop

WRITE: 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/zipcode apply only without an address. Passing route_id moves the stop to that route. Editing a stop on an optimized route flags the route for re-optimization; stops on an active route cannot be edited. POST /ext-update-stop.

輸入參數citynoteemailphonestateaddressstop_id必填zipcodeend_timeroute_idnick_namepin_color另有 11 個

upper_assign_drivers

Assign drivers to a route

WRITE: 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 the route was already optimized it is reset to unoptimized (needs_optimization: true), so run upper_optimize_route again. POST /ext-assign-drivers.

輸入參數route_id必填driver_ids必填

upper_optimize_route

Optimize route

WRITE: 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 returns status pending and a queue_id, then poll upper_get_optimization_status. If a job is already running, that job is returned. POST /ext-optimize-route.

輸入參數route_id必填timezone

upper_share_route_to_drivers

Share route to drivers

WRITE: 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, every id must be an active driver on the team. Sending twice notifies twice. Confirm with the user before calling. POST /ext-share-to-driver.

輸入參數route_id必填timezonedriver_ids

版本歷史

11
  1. v1.11.3Nov 5, 2026
  2. v1.11.2Nov 5, 2026
  3. v1.11.1Nov 4, 2026
  4. v1.11.0Nov 3, 2026
  5. v1.10.1Nov 3, 2026
  6. v1.9.0Nov 1, 2026
  7. v1.7.0Oct 31, 2026
  8. v1.6.0Oct 31, 2026
  9. v1.5.2Oct 30, 2026
  10. v1.5.0Oct 30, 2026
  11. v1.0.0Oct 26, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Usefulapi 整合