Tool reference
Hum Broadband MCP version2.0.1 returns schema-version 4 objects with snake_case field names.
All tool inputs are closed: unknown fields and unsupported field combinations are rejected.
Download the released contract export for the complete
tools/list descriptions, JSON Schemas, runtime input-shape rules, and release provenance. The
scenario fixtures contain the synthetic examples used by these
pages.
This reference is frozen to letshum/hum-mcp commit
96eaeeaa6714010338822bf06b1d0f35b8a332f8.
JSON Schema describes each field, while the runtime shape rules below describe which fields may be
sent together. A field being optional in a generated schema does not make every combination valid.
check_availability
Resolves an address and combines FCC area evidence with live provider qualification. It is
read-only and idempotent for the same continuation.
Accepted input shapes
Availability result
Each source has
status, checked_at, data_as_of, and an optional structured error. Source
status is checking, needs_information, complete, failed, or timed_out.
Each question has a question_id, prompt, type, optional choices, required, and
sensitivity. Question types are string, boolean, single_choice, and date.
Provider, plan, and offer fields
Hum serializes these public commercial facts through a closed allowlist. Internal provider data,
private rate identifiers, upstream transaction identifiers, and customer or contact values are not
included in plan or offer objects, validation reviews or change comparisons, or order receipts.
Money and fee amounts are integer cents with a three-letter currency code. Do not infer a regular
price, promotion length, installation fee, equipment fee, contract, speed, or data limit when its
field is null.
See Availability and offers for presentation rules.
validate_order
Creates or resumes a draft for one executable offer, collects the fields required by that offer,
refreshes its facts, and returns an exact review. It is non-destructive and idempotent for the same
draft state. It creates no order and sends no fulfillment request.
Accepted input shapes
details.customer can contain first name, last name, email, phone number, a four-digit service PIN,
date of birth, billing preferences, and a mailing address. details.installation can contain an
installation type, desired service start date, and first and second preferred date/time windows.
details.consents maps returned consent keys to booleans.
When Hum requests a mailing-address choice, send
details.customer.mailing_address.same_as_service. If it is false, also send line1, city,
state, and postal_code together; line2 remains optional.
The selected provider determines which fields are required. Do not assume that a PIN, birth date,
installation choice, preference, mailing address, or consent is universal. Hum never requests card
data, Social Security numbers, existing-account passwords, or payment authorization through this
tool.
Validation result
Review shapes
A ready validation returns a closedreview object:
An
offer_changed validation returns previous_offer, current_offer, and a non-empty
changed_fields list instead. Present that comparison and obtain a fresh decision before
continuing.
Reviews do not contain the customer’s name, contact details, mailing address, service PIN, or date
of birth. Present the review returned by the current revision; do not reconstruct it from earlier
availability data.
create_order
Commits a ready validation after the host has presented the exact review and obtained the user’s
authorization. This tool has a side effect and is marked destructive. Its idempotency key makes an
identical replay refer to the same intended submission; it is not permission to retry an uncertain
network outcome blindly.
Accepted input shape
The checkout, validation token, terms hash, and idempotency key must agree. A new key does not make
a second order safe. After a timeout, disconnect, or lost response, call
get_order first.
get_order
Reads the latest persisted order and fulfillment evidence. It is read-only and idempotent.
Accepted input shape
get_order uses the opaque checkout ID, not the displayable order number.
Order result
create_order and get_order return the same order-envelope type.
See fulfillment states before displaying a status.
Errors
Hum can reject a malformed MCP request before a tool runs. An MCP invalid-parameters error means the arguments did not match a closed schema or one of the accepted runtime shapes. It has no tool result and no side effect. A tool-result error usesstatus: "error" and this structure:
retryable: true does not override create-order recovery. If a create response is uncertain, call
get_order first and follow its persisted status and next_action.
Expiry and processing limits
These limits do not reserve provider inventory or guarantee that an offer, price, or serviceability
result will remain unchanged. Revalidate after an expiry and follow the returned next action.
