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 41 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a distinct role in the order lifecycle: check_availability initializes a lookup, validate_order validates/previews an offer, create_order commits after authorization, and get_order retrieves fulfillment. No two tools overlap in purpose; the sequential flow is clear.
All tools follow the exact verb_noun snake_case pattern: check_availability, create_order, get_order, validate_order. The naming is completely uniform and predictable.
With only 4 tools, the server is tightly scoped to the availability-check and order-placement workflow. Each tool is necessary and there are no redundant additions.
The surface covers the full lifecycle: check availability, validate an order, create the order, and retrieve order status. Editing is handled within validate_order, so no critical operations are missing for the stated purpose.
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?
The annotations already establish read-only, idempotent, and non-destructive behavior. The description adds valuable behavioral context beyond that: FCC findings are only area-level evidence, and callers must select only returned executable offer_id values. This warns about data granularity and restricts how results should be used, which the annotations alone do not convey.
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 description is compact at three sentences and front-loads the primary starting point ('Start with {address}'). Some phrasing is dense and slightly ambiguous, especially the 'continue only with...' list, but every sentence contributes workflow, caveat, or constraint information.
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 stateful, multi-parameter tool with no required inputs, the description gives a coherent workflow: address first, then candidate_id/unit, lookup_id polling, or question_set_id/answers. It also addresses output selection by requiring returned executable offer_id values. Gaps remain around exactly how modes combine and what the 'answers' object should contain, but the presence of an output schema reduces the need to document return details.
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 carries the full burden of explaining parameters. It meaningfully maps address as the starting input and links candidate_id, unit, lookup_id, question_set_id, and answers to continuation modes. It does not fully explain relationships or possible exclusivity, but it provides substantial semantic value the bare schema lacks.
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 communicates an availability-check workflow: start with an address, then continue with candidate_id, lookup_id, or question_set_id and answers. It also references returned offer_id values, which clearly aligns with checking broadband availability rather than order operations. The main weakness is that the tool's core action ('checks availability') is only explicit in the title, not restated in the description.
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 gives concrete usage sequencing: begin with an address, then continue only with returned identifiers or the current question set and answers. This is clear guidance for invoking the tool across a multi-step flow. It does not explicitly name sibling tools or say when not to use them, but the context of availability polling is sufficiently distinct from order creation, validation, and retrieval.
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 signal destructive intent and idempotency, and the description adds useful behavioral context beyond those: the requirement for user authorization, the need for a stable idempotency_key, and the recovery behavior after an uncertain response. It does not dwell on return behavior, but the output schema covers that.
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 description is compact and front-loaded with the most important precondition. The second sentence earns its place by clarifying recovery behavior. Some phrasing is dense and slightly awkward, but it is not padded.
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 mutation tool with four required parameters, the description covers the critical workflow around authorization, idempotency, and uncertain responses. It does not explain where checkout_id comes from or spell out the confirmation object's role beyond terms_hash, though the schema partially fills that gap. Overall it is workable but not fully complete for an agent without additional flow context.
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?
With 0% schema description coverage, the description helps by explaining the role of terms_hash, validation_token, and idempotency_key in the flow. However, it does not mention checkout_id or the confirmed flag in the confirmation object, leaving part of the parameter surface under-explained. It adds meaningful value, but not enough to fully compensate for the schema's lack of descriptions.
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 makes clear this tool commits an order once a review and terms authorization are in place, rather than merely inspecting or validating. It does not explicitly say 'create order,' but the name, title, and commit language convey the action. It also indirectly distinguishes itself from get_order by positioning itself as the commit step.
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 gives explicit preconditions: only after presenting the review and obtaining authorization for its terms_hash. It also provides an alternative path for ambiguous outcomes, instructing the agent to call get_order first and not blindly resubmit. This is strong when-to-use and when-not-to-resubmit 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 declare readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds useful behavioral context: it returns recorded fulfillment evidence rather than live status, and it flags a domain-specific limitation about public statuses. No contradiction with the annotations is present.
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 no filler. The action and primary use case are front-loaded, and the second sentence adds a valuable caveat without drifting into unnecessary detail.
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 one-parameter read-only tool with an output schema and robust annotations, the description is complete. It covers what the tool does, when to use it, and an important domain caveat. The output schema makes it unnecessary to describe return values in prose.
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 for parameter meaning. It does tie checkout_id to the create_order flow, which adds context beyond the raw schema, but it does not explain how the ID is obtained, what format it takes, or what to do if it is missing. This is adequate but minimal for the single required parameter.
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 verb ('retrieve') and resource ('recorded fulfillment evidence') and identifies the checkout_id as the key input. It differentiates itself from create_order by calling out the 'lost or uncertain create_order response' use case, and clarifies that public statuses are not sufficient. This is far more specific than the generic title.
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 to use this tool 'especially after a lost or uncertain create_order response,' giving a clear trigger condition. It also warns that public statuses are not proof of ISP acceptance or installation, implying this tool provides authoritative recorded evidence. It does not explicitly mention check_availability or validate_order as alternatives, so it stops short of full when-not-to-use guidance.
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?
Annotations only declare readOnlyHint=false, openWorldHint=true, idempotentHint=true, destructiveHint=false. The description adds an exceptional amount of behavioral context: polling semantics, edits restarting validation, stale-revision recovery, never fabricating options, never silently enabling auto-pay/paperless billing, never repeating PIN/DOB, and keeping internal IDs out of customer-facing prose. No contradiction with annotations.
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 description is very long, but nearly every sentence carries operational weight—polling, revision handling, equipment ownership, consent recording, and authorization. It is front-loaded with the three usage shapes. A few concepts are stated more than once (e.g., auto-pay/paperless cautions), but the density is justified for a tool of this complexity.
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 5 parameters, zero schema description coverage, and an output schema that documents return values, the description covers every operational requirement an agent needs: invocation shapes, contract semantics (required_fields vs field_errors), equipment selection rules, installation constraints, consent handling, and the authorization boundary with create_order. Nothing essential is 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?
Schema description coverage is 0%, and the description fully compensates. It explains the three invocation shapes (lookup_id+offer_id for start, checkout_id for poll/edit, expected_revision for stale detection), dictates that customer/installation/consents/internet_addons belong inside details, and defines the semantics of required_fields and field_errors. This goes far 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 description states a clear verb and resource: 'Refreshes the offer and returns an exact review without submitting an order.' It also distinguishes itself from create_order explicitly ('Obtain explicit authorization... before create_order'). However, it does not explicitly address check_availability or get_order, and the dense operational rules slightly diffuse the core-purpose statement.
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 gives explicit usage modes ('Start', 'Poll', 'Edit') and clearly delineates the boundary with create_order: validation alone is not authorization. It does not explicitly discuss when check_availability or get_order should be used instead, but it provides strong contextual guidance on when validate_order is the right step in the flow.
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.
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.
Flood, wildfire, earthquake, and coastal-storm hazard lookup for a US property.
Broadband availability, providers, speeds, and BEAD classification from the FCC
US address intelligence: 120M+ addresses, verify, suggest, reverse geocode, coverage stats.
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 gradedqualityBmaintenanceAssesses 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.