NestDaddy

ReelQuoteAI Survey Tool

com.reelquoteai/survey-tool · v1.1.0

Filmed moving surveys, itemized inventories, firm quotes and bookings for moving companies.

Connect Remote server

Terminal
claude mcp add --transport http survey-tool https://widget.reelquoteai.com/mcp --header "Authorization: Bearer <YOUR_API_KEY>"
~/.cursor/mcp.json
{
  "mcpServers": {
    "survey-tool": {
      "url": "https://widget.reelquoteai.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "survey-tool": {
      "type": "http",
      "url": "https://widget.reelquoteai.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}
Claude Desktop
Settings > Connectors > Add custom connector
URL: https://widget.reelquoteai.com/mcp

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools 34 found in our last check

  • get_session

    Resolve the key to its mover (name, branding, config). Scope: quote.

  • list_home_profiles

    Home sizes for the ballpark step (2br_apt, 3br_house, …). Scope: quote.

  • ballpark_estimate

    Instant estimate range from home size + addresses. Free; never bookable. Scope: quote.

  • request_visit

    Ask the mover to visit (or call) instead of filming. Free, never billed, creates no job; the mover gets it by email, on the dashboard and as `visit.requested`. Scope: quote.

  • create_job

    Start a job (the survey container). Contact details are NOT accepted here — funnel rule. Send `Idempotency-Key` so a retry cannot create a second job. Scope: jobs:write.

  • list_jobs

    List jobs for the tenant, newest first. Secret key only. Paged: pass `limit` (1–100, default 25), optional `status`, and `cursor` from the previous page's `next_cursor` (null on the last page; a bad cursor is a 400). Scope: jobs:read.

  • get_job

    Full job state: status, inventory, quote, access, terms, move_date. Scope: jobs:read.

  • set_contact

    Store customer email + optional name + move date. Sends NOTHING — required before upload-url. Scope: jobs:write.

  • create_upload_url

    Presigned upload for the walkthrough video. Requires stored contact email. Body: { content_type, consent, size }. Send the byte size: at or above 16 MB the response carries `multipart` (an upload_id, a part_size and a presigned PUT per part) instead of `upload`, and each part is…

  • complete_upload

    Assemble a chunked upload. Body: { upload_id, parts: [{ part_number, etag }] }. Only after every part has been PUT; then call /submit. Scope: jobs:write.

  • submit_job

    Queue the uploaded video for analysis. Poll GET /jobs/{id} for status. Scope: jobs:write.

  • hand_off_video

    Server-side handoff: give us a public https URL of the walkthrough instead of uploading it from a browser. Secret key only. We fetch it (up to 500 MB, streamed) and the job runs exactly as an upload would — poll GET /jobs/{id}. Needs the stored contact email and consent, like /u…

  • confirm_access

    Confirm floors / elevator / stairs / carry distance for both ends. Scope: jobs:write.

  • edit_items

    Edit inventory (quantity, exclude, add by item_key). Response carries the re-priced quote. Scope: jobs:write.

  • approve_inventory

    Customer sign-off on the inventory, plus free-text notes. Scope: jobs:write.

  • send_inventory_to_mover

    On a job the mover prices: the customer sends their list to the mover. Stamps the confirmation and locks the list. Body: { confirmed: true, notes }. Safe to repeat. Scope: jobs:write.

  • acknowledge_gaps

    Record the customer's answer to the capture-gap prompts (inventory.gaps on GET /jobs/{id}). Body: { acknowledged: true } stamps "nothing is missing"; false clears it. The prompts themselves are recomputed from the current inventory on every read, so fixing a gap removes its prom…

  • send_resume_link

    Email the customer their resume link. Only on explicit request. Scope: jobs:write.

  • request_booking

    Request the booking. Idempotent per job; requires approve:true (types-name-as-signature approval of the inventory + quote, stored with a quote snapshot) and accept_terms when the mover has terms. Scope: jobs:write.

  • report_outcome

    Report actuals (hours, final cents, crew). Secret key only. Scope: outcomes.

  • get_cube_sheet_csv

    Itemized cube sheet as CSV (Excel-ready): rooms, volumes, weights, exclusions. Secret key only. Scope: jobs:read.

  • get_date_prices

    This job's quote priced across a ~2-week window from the mover's date rules. flat=true means every day prices the same. Scope: jobs:read.

  • set_move_date

    Set or clear the move date; invalidates and recomputes the quote. Refused after a booking is requested. Scope: jobs:write.

  • quote_inventory

    Direct pricing for agents: items or total_cuft in, firm quote out. Secret key only. Scope: quote.

  • get_availability

    Which days the mover has marked off, before a job exists. Soft: a marked day can still be requested — the mover confirms and calls first — so steer to an open day when the customer has a choice. Scope: quote.

  • list_keys

    List the account's API keys — live and test, active and revoked. Never a raw secret. Secret key with the `keys` scope. Scope: keys.

  • create_key

    Mint a key. The raw secret is in THIS response only. A key can never mint one broader than itself; a test key mints only test keys; a live secret key may mint the sandbox pair. Scope: keys.

  • rotate_key

    Replace a key with its twin (same kind, mode, scopes, label). The old key keeps working until `replaced.expires_at` so a deploy can swap values without a gap. Needs the `keys` scope even to rotate itself — rotate a scoped key with a full key or from the dashboard. A key is rotat…

  • revoke_key

    Revoke a key immediately. The only live publishable key is refused (409) — rotate it instead. A test key cannot revoke a live key (403 `mode_mismatch`). Scope: keys.

  • list_webhook_deliveries

    The delivery log: every webhook POST for 30 days, newest first, with its outcome and the exact body sent. Secret key with the `keys` scope. A key reads the deliveries of its own mode: live keys the live log, test keys the sandbox log. Scope: keys.

  • replay_webhook_delivery

    Re-send one delivery to its endpoint: the same body byte for byte (same envelope id, so your dedupe still works) under a fresh signature, with the usual retries. Returns the replay's own delivery record. Deliveries of the other mode are not found (404). Scope: keys.

  • search_catalog

    Search the cube-sheet catalog (?q=sofa). Scope: quote.

  • suggest_addresses

    Address autocomplete (proxied; send session_token). Scope: quote.

  • resolve_address

    Resolve a suggestion to a full address (same session_token). Scope: quote.

Headers

NameDescription
Authorization
Required, secret
Bearer <ReelQuoteAI API key>, issued to moving companies from their dashboard; a test key runs the sandbox.

Details

Endpointhttps://widget.reelquoteai.com/mcp (Streamable HTTP)
First published2 Sep 2026
Last updated2 Sep 2026
Registry namecom.reelquoteai/survey-tool

More data and analytics servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.