Hum Internet Availability
Server Details
Check internet providers, plans, speeds, and known pricing at a specific U.S. street address.
- Status
- Healthy
- Uptime
- 100.0% over 60 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool targets a distinct stage of the availability-to-order lifecycle: check_availability starts a lookup, validate_order builds/refreshes a review, create_order commits, and get_order retrieves fulfillment evidence. The main risk is validate_order, whose name suggests validating an existing order rather than producing a pre-order review, but the description clarifies its precondition and outputs. check_availability and validate_order also share a start-with-lookup pattern, though their required inputs distinguish them.
All four tools use a consistent snake_case verb_noun pattern: check_availability, create_order, get_order, validate_order. The object varies appropriately between availability and order resources, and no naming style is mixed.
Four tools precisely cover the core workflow: check availability, validate/build a review, create the order, and retrieve the recorded order. Each tool has a clear role and no redundant operations are exposed.
The surface covers the primary path from availability lookup through order creation and retrieval, with pre-order editing handled by validate_order. However, post-order lifecycle operations such as cancellation, modification after creation, or listing existing orders are absent, leaving some dead ends after create_order.
Available Tools
4 toolscheck_availabilityCheck broadband availabilityARead-onlyIdempotentInspect
Start with {address}; continue only with a returned candidate_id and requested unit, {lookup_id} to poll, or the current question_set_id and answers. FCC findings are area-level evidence. Select only returned executable offer_id values.
| Name | Required | Description | Default |
|---|---|---|---|
| unit | No | ||
| address | No | ||
| answers | No | ||
| lookup_id | No | ||
| candidate_id | No | ||
| question_set_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| status | Yes | |
| message | No | |
| sources | No | |
| revision | No | |
| warnings | No | |
| lookup_id | No | |
| providers | No | |
| questions | No | |
| candidates | No | |
| expires_at | No | |
| next_action | No | |
| required_field | No | |
| schema_version | Yes | |
| question_set_id | No | |
| clarification_type | No | |
| normalized_address | No | |
| retry_after_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, open-world, idempotent, and non-destructive behavior. The description adds meaningful context beyond annotations: FCC findings are area-level evidence (not exact), and only returned executable offer_id values should be selected, plus it implies polling via lookup_id. It does not cover error modes or rate limits, but the added caveats are valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste, front-loaded with the starting action. Every clause provides essential workflow or selection guidance without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema covers return values and annotations cover safety, the description supplies the operational sequence and key caveats (area-level evidence, executable offer_id). It lacks explicit definitions for some IDs and does not explain how results integrate with sibling order tools, but it is largely complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions all six parameters and explains their roles in the workflow (address to start, candidate_id+unit to continue, lookup_id to poll, question_set_id+answers for current questions). It leaves some ambiguity about what each ID represents and the format of answers, but it provides substantial usage meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'Check broadband availability' clearly states the purpose, and the description adds specifics about FCC findings and executable offers. However, the description itself does not restate the purpose in a standalone sentence; it assumes the title and jumps directly into workflow instructions. It distinguishes from order-management siblings by focusing on availability and offer selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Start with {address}; continue only with...' and details the conditional paths for candidate_id/unit, lookup_id polling, and question_set_id/answers. This gives clear invocation context, though it does not name alternatives or explicitly say when not to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_orderCreate internet orderADestructiveIdempotentInspect
Only after presenting the current review and obtaining authorization for its terms_hash, commit with its validation_token and one stable idempotency_key. After a lost or uncertain response, call get_order first; do not blindly resubmit.
| Name | Required | Description | Default |
|---|---|---|---|
| checkout_id | Yes | ||
| confirmation | Yes | ||
| idempotency_key | Yes | ||
| validation_token | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| status | Yes | |
| evidence | No | |
| order_id | No | |
| next_action | No | |
| submitted_at | No | |
| provider_name | No | |
| schema_version | Yes | |
| last_checked_at | No | |
| selected_offer_summary | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnly=false, destructive=true, idempotent=true, openWorld=true), so the description is not burdened with that. It adds genuinely non-structured behavior: the authorization gate tied to terms_hash, the requirement to reuse one stable idempotency_key, and the recovery procedure after an uncertain response. It does not disclose failure modes or what the commit actually produces beyond the confirmation gate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with no filler, front-loading the precondition before the recovery instruction. It is efficient, though the heavy use of definite references ('the current review', 'its terms_hash') trades some readability for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover the safety profile, so return values and destructive behavior need no restating. However, the description references a 'review', terms_hash, and validation_token without indicating which sibling (validate_order) produces them, leaving an agent to guess the prerequisite chain despite the strong recovery guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry meaning, and it does: it binds terms_hash to the authorization step, ties validation_token to that review, and specifies 'one stable idempotency_key' (i.e., reuse across retries) — semantics the schema cannot express. It never mentions checkout_id or clarifies the confirmation object, so the compensation is partial rather than complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description frames the tool as a conditional 'commit' gated on a prior review and authorization, which implies a write/finalization action, but it never plainly states that it creates an order or what artifact results. An agent can infer the mutation from the name/title and the verb 'commit', yet the description itself leaves the purpose implicit rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states an explicit precondition ('Only after presenting the current review and obtaining authorization for its terms_hash') and an explicit alternative for the failure path ('After a lost or uncertain response, call get_order first; do not blindly resubmit'). Both when-to-use and when-not-to-resubmit are named concretely, which is unusually strong routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_orderGet internet orderARead-onlyIdempotentInspect
Retrieve recorded fulfillment evidence with checkout_id, especially after a lost or uncertain create_order response. Public statuses do not prove ISP acceptance or installation confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| checkout_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| status | Yes | |
| evidence | No | |
| order_id | No | |
| next_action | No | |
| submitted_at | No | |
| provider_name | No | |
| schema_version | Yes | |
| last_checked_at | No | |
| selected_offer_summary | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/non-destructive/openWorld, so the bar is lower; the description still adds real value by warning that public statuses do not prove ISP acceptance or installation confirmation, i.e. interpreting what the returned evidence can and cannot be trusted for. It does not add auth, rate-limit, or pagination context, but the safety profile and output schema make that less critical.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the purpose and the trigger condition front-loaded and the caveat second. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering safety and an output schema covering return shape, the description only needs to supply purpose, usage, and interpretation — and it does all three. The remaining gap is not distinguishing itself from the other read-oriented siblings (validate_order, check_availability).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should carry parameter meaning; it names checkout_id and implicitly locates its provenance in a prior create_order call, which is useful. However it adds no format, constraint, or sourcing detail beyond the self-explanatory name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb (Retrieve) and resource (recorded fulfillment evidence for an order), and ties it to a sibling by referencing create_order as the trigger. It does not explicitly distinguish itself from validate_order or check_availability, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear usage trigger — use it 'especially after a lost or uncertain create_order response' — which is exactly the ambiguous case an agent needs steering on. It offers no explicit when-not-to-use or named alternative for the validate/check paths, so no 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_orderValidate internet orderAIdempotentInspect
Start: {"lookup_id":"","offer_id":""}. Poll: {"checkout_id":""}. Edit: {"checkout_id":"","expected_revision":,"details":{}}. Use exactly one shape. Customer, installation, consents and internet_addons belong inside details, never at the root. While checking, wait retry_after_seconds and poll without details. Edits restart validation. On stale expected_revision, retrieve with checkout_id only before editing at the current revision. required_fields defines the contract; field_errors identifies actual missing/invalid fields relative to details. Refreshes the offer and returns an exact review without submitting an order. When preferred installation dates are required, provide both first and second choices using a time_window value allowed by the input schema. Installation type must be self or professional. Record the customer's explicit true or false choices for auto-pay and paperless billing; never enable them silently. Match the customer's equipment preference using returned equipment_options and catalog facts. Customer-owned equipment, included provider equipment and optional paid equipment are different choices. A free provider gateway does not satisfy an own-equipment request. Price or included status alone does not establish ownership. If an offer lacks the requested option, inspect another qualified offer or explain the limitation and ask the customer to choose; never fabricate an option. Send the complete selection in details.internet_addons using returned option_id and quantity values. Omit it to preserve current/default selections; [] declines optional items. Select at most one radio option and retain dependent parents. Ready means technically valid, not necessarily correct for the customer. Compare the entire review with the customer's budget, speed, equipment, billing and installation choices. Resolve mismatches before requesting authorization. Present every returned charge, discount, condition and unknown; do not invent a price adjustment for declined auto-pay or paperless billing. Never repeat the service PIN or full date of birth, even if supplied earlier. Keep capability IDs, terms_hash and validation_token out of customer-facing prose. Obtain explicit authorization for this exact current review before create_order; shopping intent or validation alone is not authorization.
| Name | Required | Description | Default |
|---|---|---|---|
| details | No | ||
| offer_id | No | ||
| lookup_id | No | ||
| checkout_id | No | ||
| expected_revision | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| review | No | |
| status | Yes | |
| revision | No | |
| expires_at | No | |
| terms_hash | No | |
| checkout_id | No | |
| next_action | No | |
| field_errors | No | |
| schema_version | Yes | |
| required_fields | No | |
| validation_token | No | |
| equipment_options | No | |
| retry_after_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses retry/polling behavior, the revision-conflict flow ("On stale expected_revision, retrieve with checkout_id only"), that edits restart validation, that "Ready means technically valid, not necessarily correct," and that it never submits an order. These are real operational traits (latency, versioning, side effects) that the annotations alone would not convey, and they are consistent with readOnlyHint=false/destructiveHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is dense and mostly load-bearing, but it is presented as an undifferentiated wall of prose with no paragraphing, lists, or headers, and the core purpose statement does not appear until mid-text. The bulk customer-equipment and disclosure policy could arguably live outside the tool definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-mode, stateful tool with an output schema present (so return values need not be described), the description covers the call contract (required_fields vs field_errors), mode selection, revision handling, and the authorization gate before create_order. Nothing essential to invoking it correctly appears to be missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Top-level schema descriptions are 0% covered, so the description carries the full burden and does so: it maps lookup_id/offer_id to Start, checkout_id to Poll, and checkout_id/expected_revision/details to Edit, and clarifies that customer, installation, consents and internet_addons must nest inside details and never at the root. It also defines how expected_revision is used and reconciled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation: "Refreshes the offer and returns an exact review without submitting an order," and later contrasts with create_order ("before create_order"), so an agent can distinguish it from the sibling that actually submits. However, this purpose sentence is buried after several sentences of payload JSON, and the tool's relationship to check_availability and get_order is never stated, so the purpose is clear in substance but poorly front-loaded and only partially differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly enumerates the three invocation shapes (Start/Poll/Edit), tells the agent to "use exactly one shape," explains polling ("wait retry_after_seconds and poll without details"), edit restart semantics, stale-revision recovery, and that authorization must precede create_order. This is concrete when-to-use, when-to-do-what, and an explicit alternative for submitting the order.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- Changed
check_availability1 field changed- changed
Output schema / $defs / ErrorDetail / properties / retry_after_seconds / anyOfPrevious value: -[ - { - "maximum": 300, - "minimum": 1, - "type": "integer" - }, - { - "type": "null" - } -]New value: +[ + { + "maximum": 86400, + "minimum": 1, + "type": "integer" + }, + { + "type": "null" + } +]
- Changed
create_order1 field changed- changed
Output schema / $defs / ErrorDetail / properties / retry_after_seconds / anyOfPrevious value: -[ - { - "maximum": 300, - "minimum": 1, - "type": "integer" - }, - { - "type": "null" - } -]New value: +[ + { + "maximum": 86400, + "minimum": 1, + "type": "integer" + }, + { + "type": "null" + } +]
- Changed
get_order1 field changed- changed
Output schema / $defs / ErrorDetail / properties / retry_after_seconds / anyOfPrevious value: -[ - { - "maximum": 300, - "minimum": 1, - "type": "integer" - }, - { - "type": "null" - } -]New value: +[ + { + "maximum": 86400, + "minimum": 1, + "type": "integer" + }, + { + "type": "null" + } +]
- Changed
validate_order1 field changed- changed
Output schema / $defs / ErrorDetail / properties / retry_after_seconds / anyOfPrevious value: -[ - { - "maximum": 300, - "minimum": 1, - "type": "integer" - }, - { - "type": "null" - } -]New value: +[ + { + "maximum": 86400, + "minimum": 1, + "type": "integer" + }, + { + "type": "null" + } +]
1 tool update
- Changed
validate_order3 fields changed- added
Input schema / $defs / OrderDetails / descriptionAdded value: +"Edit payload nested inside validate_order.details, never root tool arguments." - added
Input schema / $defs / OrderDetails / properties / consents / descriptionAdded value: +"Customer consent choices at details.consents, using returned consent names." - changed
Input schema / $defs / OrderDetails / properties / internet_addons / descriptionPrevious value: -"Complete equipment selection using returned option IDs. Omit to keep the current selection or defaults; send [] to decline optional equipment."New value: +"Complete equipment selection at details.internet_addons using returned option IDs and quantities; retain dependent parents. Omit to keep current selections/defaults; send [] to decline optional equipment. A free provider gateway is not owned equipment."
1 tool update
- Changed
validate_order8 fields changed- added
Input schema / $defs / EquipmentSelectionAdded value: +{ + "additionalProperties": false, + "properties": { + "option_id": { + "maxLength": 256, + "minLength": 1, + "title": "Option Id", + "type": "string" + }, + "quantity": { + "minimum": 1, + "title": "Quantity", + "type": "integer" + } + }, + "required": [ + "option_id", + "quantity" + ], + "title": "EquipmentSelection", + "type": "object" +} - added
Input schema / $defs / OrderDetails / properties / internet_addonsAdded value: +{ + "anyOf": [ + { + "items": { + "$ref": "#/$defs/EquipmentSelection" + }, + "maxItems": 100, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Complete equipment selection using returned option IDs. Omit to keep the current selection or defaults; send [] to decline optional equipment.", + "title": "Internet Addons" +} - added
Output schema / $defs / CartReviewAdded value: +{ + "additionalProperties": false, + "properties": { + "bundle_discount": { + "anyOf": [ + { + "$ref": "#/$defs/OrderAmount" + }, + { + "type": "null" + } + ], + "default": null + }, + "included_products": { + "$ref": "#/$defs/IncludedProducts" + }, + "one_time_fees": { + "items": { + "$ref": "#/$defs/OneTimeFee" + }, + "maxItems": 100, + "title": "One Time Fees", + "type": "array" + }, + "selected_plan": { + "$ref": "#/$defs/IncludedProduct" + }, + "total_amount": { + "$ref": "#/$defs/OrderAmount" + } + }, + "required": [ + "selected_plan", + "included_products", + "one_time_fees", + "total_amount" + ], + "title": "CartReview", + "type": "object" +} - added
Output schema / $defs / EquipmentOptionAdded value: +{ + "additionalProperties": false, + "properties": { + "included": { + "title": "Included", + "type": "boolean" + }, + "max_quantity": { + "minimum": 1, + "title": "Max Quantity", + "type": "integer" + }, + "name": { + "maxLength": 300, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "option_id": { + "maxLength": 256, + "minLength": 1, + "title": "Option Id", + "type": "string" + }, + "selected_quantity": { + "minimum": 0, + "title": "Selected Quantity", + "type": "integer" + }, + "selection_type": { + "enum": [ + "radio", + "checkbox" + ], + "title": "Selection Type", + "type": "string" + }, + "unit_pricing": { + "$ref": "#/$defs/OrderAmount" + } + }, + "required": [ + "option_id", + "name", + "selection_type", + "included", + "unit_pricing", + "max_quantity", + "selected_quantity" + ], + "title": "EquipmentOption", + "type": "object" +} - added
Output schema / $defs / OfferChangedReview / properties / current_cartAdded value: +{ + "anyOf": [ + { + "$ref": "#/$defs/CartReview" + }, + { + "type": "null" + } + ], + "default": null +} - added
Output schema / $defs / OfferChangedReview / properties / previous_cartAdded value: +{ + "anyOf": [ + { + "$ref": "#/$defs/CartReview" + }, + { + "type": "null" + } + ], + "default": null +} - added
Output schema / $defs / ReadyOrderReview / properties / bundle_discountAdded value: +{ + "anyOf": [ + { + "$ref": "#/$defs/OrderAmount" + }, + { + "type": "null" + } + ], + "default": null +} - added
Output schema / properties / equipment_optionsAdded value: +{ + "items": { + "$ref": "#/$defs/EquipmentOption" + }, + "maxItems": 100, + "title": "Equipment Options", + "type": "array" +}
1 tool update
- Changed
validate_order4 fields changed- changed
Input schema / $defs / BillingPreferences / properties / auto_pay / anyOfPrevious value: -[ - { - "const": true, - "type": "boolean" - }, - { - "type": "null" - } -]New value: +[ + { + "type": "boolean" + }, + { + "type": "null" + } +] - changed
Input schema / $defs / BillingPreferences / properties / paperless_billing / anyOfPrevious value: -[ - { - "const": true, - "type": "boolean" - }, - { - "type": "null" - } -]New value: +[ + { + "type": "boolean" + }, + { + "type": "null" + } +] - changed
Output schema / $defs / BillingPreferences / properties / auto_pay / anyOfPrevious value: -[ - { - "const": true, - "type": "boolean" - }, - { - "type": "null" - } -]New value: +[ + { + "type": "boolean" + }, + { + "type": "null" + } +] - changed
Output schema / $defs / BillingPreferences / properties / paperless_billing / anyOfPrevious value: -[ - { - "const": true, - "type": "boolean" - }, - { - "type": "null" - } -]New value: +[ + { + "type": "boolean" + }, + { + "type": "null" + } +]
1 tool update
- Changed
validate_order6 fields changed- changed
Input schema / $defs / BillingPreferences / properties / auto_pay / anyOfPrevious value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -]New value: +[ + { + "const": true, + "type": "boolean" + }, + { + "type": "null" + } +] - changed
Input schema / $defs / BillingPreferences / properties / paperless_billing / anyOfPrevious value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -]New value: +[ + { + "const": true, + "type": "boolean" + }, + { + "type": "null" + } +] - changed
Input schema / $defs / InstallationDetails / properties / type / anyOfPrevious value: -[ - { - "enum": [ - "self", - "professional", - "no_preference" - ], - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "self", + "professional" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / $defs / BillingPreferences / properties / auto_pay / anyOfPrevious value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -]New value: +[ + { + "const": true, + "type": "boolean" + }, + { + "type": "null" + } +] - changed
Output schema / $defs / BillingPreferences / properties / paperless_billing / anyOfPrevious value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -]New value: +[ + { + "const": true, + "type": "boolean" + }, + { + "type": "null" + } +] - changed
Output schema / $defs / InstallationDetails / properties / type / anyOfPrevious value: -[ - { - "enum": [ - "self", - "professional", - "no_preference" - ], - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "self", + "professional" + ], + "type": "string" + }, + { + "type": "null" + } +]
1 tool update
- Changed
validate_order8 fields changed- added
Output schema / $defs / IncludedProductAdded value: +{ + "additionalProperties": false, + "properties": { + "name": { + "maxLength": 300, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "quantity": { + "minimum": 1, + "title": "Quantity", + "type": "integer" + }, + "total_pricing": { + "$ref": "#/$defs/OrderAmount" + }, + "unit_pricing": { + "$ref": "#/$defs/OrderAmount" + } + }, + "required": [ + "name", + "quantity", + "unit_pricing", + "total_pricing" + ], + "title": "IncludedProduct", + "type": "object" +} - added
Output schema / $defs / IncludedProductsAdded value: +{ + "additionalProperties": false, + "properties": { + "internet": { + "items": { + "$ref": "#/$defs/IncludedProduct" + }, + "maxItems": 100, + "title": "Internet", + "type": "array" + }, + "television": { + "items": { + "$ref": "#/$defs/IncludedProduct" + }, + "maxItems": 100, + "title": "Television", + "type": "array" + }, + "television_add_ons": { + "items": { + "$ref": "#/$defs/IncludedProduct" + }, + "maxItems": 100, + "title": "Television Add Ons", + "type": "array" + } + }, + "title": "IncludedProducts", + "type": "object" +} - added
Output schema / $defs / OneTimeFeeAdded value: +{ + "additionalProperties": false, + "properties": { + "description": { + "maxLength": 1000, + "minLength": 1, + "title": "Description", + "type": "string" + }, + "fee_type": { + "maxLength": 100, + "minLength": 1, + "title": "Fee Type", + "type": "string" + }, + "name": { + "maxLength": 300, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "pricing": { + "$ref": "#/$defs/OrderAmount" + } + }, + "required": [ + "name", + "description", + "pricing", + "fee_type" + ], + "title": "OneTimeFee", + "type": "object" +} - added
Output schema / $defs / OrderAmountAdded value: +{ + "additionalProperties": false, + "properties": { + "amount_cents": { + "minimum": 0, + "title": "Amount Cents", + "type": "integer" + }, + "amount_currency": { + "pattern": "^[A-Z]{3}$", + "title": "Amount Currency", + "type": "string" + } + }, + "required": [ + "amount_cents", + "amount_currency" + ], + "title": "OrderAmount", + "type": "object" +} - added
Output schema / $defs / ReadyOrderReview / properties / included_productsAdded value: +{ + "$ref": "#/$defs/IncludedProducts" +} - added
Output schema / $defs / ReadyOrderReview / properties / one_time_feesAdded value: +{ + "items": { + "$ref": "#/$defs/OneTimeFee" + }, + "maxItems": 100, + "title": "One Time Fees", + "type": "array" +} - added
Output schema / $defs / ReadyOrderReview / properties / total_amountAdded value: +{ + "$ref": "#/$defs/OrderAmount" +} - changed
Output schema / $defs / ReadyOrderReview / requiredPrevious value: -[ - "provider_name", - "selected_offer", - "service_address", - "unknown_charges_remain_unknown" -]New value: +[ + "provider_name", + "selected_offer", + "included_products", + "one_time_fees", + "total_amount", + "service_address", + "unknown_charges_remain_unknown" +]
1 tool update
- Changed
validate_order2 fields changed- changed
Input schema / $defs / InstallationChoice / properties / time_window / anyOfPrevious value: -[ - { - "maxLength": 100, - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "8:00 AM - 12:00 PM (Local Time)", + "12:00 PM - 5:00 PM (Local Time)" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / $defs / InstallationChoice / properties / time_window / anyOfPrevious value: -[ - { - "maxLength": 100, - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "8:00 AM - 12:00 PM (Local Time)", + "12:00 PM - 5:00 PM (Local Time)" + ], + "type": "string" + }, + { + "type": "null" + } +]
1 tool update
- Changed
validate_order1 field changed- added
Input schema / $defs / MailingAddress / properties / same_as_serviceAdded value: +{ + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Same As Service" +}
4 tool updates
- Changed
check_availability72 fields changed- removed
Input schema / properties / address / descriptionRemoved value: -"An imperfect natural-language U.S. service address." - added
Input schema / properties / answersAdded value: +{ + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Answers" +} - removed
Input schema / properties / candidateIdRemoved value: -{ - "anyOf": [ - { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Opaque ID returned by a previous clarification result.", - "title": "Candidateid" -} - added
Input schema / properties / candidate_idAdded value: +{ + "anyOf": [ + { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Candidate Id" +} - removed
Input schema / properties / lookupIdRemoved value: -{ - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Opaque ID returned by a previous processing result.", - "title": "Lookupid" -} - added
Input schema / properties / lookup_idAdded value: +{ + "anyOf": [ + { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Lookup Id" +} - added
Input schema / properties / question_set_idAdded value: +{ + "anyOf": [ + { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Question Set Id" +} - removed
Input schema / properties / unit / descriptionRemoved value: -"Apartment, suite, or unit requested by a unit clarification." - removed
Output schema / $defs / Candidate / properties / candidateIdRemoved value: -{ - "maxLength": 2048, - "minLength": 1, - "title": "Candidateid", - "type": "string" -} - added
Output schema / $defs / Candidate / properties / candidate_idAdded value: +{ + "maxLength": 2048, + "minLength": 1, + "title": "Candidate Id", + "type": "string" +} - removed
Output schema / $defs / Candidate / properties / requiresUnitRemoved value: -{ - "title": "Requiresunit", - "type": "boolean" -} - added
Output schema / $defs / Candidate / properties / requires_unitAdded value: +{ + "title": "Requires Unit", + "type": "boolean" +} - changed
Output schema / $defs / Candidate / requiredPrevious value: -[ - "candidateId", - "display", - "requiresUnit" -]New value: +[ + "candidate_id", + "display", + "requires_unit" +] - added
Output schema / $defs / ContractTermsAdded value: +{ + "additionalProperties": false, + "properties": { + "months": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Months" + }, + "required": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Required" + } + }, + "title": "ContractTerms", + "type": "object" +} - removed
Output schema / $defs / CoverageRemoved value: -{ - "additionalProperties": false, - "properties": { - "checkedAt": { - "format": "date-time", - "title": "Checkedat", - "type": "string" - }, - "dataAsOf": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Dataasof" - }, - "source": { - "enum": [ - "one_source", - "fcc" - ], - "title": "Source", - "type": "string" - } - }, - "required": [ - "source", - "checkedAt", - "dataAsOf" - ], - "title": "Coverage", - "type": "object" -} - changed
Output schema / $defs / ErrorDetail / properties / code / enumPrevious value: -[ - "invalid_request", - "invalid_address", - "invalid_candidate", - "lookup_not_found", - "lookup_timeout", - "upstream_unavailable", - "rate_limited" -]New value: +[ + "invalid_request", + "invalid_address", + "invalid_answer", + "not_found", + "expired", + "offer_changed", + "offer_unavailable", + "validation_required", + "confirmation_required", + "idempotency_conflict", + "duplicate_order", + "rate_limited", + "temporarily_unavailable" +] - added
Output schema / $defs / ErrorDetail / properties / correlation_idAdded value: +{ + "anyOf": [ + { + "maxLength": 128, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Correlation Id" +} - added
Output schema / $defs / ErrorDetail / properties / field_errorsAdded value: +{ + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Field Errors" +} - removed
Output schema / $defs / ErrorDetail / properties / nextActionRemoved value: -{ - "maxLength": 500, - "minLength": 1, - "title": "Nextaction", - "type": "string" -} - added
Output schema / $defs / ErrorDetail / properties / next_actionAdded value: +{ + "maxLength": 500, + "minLength": 1, + "title": "Next Action", + "type": "string" +} - added
Output schema / $defs / ErrorDetail / properties / retry_after_secondsAdded value: +{ + "anyOf": [ + { + "maximum": 300, + "minimum": 1, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Retry After Seconds" +} - changed
Output schema / $defs / ErrorDetail / requiredPrevious value: -[ - "code", - "message", - "retryable", - "nextAction" -]New value: +[ + "code", + "message", + "retryable", + "next_action" +] - added
Output schema / $defs / FccMatchAdded value: +{ + "additionalProperties": false, + "properties": { + "data_as_of": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Data As Of" + }, + "granularity": { + "enum": [ + "census_block", + "census_tract" + ], + "title": "Granularity", + "type": "string" + } + }, + "required": [ + "granularity" + ], + "title": "FccMatch", + "type": "object" +} - added
Output schema / $defs / FeeFactsAdded value: +{ + "additionalProperties": false, + "properties": { + "activation_cents": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Activation Cents" + }, + "currency": { + "pattern": "^[A-Z]{3}$", + "title": "Currency", + "type": "string" + }, + "professional_installation_cents": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Professional Installation Cents" + }, + "recurring_equipment_cents": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Recurring Equipment Cents" + }, + "self_installation_cents": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Self Installation Cents" + } + }, + "required": [ + "currency" + ], + "title": "FeeFacts", + "type": "object" +} - removed
Output schema / $defs / FeesRemoved value: -{ - "additionalProperties": false, - "properties": { - "activationCents": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Activationcents" - }, - "currency": { - "const": "USD", - "title": "Currency", - "type": "string" - }, - "professionalInstallationCents": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Professionalinstallationcents" - }, - "selfInstallationCents": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Selfinstallationcents" - } - }, - "required": [ - "selfInstallationCents", - "professionalInstallationCents", - "activationCents", - "currency" - ], - "title": "Fees", - "type": "object" -} - added
Output schema / $defs / InformationalPlanAdded value: +{ + "additionalProperties": false, + "properties": { + "conditions": { + "items": { + "type": "string" + }, + "maxItems": 50, + "title": "Conditions", + "type": "array" + }, + "contract_terms": { + "$ref": "#/$defs/ContractTerms" + }, + "data_limit": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Data Limit" + }, + "download_mbps": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Download Mbps" + }, + "fees": { + "$ref": "#/$defs/FeeFacts" + }, + "name": { + "maxLength": 300, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "pricing": { + "$ref": "#/$defs/MoneyFacts" + }, + "technology": { + "anyOf": [ + { + "maxLength": 100, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Technology" + }, + "upload_mbps": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Upload Mbps" + } + }, + "required": [ + "name", + "pricing", + "fees", + "contract_terms" + ], + "title": "InformationalPlan", + "type": "object" +} - added
Output schema / $defs / MoneyFactsAdded value: +{ + "additionalProperties": false, + "properties": { + "currency": { + "pattern": "^[A-Z]{3}$", + "title": "Currency", + "type": "string" + }, + "intro_months": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Intro Months" + }, + "monthly_cents": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Monthly Cents" + }, + "regular_monthly_cents": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Regular Monthly Cents" + } + }, + "required": [ + "currency" + ], + "title": "MoneyFacts", + "type": "object" +} - removed
Output schema / $defs / NormalizedAddress / properties / postalCodeRemoved value: -{ - "pattern": "^\\d{5}(?:-\\d{4})?$", - "title": "Postalcode", - "type": "string" -} - added
Output schema / $defs / NormalizedAddress / properties / postal_codeAdded value: +{ + "pattern": "^\\d{5}(?:-\\d{4})?$", + "title": "Postal Code", + "type": "string" +} - removed
Output schema / $defs / NormalizedAddress / properties / streetLineRemoved value: -{ - "maxLength": 300, - "minLength": 1, - "title": "Streetline", - "type": "string" -} - added
Output schema / $defs / NormalizedAddress / properties / street_lineAdded value: +{ + "maxLength": 300, + "minLength": 1, + "title": "Street Line", + "type": "string" +} - added
Output schema / $defs / NormalizedAddress / properties / unit / defaultAdded value: +null - changed
Output schema / $defs / NormalizedAddress / requiredPrevious value: -[ - "display", - "streetLine", - "unit", - "city", - "state", - "postalCode" -]New value: +[ + "display", + "street_line", + "city", + "state", + "postal_code" +] - added
Output schema / $defs / OfferAdded value: +{ + "additionalProperties": false, + "properties": { + "conditions": { + "items": { + "type": "string" + }, + "maxItems": 50, + "title": "Conditions", + "type": "array" + }, + "contract_terms": { + "$ref": "#/$defs/ContractTerms" + }, + "data_limit": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Data Limit" + }, + "download_mbps": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Download Mbps" + }, + "expires_at": { + "format": "date-time", + "title": "Expires At", + "type": "string" + }, + "fees": { + "$ref": "#/$defs/FeeFacts" + }, + "name": { + "maxLength": 300, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "offer_id": { + "maxLength": 256, + "minLength": 1, + "title": "Offer Id", + "type": "string" + }, + "orderable_through_hum": { + "const": true, + "title": "Orderable Through Hum", + "type": "boolean" + }, + "pricing": { + "$ref": "#/$defs/MoneyFacts" + }, + "provider_id": { + "maxLength": 256, + "minLength": 1, + "title": "Provider Id", + "type": "string" + }, + "qualification_revision": { + "minimum": 1, + "title": "Qualification Revision", + "type": "integer" + }, + "qualified_at": { + "format": "date-time", + "title": "Qualified At", + "type": "string" + }, + "technology": { + "anyOf": [ + { + "maxLength": 100, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Technology" + }, + "upload_mbps": { + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Upload Mbps" + } + }, + "required": [ + "name", + "pricing", + "fees", + "contract_terms", + "offer_id", + "provider_id", + "qualification_revision", + "qualified_at", + "expires_at", + "orderable_through_hum" + ], + "title": "Offer", + "type": "object" +} - removed
Output schema / $defs / PlanRemoved value: -{ - "additionalProperties": false, - "properties": { - "contractMonths": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Contractmonths" - }, - "contractRequired": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "title": "Contractrequired" - }, - "dataLimit": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - }, - { - "type": "number" - }, - { - "type": "null" - } - ], - "title": "Datalimit" - }, - "downloadMbps": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "title": "Downloadmbps" - }, - "fees": { - "$ref": "#/$defs/Fees" - }, - "name": { - "maxLength": 300, - "minLength": 1, - "title": "Name", - "type": "string" - }, - "pricing": { - "$ref": "#/$defs/Pricing" - }, - "promotion": { - "anyOf": [ - { - "maxLength": 2000, - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Promotion" - }, - "technology": { - "anyOf": [ - { - "maxLength": 100, - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Technology" - }, - "uploadMbps": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "title": "Uploadmbps" - } - }, - "required": [ - "name", - "technology", - "downloadMbps", - "uploadMbps", - "dataLimit", - "contractRequired", - "contractMonths", - "pricing", - "fees", - "promotion" - ], - "title": "Plan", - "type": "object" -} - removed
Output schema / $defs / PricingRemoved value: -{ - "additionalProperties": false, - "properties": { - "currency": { - "const": "USD", - "title": "Currency", - "type": "string" - }, - "introMonths": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Intromonths" - }, - "monthlyCents": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Monthlycents" - }, - "regularMonthlyCents": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Regularmonthlycents" - } - }, - "required": [ - "monthlyCents", - "regularMonthlyCents", - "introMonths", - "currency" - ], - "title": "Pricing", - "type": "object" -} - added
Output schema / $defs / Provider / properties / catalog_plansAdded value: +{ + "items": { + "$ref": "#/$defs/InformationalPlan" + }, + "maxItems": 500, + "title": "Catalog Plans", + "type": "array" +} - added
Output schema / $defs / Provider / properties / fcc_matchAdded value: +{ + "anyOf": [ + { + "$ref": "#/$defs/FccMatch" + }, + { + "type": "null" + } + ], + "default": null +} - removed
Output schema / $defs / Provider / properties / logoUrlRemoved value: -{ - "anyOf": [ - { - "maxLength": 2048, - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Logourl" -} - added
Output schema / $defs / Provider / properties / offersAdded value: +{ + "items": { + "$ref": "#/$defs/Offer" + }, + "maxItems": 500, + "title": "Offers", + "type": "array" +} - added
Output schema / $defs / Provider / properties / orderable_through_humAdded value: +{ + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Orderable Through Hum" +} - removed
Output schema / $defs / Provider / properties / plansRemoved value: -{ - "items": { - "$ref": "#/$defs/Plan" - }, - "maxItems": 500, - "title": "Plans", - "type": "array" -} - added
Output schema / $defs / Provider / properties / provenanceAdded value: +{ + "items": { + "enum": [ + "fcc", + "live_provider_check" + ], + "type": "string" + }, + "maxItems": 2, + "minItems": 1, + "title": "Provenance", + "type": "array" +} - added
Output schema / $defs / Provider / properties / provider_idAdded value: +{ + "maxLength": 256, + "minLength": 1, + "title": "Provider Id", + "type": "string" +} - added
Output schema / $defs / Provider / properties / qualification_statusAdded value: +{ + "enum": [ + "not_checked", + "checking", + "needs_information", + "qualified", + "not_qualified", + "failed" + ], + "title": "Qualification Status", + "type": "string" +} - removed
Output schema / $defs / Provider / properties / technologiesRemoved value: -{ - "items": { - "type": "string" - }, - "maxItems": 50, - "title": "Technologies", - "type": "array" -} - changed
Output schema / $defs / Provider / requiredPrevious value: -[ - "name", - "logoUrl", - "technologies", - "plans" -]New value: +[ + "provider_id", + "name", + "provenance", + "qualification_status" +] - added
Output schema / $defs / QuestionAdded value: +{ + "additionalProperties": false, + "properties": { + "choices": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Choices" + }, + "prompt": { + "maxLength": 500, + "minLength": 1, + "title": "Prompt", + "type": "string" + }, + "question_id": { + "maxLength": 256, + "minLength": 1, + "title": "Question Id", + "type": "string" + }, + "required": { + "title": "Required", + "type": "boolean" + }, + "sensitivity": { + "enum": [ + "none", + "personal", + "sensitive" + ], + "title": "Sensitivity", + "type": "string" + }, + "type": { + "enum": [ + "string", + "boolean", + "single_choice", + "date" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "question_id", + "prompt", + "type", + "required", + "sensitivity" + ], + "title": "Question", + "type": "object" +} - added
Output schema / $defs / SourceStateAdded value: +{ + "additionalProperties": false, + "properties": { + "checked_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Checked At" + }, + "data_as_of": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Data As Of" + }, + "error": { + "anyOf": [ + { + "$ref": "#/$defs/ErrorDetail" + }, + { + "type": "null" + } + ], + "default": null + }, + "status": { + "enum": [ + "checking", + "needs_information", + "complete", + "failed", + "timed_out" + ], + "title": "Status", + "type": "string" + } + }, + "required": [ + "status" + ], + "title": "SourceState", + "type": "object" +} - added
Output schema / $defs / SourcesAdded value: +{ + "additionalProperties": false, + "properties": { + "fcc": { + "$ref": "#/$defs/SourceState" + }, + "live_provider_check": { + "$ref": "#/$defs/SourceState" + } + }, + "required": [ + "fcc", + "live_provider_check" + ], + "title": "Sources", + "type": "object" +} - removed
Output schema / descriptionRemoved value: -"Object-root output schema with status-specific runtime validation.\n\nOlder MCP peers require an object at the root of ``outputSchema``. The status is still a\ndiscriminator: every returned payload is validated against ``AvailabilityResult``." - removed
Output schema / properties / clarificationTypeRemoved value: -{ - "anyOf": [ - { - "enum": [ - "candidate_selection", - "unit_required" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Clarificationtype" -} - added
Output schema / properties / clarification_typeAdded value: +{ + "anyOf": [ + { + "enum": [ + "candidate_selection", + "unit_required" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Clarification Type" +} - removed
Output schema / properties / coverageRemoved value: -{ - "anyOf": [ - { - "$ref": "#/$defs/Coverage" - }, - { - "type": "null" - } - ], - "default": null -} - added
Output schema / properties / expires_atAdded value: +{ + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Expires At" +} - removed
Output schema / properties / lookupIdRemoved value: -{ - "anyOf": [ - { - "maxLength": 128, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Lookupid" -} - added
Output schema / properties / lookup_idAdded value: +{ + "anyOf": [ + { + "maxLength": 256, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Lookup Id" +} - added
Output schema / properties / next_actionAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Next Action" +} - removed
Output schema / properties / normalizedAddressRemoved value: -{ - "anyOf": [ - { - "$ref": "#/$defs/NormalizedAddress" - }, - { - "type": "null" - } - ], - "default": null -} - added
Output schema / properties / normalized_addressAdded value: +{ + "anyOf": [ + { + "$ref": "#/$defs/NormalizedAddress" + }, + { + "type": "null" + } + ], + "default": null +} - added
Output schema / properties / question_set_idAdded value: +{ + "anyOf": [ + { + "maxLength": 256, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Question Set Id" +} - added
Output schema / properties / questionsAdded value: +{ + "items": { + "$ref": "#/$defs/Question" + }, + "maxItems": 100, + "title": "Questions", + "type": "array" +} - removed
Output schema / properties / requiredFieldRemoved value: -{ - "anyOf": [ - { - "const": "unit", - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Requiredfield" -} - added
Output schema / properties / required_fieldAdded value: +{ + "anyOf": [ + { + "const": "unit", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Required Field" +} - removed
Output schema / properties / retryAfterSecondsRemoved value: -{ - "anyOf": [ - { - "maximum": 300, - "minimum": 1, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Retryafterseconds" -} - added
Output schema / properties / retry_after_secondsAdded value: +{ + "anyOf": [ + { + "maximum": 300, + "minimum": 1, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Retry After Seconds" +} - added
Output schema / properties / revisionAdded value: +{ + "anyOf": [ + { + "minimum": 1, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Revision" +} - removed
Output schema / properties / schemaVersionRemoved value: -{ - "const": 3, - "title": "Schemaversion", - "type": "integer" -} - added
Output schema / properties / schema_versionAdded value: +{ + "const": 4, + "title": "Schema Version", + "type": "integer" +} - added
Output schema / properties / sourcesAdded value: +{ + "anyOf": [ + { + "$ref": "#/$defs/Sources" + }, + { + "type": "null" + } + ], + "default": null +} - changed
Output schema / properties / status / enumPrevious value: -[ - "available", - "no_service", - "needs_clarification", - "processing", - "error" -]New value: +[ + "checking", + "needs_information", + "complete", + "failed", + "error" +] - changed
Output schema / requiredPrevious value: -[ - "schemaVersion", - "status", - "warnings" -]New value: +[ + "schema_version", + "status" +]
- Added
create_order - Added
get_order - Added
validate_order
1 tool update
- First observed
check_availability
Related MCP Connectors
US telecom availability and intelligence by address, with FCC provenance. Fiber-first.
Validate & geocode a US address; enrich with demographics, districts, counties, schools & much more.
Flood, wildfire, earthquake, and coastal-storm hazard lookup for a US property.
Broadband availability, providers, speeds, and BEAD classification from the FCC
Related MCP Servers
- AlicenseAqualityDmaintenanceGiven a U.S. street address, returns the people who represent it (U.S. Senators, House member, Governor, and state legislators) using free public data, with no API keys required for federal officials.5MIT
- AlicenseAqualityDmaintenanceQuery ARCEP eligibility API to check fixed-line and mobile telecom eligibilities for a given address in France.2MIT
- AlicenseNot gradedqualityCmaintenanceEnables cited site feasibility and pre-development project workflows for Canada and the US, returning lot, zoning, permitted uses, and material envelope details with provenance for a given street address.Apache 2.0
- AlicenseNot gradedqualityDmaintenanceAssesses natural hazard exposure (flood, wildfire, earthquake, coastal proximity) for a single US property address using only free, keyless public data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.