Skip to main content

Tool reference

Hum Broadband MCP version 2.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 closed review 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 uses status: "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.