DEV Community

Cover image for An MCP server for planning a move: cost ranges, mover reviews, and USDOT checks
Haulest
Haulest

Posted on Originally published at haulest.com

An MCP server for planning a move: cost ranges, mover reviews, and USDOT checks

Moving house is mostly research. You want a rough idea of cost, a shortlist of companies, some confidence that the one you like is properly licensed, and a checklist so nothing gets missed. People do this across a dozen tabs. We wanted an assistant to be able to do it in one conversation, so we put Haulest behind a Model Context Protocol server.

Haulest is a consumer research and quote site for home moves in the United States, Canada, and the United Kingdom. The MCP server exposes the same data to any MCP client: Claude, ChatGPT, Cursor, VS Code, Windsurf, and others. There is one URL, no account, and no API key.

Connect in a minute

The endpoint is https://haulest.com/mcp (Streamable HTTP).

Claude Code:

claude mcp add --transport http haulest https://haulest.com/mcp
Enter fullscreen mode Exit fullscreen mode

Claude on web, desktop, or mobile: Settings, Connectors, Add custom connector, then paste the endpoint.

Clients that read an mcp.json:

{
  "mcpServers": {
    "haulest": { "type": "http", "url": "https://haulest.com/mcp" }
  }
}
Enter fullscreen mode Exit fullscreen mode

Clients that only speak stdio can use the mcp-remote bridge:

npx -y mcp-remote https://haulest.com/mcp
Enter fullscreen mode Exit fullscreen mode

What the tools do

Tool What it returns
estimate_moving_cost A research planning range, low and high with currency, by home size and distance (US, CA, UK)
get_route_facts Facts for a city-to-city lane: driving miles and hours, cost ranges by home size, migration flows
find_movers Moving companies near a city, state, province, or country with dated, attributed reviews
get_mover_profile One company in detail: rating, newest dated reviews, licence identifiers, phone
check_mover_licence A live licence lookup: FMCSA by USDOT, MC, or name in the US; Companies House in the UK; provincial guidance for Canada
search_moving_guides Haulest guides on estimates, deposits, damage claims, timing, and consumer rights
get_moving_checklist A full checklist: 8-week countdown, moving day, first night, change of address
request_moving_quotes Sends a quote request so licensed movers can call and email the person with written estimates

Seven of the eight tools are read-only. request_moving_quotes is the only one that writes anything, and the assistant asks for the person's consent before calling it. The server also exposes a plan_my_move prompt and two resources: haulest://data/moving-costs-2026.json and haulest://about.

Five prompts to try

  1. What would it cost to move a 2-bedroom from Austin to Denver, and which movers in Austin have good recent reviews?
  2. Check USDOT 2250254 before I pay a deposit.
  3. Give me the 8-week moving checklist and the guide on binding versus non-binding estimates.
  4. Are there reviewed removal companies in Manchester, and how do I check one at Companies House?
  5. I have a quote from a low-rated mover. What should I ask them, and can you get me two more written quotes?

Why the licence check matters

The most useful thing an assistant can do before someone pays a deposit is confirm the company is who it says it is. In the US, interstate household goods movers need operating authority from the FMCSA, and the census record shows authority status and insurance on file. check_mover_licence looks that up live by USDOT number, MC number, or legal name, and returns the record URL so the person can confirm it themselves.

In the UK there is no equivalent mover licence, so the tool searches Companies House by name or company number. In Canada the rules are provincial, so the tool explains which checks apply instead of returning a single register result.

Being clear about the data

A few choices are easier to state up front:

  • Cost figures are planning ranges. They are compiled from published industry tables and public quotes. They are not bids, and the tool descriptions say so, so the model passes that along.
  • Ratings are the mean of dated reviews on record. Each review carries its date and attribution. Haulest does not rank companies by payment.
  • Haulest does not move anything itself. It is a research and quote site run by Panaweb LLC. The quote request goes to licensed movers, who then contact the person directly.

Design notes for MCP builders

  • Stateless Streamable HTTP. initialize returns no session ID, so any request can land on any instance.
  • Tool descriptions do the routing. Each one says what it returns and when to use it, for example "use it before anyone pays a deposit". That gives the model enough to chain find_movers, then get_mover_profile, then check_mover_licence without a system prompt.
  • One write, behind consent. Keeping the quote request separate makes it easy for clients to require confirmation on that call alone.
  • Hints. The read tools set readOnlyHint: true. None of the eight is destructive.

Links

If you try it and a tool picks the wrong answer, or a description confuses your client, open an issue on the repo. Feedback on the schemas is the most helpful thing right now.

Top comments (0)