mcpserver.lol
registry/survey-tool
Connection check verified live · 28h ago

survey-tool

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

Tools 32
GitHub stars
Installs / wk
Licence
Transport streamable-http
Last checked 28h ago

Tools & capabilities

32 tools

Read from the running server on 28h ago.

acknowledge_gaps job_id*acknowledged
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 t…
approve_inventory notesjob_id*approved
Customer sign-off on the inventory, plus free-text notes. Scope: jobs:write.
ballpark_estimate origindwelling*move_datedestinationdistance_miles
Instant estimate range from home size + addresses. Free; never bookable. Scope: quote.
complete_upload parts*job_id*upload_id*
Assemble a chunked upload. Body: { upload_id, parts: [{ part_number, etag }] }. Only after every part has been PUT; then call /submit. Scope: jobs:write.
confirm_access job_id*originmove_datedestination
Confirm floors / elevator / stairs / carry distance for both ends. Scope: jobs:write.
create_job origindwellingmove_datequote_kinddestinationidempotency_key
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.
create_key kindmodelabelscopes
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. Sco…
create_upload_url sizejob_id*consent*content_type*
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 `multip…
edit_items items*job_id*
Edit inventory (quantity, exclude, add by item_key). Response carries the re-priced quote. Scope: jobs:write.
get_availability read-only daysfrom
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…
get_cube_sheet_csv read-only job_id*
Itemized cube sheet as CSV (Excel-ready): rooms, volumes, weights, exclusions. Secret key only. Scope: jobs:read.
get_date_prices read-only job_id*
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.
get_job read-only job_id*
Full job state: status, inventory, quote, access, terms, move_date. Scope: jobs:read.
get_session read-only
Resolve the key to its mover (name, branding, config). Scope: quote.
hand_off_video url*job_id*consent*content_type
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 ex…
list_home_profiles read-only
Home sizes for the ballpark step (2br_apt, 3br_house, …). Scope: quote.
list_jobs read-only limitcursorstatus
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 th…
list_keys read-only
List the account's API keys — live and test, active and revoked. Never a raw secret. Secret key with the `keys` scope. Scope: keys.
list_webhook_deliveries read-only limitbeforejob_idwebhook_id
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 mo…
quote_inventory itemsoriginmove_datetotal_cuftdestinationrate_card_id +2
Direct pricing for agents: items or total_cuft in, firm quote out. Secret key only. Scope: quote.
replay_webhook_delivery id*
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…
report_outcome notesjob_id*actual_crewactual_hoursactual_total_cents
Report actuals (hours, final cents, crew). Secret key only. Scope: outcomes.
request_booking name*email*phonejob_id*approve*accept_terms
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 m…
resolve_address place_idsession_token
Resolve a suggestion to a full address (same session_token). Scope: quote.
revoke_key id*
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.
rotate_key idgrace_hours
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` scop…
search_catalog read-only q*
Search the cube-sheet catalog (?q=sofa). Scope: quote.
send_resume_link nameemail*job_id*consent*
Email the customer their resume link. Only on explicit request. Scope: jobs:write.
set_contact nameemail*job_id*consent*move_date
Store customer email + optional name + move date. Sends NOTHING — required before upload-url. Scope: jobs:write.
set_move_date datejob_id*
Set or clear the move date; invalidates and recomputes the quote. Refused after a booking is requested. Scope: jobs:write.
submit_job job_id*
Queue the uploaded video for analysis. Poll GET /jobs/{id} for status. Scope: jobs:write.
suggest_addresses inputsession_token
Address autocomplete (proxied; send session_token). Scope: quote.