原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Smartroutes

作者:SmartRoutes-io版本 1.0.0i★ –i在云端运行
注册名称io.smartroutes/smartroutes

安装

概览

作者提供的说明(英文原文)

Route optimisation, orders, booking and fleet management for a SmartRoutes depot.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在云端运行
  • 传输方式: Streamable HTTP
  • 分类: 网店与支付

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

你需要

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

适用于网页版、桌面版和手机版 Claude:

  1. 打开 Settings → Connectors
  2. 点击 Add custom connector
  3. 粘贴下面的地址,然后点击 Add
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Add2https://…3
https://mcp.smartroutes.io/mcp

在终端中运行这条命令

claude mcp add --transport http smartroutes https://mcp.smartroutes.io/mcp

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "smartroutes": {
      "url": "https://mcp.smartroutes.io/mcp"
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "smartroutes": {
      "type": "http",
      "url": "https://mcp.smartroutes.io/mcp"
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

ChatGPT 只能连接互联网上的服务器:

  1. 打开网页版 ChatGPT → Settings → Connectors (Apps)
  2. 点击 Create 或 Add(部分套餐需要先在 Advanced 中开启 Developer mode)
  3. 粘贴下面的地址,起个名字,然后保存
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Create2https://…3
https://mcp.smartroutes.io/mcp

菜单名称可能因套餐和版本不同而略有差异。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过域名 smartroutes.io 验证(注册中心会核实域名所有权)

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    端点有响应

    尚未检查;我们会轮流检查各个端点

  • … 尚未检查

    使用 OAuth 登录

    尚未检查;我们会轮流检查各个端点

  • … 尚未检查

    工具描述中没有隐藏指令

    尚未检查;我们会在检查端点时读取工具列表

与“网店与支付”中的其他服务器比较i

  • 星标数多于此分类中其他 1745 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 1745 个服务器的 16% 更新
  • 基础检查结果等于或优于此分类中其他 1745 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Smartroutes 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.0.0)于4个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。

有什么可以替代它?

同一分类中有:Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Stripe MCP

作者:stripe

MCP server integrating with Stripe - tools for customers, products, payments, and more.

在云端运行★ 2,043MIT12个月前更新
安装

MCP Cn Commerce

作者:TonyWang-hub

8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending

在你的电脑上运行★ 96MIT27天前更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

SmartRoutes MCP Server

Expose your SmartRoutes route-optimisation and dispatch tools to AI assistants like Claude Desktop, Claude Code, Cursor, Windsurf, and any other Model Context Protocol client — working against your live data.

Overview

The MCP server connects an AI tool to your live SmartRoutes account. Ask your AI Assistant which orders are still unscheduled, review a route plan, or kick off an optimisation — all in chat, against your real data.

It exposes the same operations as the SmartRoutes REST API, shaped as clean tools an agent can call directly. Everything is scoped to a single account by your API key.

Available Tools

ToolTypeDescription
list_ordersReadOrders for the depot (filter by status, customer, order number, or last-updated time; paginated)
get_orderReadFull detail for a single order
add_orderWriteCreate a new order (pickup, delivery, or shipment)
check_booking_availabilityReadWhether a time window + address can be served
optimise_plan_for_dateWriteTrigger route optimisation for a date
get_optimisation_statusReadPoll an optimisation job until it finishes
get_planReadPlan-level totals and route summary, by plan id
get_routeReadPer-stop detail for a single route
list_vehiclesReadFleet vehicles with shifts, capacities, and skills
get_vehicleReadFull detail for a single vehicle
list_customersReadCustomers for the depot

Every tool is annotated so your AI client can tell reads from writes. The nine read tools are marked read-only; add_order and optimise_plan_for_date are marked as writes, and optimise_plan_for_date is additionally marked destructive because auto-dispatch publishes the plan to drivers and notifies customers. Clients that gate destructive calls will ask you to confirm before running it.

Read-only mode

Those annotations are hints your client chooses to honour. To make writes impossible, add one header:

x-access-scope: read-only

The server then exposes only the nine read tools. add_order and optimise_plan_for_date are absent from the tool list entirely and cannot be called, so there is nothing for an assistant to invoke by accident — useful while testing, or for people who should only ever look things up.

Omit the header for the full tool set. Any other value is rejected with a 400, rather than being ignored, so a typo can never quietly restore write access.

{

"mcpServers": { "smartroutes-readonly": { "type": "http", "url": "https://mcp.smartroutes.io/mcp", "headers": { "x-access-key": " ", "x-access-scope": "read-only" } } } }

Register both entries side by side and pick per conversation. Any client that lets you set request headers supports this.

Setup

1. Get your API key

The MCP server uses your existing SmartRoutes API key — the same one you already use for the REST API. There is no separate MCP credential, no sign-in flow, and no token that expires or needs refreshing.

To generate an API Key, login to your SmartRoutes account and go to Settings > Integrations > SmartRoutes Open API and click on the Generate API Key button.

Treat the key as a secret; it grants access to your account's data.

2. Choose how to send it

Two headers are accepted and they are interchangeable — the value is the same API key either way:

HeaderWhen to use it
Authorization: Bearer Works everywhere. Use this on hosted platforms whose only credential field is Authorization — Mistral Studio and most connector directories.
x-access-key: Equally valid and unchanged. Use it wherever you can name the header yourself: Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, your own scripts.

A few things worth knowing:

  • The scheme word is case-insensitive — Bearer, bearer and BEARER all work. The key itself is case-sensitive, so copy it exactly.
  • `Basic` and `Digest` are not supported. If the tool you're configuring only offers a username/password style credential, get in touch rather than base64-encoding the key yourself — it will be rejected.
  • Send one of the two. If both are present with different values the request is rejected rather than one being picked, because guessing could point the assistant at the wrong account. Sending both with the *same* value is fine.
3. Connect your AI tool

Ready-to-copy config files for every client live in examples/ — drop in your key and go.

Quick start (Claude Code)

This repo includes a pre-configured .mcp.json. Just replace :

{

"mcpServers": { "smartroutes": { "type": "http", "url": "https://mcp.smartroutes.io/mcp", "headers": { "x-access-key": " " } } } }

Claude Code auto-discovers this file when you open the project.

Claude Desktop

Add a Custom Connector for SmartRoutes by going to: Settings → Connectors → Add custom connector

Here you can add the following details:

  • Name: SmartRoutes (or whatever you like)
  • URL: https://mcp.smartroutes.io/mcp

Add your authentication header under Advanced settings / Request headers in that same dialog:

  • Key: x-access-key
  • Value: your actual API key

Alternatively, you can add the following to your Claude Desktop config (claude_desktop_config.json):

{

"mcpServers": { "smartroutes": { "url": "https://mcp.smartroutes.io/mcp", "headers": { "x-access-key": " " } } } }

Mistral Studio

Register SmartRoutes as a Connector:

  • URL: https://mcp.smartroutes.io/mcp
  • Header name: Authorization
  • Header value: Bearer

Mistral's Connectors Debugger lets you validate a server before registering it, and it asks for the credential as an Authorization header — which is exactly what the Bearer form above is for. The Debugger is in public preview, so field labels may move; the URL and the header value are what matter.

Cursor

In Cursor settings, add an MCP server:

  • Name: smartroutes
  • Type: Streamable HTTP
  • URL: https://mcp.smartroutes.io/mcp
  • Headers: x-access-key:
Windsurf

Add to your Windsurf MCP config (mcp_config.json):

{

"mcpServers": { "smartroutes": { "serverUrl": "https://mcp.smartroutes.io/mcp", "headers": { "x-access-key": " " } } } }

Any MCP Client (generic)

The server uses Streamable HTTP transport. Either header works:

POST https://mcp.smartroutes.io/mcp

Authorization: Bearer

POST https://mcp.smartroutes.io/mcp

x-access-key:

Any MCP client that speaks Streamable HTTP can connect. Legacy SSE clients are handled automatically.

4. Local development

Against a locally-running server the endpoint is (use whatever port your local app listens on):

http://localhost:3000/mcp-api

Note the path is /mcp-api locally — the shorter /mcp on mcp.smartroutes.io is a public alias for the same endpoint. Both headers work locally exactly as they do in production.

Example Conversations

Once connected, you can ask your assistant things like:

  • "What orders for tomorrow aren't on a route yet?"
  • "Show me available vehicles and their shifts."
  • "Can we fit a delivery to 12 Main St between 2–4pm on Friday?"
  • "Optimise tomorrow's routes for all open orders — draft only, don't dispatch yet."
  • "What's the status of that optimisation?"
  • "Show me the plan for 2026-07-01 and the stops on route 3."
  • "Add a 10 kg delivery for ACME at 5 King St."

API Key Management

Your MCP key is your SmartRoutes API key.

ActionDescription
UseThe same key as the REST API, sent as either Authorization: Bearer or x-access-key; scoped to one depot.
DisableDisabling a key in your SmartRoutes account immediately blocks both MCP and REST access.

Troubleshooting

401 UNAUTHORIZED

The server didn't get a usable key. The description in the response body tells you which case you hit:

DescriptionWhat to do
No API key provided…Neither header reached the server. On hosted platforms, check the header was actually saved onto the connector rather than just typed into the form.
Unsupported Authorization scheme…You sent Basic, Digest or something else. Only Bearer is accepted.
Authorization header has no credential after the schemeThe value is Bearer with nothing after it.
Authorization header must carry exactly one credentialTwo credentials ended up in one header value.
Conflicting credentials…Both headers were sent with different values. Remove one.
Invalid API Key providedThe key arrived but doesn't match an account. Re-copy it from Settings > Integrations — a truncated paste is the usual cause.
Attempting to use disabled API keyThe key was disabled in your SmartRoutes account. Generate a new one.
API Key not authorized for expired trial accountThe account's trial has ended.

Every 401 also carries a WWW-Authenticate: Bearer response header. That is just the standard way of saying "a Bearer token is expected here" — it does not mean the server uses OAuth. There is no sign-in flow, no authorisation server to discover, and no /.well-known/ metadata to fetch. The static API key is the whole mechanism. If your client tries to start an OAuth flow after seeing that header, configure it with a static header credential instead.

Error shape

Errors use the same envelope as the REST API, not a JSON-RPC error object — authentication is checked before the JSON-RPC layer is reached:

{

"name": "UNAUTHORIZED", "statusCode": 401, "description": "…", "details": {} }

Rate limits are the exception you're most likely to see mid-conversation: those come back as an MCP tool result with name: "FORBIDDEN" and details.retry_after_seconds, so the assistant can back off and retry rather than dropping the connection.

Security

  • Authentication: your API key, sent as either Authorization: Bearer or the x-access-key header. Basic, Digest and other schemes are rejected.
  • Depot isolation: every key is scoped to a single depot, and all data is filtered by depot.
  • Rate limiting: each tool has its own per-key rate limit (shared with the REST API's limits).
  • Write confirmation: write tools (add_order, optimise_plan_for_date) instruct the assistant to explain and confirm before running — especially auto-dispatch.
  • Shared connectors: a connector registered at workspace or organisation visibility shares one API key across everyone who can see it, and our audit log records the key rather than the individual user. Register it personally if you need per-person attribution.

##

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx