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 集成