_ registry / mcp streamable-http · checked 56m ago

spoke-delivery-planner

https://deliveryplanner.com

Registry code: 819d89b9c239cb71

api record

Plan one driving route with Spoke. Search every address with search_places, including the city and country when known, and ask for missing location context. Always call select_addresses after searching, even for a single clear match. Pass every original address with the candidates search_places returned, all in one panel, with a stable unique id per input row; never invent candidates. Explain material location differences in notice. Do not ask in text for the start, finish, time at stop or distance unit; the panel collects them. Wait for the user to review addresses and settings and click…

endpoint
https://deliveryplanner.com/api/free-route-planner/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is spoke-delivery-planner live?
Yes — it answered the hub's last check (checked 56m ago). It answered 100% of checks over the last 30 days.
Is spoke-delivery-planner free to use?
Yes — the hub reached it with no key and no payment.
What tools does spoke-delivery-planner have?
6 tools: search_places, create_route, confirm_route, select_addresses, show_dispatch_options, resolve_current_location.
Is spoke-delivery-planner safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
311ms

last good check

priced tools
0

of 6 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

inferred, not observed

Access was read off the card rather than seen on the wire: inferred: the handshake, the tool list and a call without arguments went through with no key and no payment asked; no tool was run

_ what it can do 6 tools
6 never probed 0 of 6 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • search_places unknown 56m ago

    Finds Google address suggestions, with place IDs, for one address or place name. Use this when a user wants to plan deliveries, order driving stops, or optimize a multi-stop driving route and provides addresses or place names, including pasted spreadsheets, tables, CSV, or numbered lists. Suggestions come from autocomplete and are not validated addresses. Not for general place recommendations, package tracking, or public-transit directions.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "query"
      ],
      "properties": {
        "query": {
          "type": "string",
          "maxLength": 300,
          "minLength": 3
        },
        "locationBias": {
          "type": "object",
          "required": [
            "latitude",
            "longitude"
          ],
          "properties": {
            "radius": {
              "type": "number",
              "maximum": 50000,
              "exclusiveMinimum": 0
            },
            "latitude": {
              "type": "number",
              "maximum": 90,
              "minimum": -90
            },
            "longitude": {
              "type": "number",
              "maximum": 180,
              "minimum": -180
            }
          },
          "description": "Optional search-area coordinates from the user or a verified location source. Biases suggestions toward this area without restricting them to it. Radius is in metres and defaults to 5000.",
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
    arguments 41 lines
  • create_route unknown never probed

    Optimizes and saves one driving route for one driver with 1–20 delivery stops, from the addresses and settings the user confirmed in the address panel. Use this when a user asks what order to visit delivery addresses, wants an efficient driving route between multiple stops, or wants a route they can open and share. Takes the single-use token the panel issues when the user clicks Optimize route. Returns the stops in optimized order, estimated duration and distance, the route geometry, and route links. Every call creates a new route, and anyone with the returned link can view its addresses. Does not enforce delivery time windows, and not for package tracking, public transit, multiple drivers, or live-traffic estimates.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "confirmationToken": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
          "description": "Single-use token returned when the user clicks Optimize in the address panel."
        }
      }
    }
    arguments 12 lines
  • confirm_route unknown never probed

    Records the addresses and settings submitted by the Optimize button.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "startPlaceId",
        "stopPlaceIds"
      ],
      "properties": {
        "startTime": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Departure date/time with UTC offset; null when unspecified. Does not change traffic estimates."
        },
        "endPlaceId": {
          "type": "string",
          "maxLength": 512,
          "minLength": 1,
          "description": "Omit to return to the start location."
        },
        "distanceUnit": {
          "enum": [
            "miles",
            "km"
          ],
          "type": "string",
          "default": "km"
        },
        "startPlaceId": {
          "type": "string",
          "maxLength": 512,
          "minLength": 1,
          "description": "Start location returned by search_places."
        },
        "stopPlaceIds": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 512,
            "minLength": 1
          },
          "maxItems": 20,
          "minItems": 1,
          "description": "Unordered delivery locations returned by search_places. Array position does not constrain visit order; the optimizer reorders these stops."
        },
        "ignoredFields": {
          "type": "array",
          "items": {
            "enum": [
              "time_windows",
              "driver_assignments",
              "vehicle_constraints",
              "fixed_order",
              "other"
            ],
            "type": "string"
          },
          "default": [],
          "maxItems": 5,
          "description": "Unsupported input fields excluded from optimization, listed in the result."
        },
        "timeAtStopMinutes": {
          "type": "integer",
          "default": 2,
          "maximum": 1440,
          "minimum": 0
        }
      },
      "additionalProperties": false
    }
    arguments 78 lines
  • select_addresses unknown never probed

    Shows a panel where the user picks a match for each address and sets the start, finish, time at each stop and distance unit. Takes each original address with its suggested matches; addresses without suggestions let the user search again in the panel. Missing start and finish appear as empty fields, and fields in routeSettings.ignoredFields are listed as not applied. Read-only: when the user clicks Optimize, the panel issues a single-use confirmation token for route creation.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "addresses"
      ],
      "properties": {
        "addresses": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "role",
              "originalAddress",
              "candidates"
            ],
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              "role": {
                "enum": [
                  "start",
                  "stop",
                  "finish"
                ],
                "type": "string"
              },
              "notice": {
                "type": "string",
                "maxLength": 500,
                "description": "Town, country, street, or postcode differences between the candidates and the original address."
              },
              "candidates": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "placeId",
                    "address"
                  ],
                  "properties": {
                    "type": {
                      "enum": [
                        "precise_location",
                        "lodging",
                        "restaurant_cafe",
                        "store",
                        "airport",
                        "train_station",
                        "school",
                        "locality_political"
                      ],
                      "type": "string"
                    },
                    "address": {
                      "type": "string",
                      "maxLength": 1000,
                      "minLength": 1
                    },
                    "placeId": {
                      "type": "string",
                      "maxLength": 512,
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 5
              },
              "originalAddress": {
                "type": "string",
                "maxLength": 300,
                "minLength": 1
              }
            },
            "additionalProperties": false
          },
          "maxItems": 22
        },
        "routeSettings": {
          "type": "object",
          "default": {},
          "properties": {
            "roundTrip": {
              "type": "boolean",
              "default": true,
              "description": "Whether the route ends back at the start. The user can choose an end location in the form instead."
            },
            "distanceUnit": {
              "enum": [
                "km",
                "miles"
              ],
              "type": "string",
              "default": "km"
            },
            "ignoredFields": {
              "type": "array",
              "items": {
                "enum": [
                  "time_windows",
                  "driver_assignments",
                  "vehicle_constraints",
                  "fixed_order",
                  "other"
                ],
                "type": "string"
              },
              "default": [],
              "maxItems": 5
            },
            "timeAtStopMinutes": {
              "type": "integer",
              "default": 2,
              "maximum": 1440,
              "minimum": 0
            }
          },
          "description": "Initial route settings. The form collects start, end (or a return to the start), time at stop and distance unit, and adds empty start and finish fields when they are missing.",
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
    arguments 128 lines
  • show_dispatch_options unknown never probed

    Shows a link to Spoke Dispatch, our route planner for teams, for needs this free planner does not cover: multiple drivers, enforced delivery time windows, or more than 20 delivery stops. Use this only when the user explicitly asks for one of those. It only displays the link; it does not transfer addresses or create a Dispatch account.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "reason"
      ],
      "properties": {
        "reason": {
          "enum": [
            "multiple_drivers",
            "time_windows",
            "stop_limit"
          ],
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 18 lines
  • resolve_current_location unknown 56m ago

    Returns the nearest address for coordinates from the Use current location button in the panel, to fill the start.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "latitude",
        "longitude"
      ],
      "properties": {
        "latitude": {
          "type": "number",
          "maximum": 90,
          "minimum": -90
        },
        "longitude": {
          "type": "number",
          "maximum": 180,
          "minimum": -180
        }
      },
      "additionalProperties": false
    }
    arguments 21 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 819d89b9c239cb71.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/819d89b9c239cb71/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/819d89b9c239cb71/badge.svg)](https://brick.blue/agent/819d89b9c239cb71?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.