io.github.cyanheads/fcc-broadband-mcp-server
REMOTE · FCC-BROADBAND.CASEYJHAND.COM · 2 COMPONENTS · SCANNED AUG 3
FCC broadband availability, coverage analysis, and digital divide data for US geographies.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security66
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 9 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability76
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2541 tokens (~254/item across 10 items; 9 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · fcc-broadband.caseyjhand.com
claude mcp add --transport http cyanheads-fcc-broadband-mcp-server https://fcc-broadband.caseyjhand.com/mcp
[mcp_servers.cyanheads-fcc-broadband-mcp-server] url = "https://fcc-broadband.caseyjhand.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"cyanheads-fcc-broadband-mcp-server": {
"type": "remote",
"url": "https://fcc-broadband.caseyjhand.com/mcp",
"enabled": true
}
}
} openclaw mcp add cyanheads-fcc-broadband-mcp-server --url https://fcc-broadband.caseyjhand.com/mcp --transport streamable-http
mcp_servers:
cyanheads-fcc-broadband-mcp-server:
url: "https://fcc-broadband.caseyjhand.com/mcp" {
"mcpServers": {
"cyanheads-fcc-broadband-mcp-server": {
"type": "http",
"url": "https://fcc-broadband.caseyjhand.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 66
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://fcc-broadband.caseyjhand.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=caseyjhand.com | CN=WE1,O=Google Trust Services,C=US | 7 Jul 2026 | 5 Oct 2026 | ECDSA 256 | ECDSA-SHA256 | 5aad900eb2055a0b0ea55912ec19680c |
| SANs: caseyjhand.com, *.caseyjhand.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
DNSSEC secure
Validation of fcc-broadband.caseyjhand.com. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| caseyjhand.com. | present | 2371 | 13 | Verified |
| fcc-broadband.caseyjhand.com. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains; preload |
| x-content-type-options | nosniff |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://fcc-broadband.caseyjhand.com/mcp | Verified | 200 | |
| http (plaintext) | http://fcc-broadband.caseyjhand.com/mcp | HTTPS enforced | 301 | https://fcc-broadband.caseyjhand.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
fcc_compare_areas Compare Broadband Coverage Across Areas ~323
Compares broadband coverage metrics across multiple geographies of the same type and returns a ranked table sorted by unserved or underserved population. Answers "which counties in this state have the worst broadband access?" and drives BEAD funding prioritization. Provide up to 50 geography IDs, or set compare_all_states=true for all 50 states + DC. Data is from FCC Form 477 (as of June 2021).
| Name | Type | Req | Description |
|---|---|---|---|
| compare_all_states | boolean | — | When true, compares all 50 states + DC. Overrides geography_ids. Requires geography_type="state". |
| geography_ids | array | — | Array of FIPS GEOIDs to compare (up to 50). For all 50 states, omit and set compare_all_states=true. |
| geography_type | string | yes | Geographic level to compare. Must be uniform across all geographies in the comparison. |
| sort_by | string | — | "unserved_pct" = share of population with no broadband (default). "unserved_pop" = raw headcount for BEAD funding. "coverage_pct" = share with any coverage. "competitive_pct" = share with 2+ provider… |
| speed_down | string | — | Download speed threshold in Mbps. 25 = FCC legacy standard. 100 = BEAD program standard. |
| tech_filter | string | — | Technology filter. "acfosw" = any wired or fixed wireless. "f" = fiber only. "c" = cable only. "a" = DSL. "s" = satellite. "w" = fixed wireless. |
| Name | Type | Req | Description |
|---|---|---|---|
| appliedFilters | object | yes | Filters and parameters applied to this comparison. |
| areas | array | yes | Ranked comparison of geographies by the selected sort field. |
| dataVintage | string | yes | Data vintage — Form 477 data as of June 2021. |
| geographyType | string | yes | Geography type compared. |
| sortBy | string | yes | Ranking field used. |
| speedDownMbps | number | yes | Speed threshold in Mbps. |
| techFilter | string | yes | Technology filter applied. |
| totalAreas | number | yes | Total number of areas compared. |
No examples provided.
fcc_find_underserved Find Underserved Areas ~348
Finds geographic areas with limited or no broadband coverage at a given speed threshold, ranked by unserved population. The core tool for BEAD program analysis and broadband equity research. Accepts a state abbreviation to narrow scope or runs nationwide. Defaults to rural areas where underservice is most concentrated. Data is from FCC Form 477 (as of June 2021).
| Name | Type | Req | Description |
|---|---|---|---|
| geography_type | string | — | Geographic granularity for results. "county" is most useful for policy analysis and BEAD eligibility. "cd" = congressional district. "place" = census-designated place. "cbsa" = metro area. |
| limit | integer | — | Maximum number of areas to return, ranked by unserved population (descending). |
| min_unserved_pop | integer | — | Minimum population with no coverage to include. Use to filter out very small areas (e.g., 500 filters areas with fewer than 500 unserved residents). |
| speed_down | string | — | Download speed threshold in Mbps for defining "underserved." 25 = FCC legacy standard. 100 = BEAD program standard. |
| state | string | — | 2-letter state code (e.g., "WY", "MS") to limit scope. Omit for nationwide search — returns top areas only. |
| tech_filter | string | — | Technology filter. "acfosw" = any wired or fixed wireless. "f" = fiber only. "c" = cable only. |
| urban_rural_filter | string | — | Defaults to rural ("R") — where underservice is most concentrated. Use "U" to find underserved urban areas (digital redlining research). Set to "all" for both. |
| Name | Type | Req | Description |
|---|---|---|---|
| appliedFilters | object | yes | Filters applied to this query. |
| areas | array | yes | Ranked list of underserved areas. |
| cap | number | — | The limit that was applied. Present when truncated. |
| dataVintage | string | yes | Data vintage — Form 477 data as of June 2021. |
| geographyType | string | yes | Geography type returned. |
| notice | string | — | Recovery hint when no areas are found — suggests how to broaden the filters. Absent on successful results. |
| shown | number | — | Number of areas returned after applying the limit. Present when truncated. |
| speedDownMbps | number | yes | Speed threshold used in Mbps. |
| totalFound | number | yes | Total number of areas found before applying the limit filter. |
| truncated | boolean | — | True when more areas matched than the limit returned. Absent when not truncated. |
| urbanRuralFilter | string | yes | Urban/rural filter applied. |
No examples provided.
fcc_geocode_block Geocode Census Block ~156
Converts a latitude/longitude coordinate to a 15-digit census block FIPS code, plus county FIPS, county name, state FIPS, state code, and state name. This is the required prerequisite for fcc_search_availability since the broadband dataset is indexed by census block, not address. Uses the FCC public Geo API — no authentication required.
| Name | Type | Req | Description |
|---|---|---|---|
| latitude | number | yes | Latitude of the location in decimal degrees (e.g., 47.6062 for Seattle, WA). Must be within the continental US, Alaska, Hawaii, or US territories. |
| longitude | number | yes | Longitude of the location in decimal degrees (e.g., -122.3321 for Seattle, WA). Negative for western hemisphere. |
| Name | Type | Req | Description |
|---|---|---|---|
| blockFips | string | yes | 15-digit census block FIPS code (e.g., "530330081021016"). Pass this to fcc_search_availability to look up broadband providers. |
| countyFips | string | yes | 5-digit county FIPS code (e.g., "53033" for King County, WA). |
| countyName | string | yes | Human-readable county name (e.g., "King"). |
| stateCode | string | yes | 2-letter state abbreviation (e.g., "WA"). |
| stateFips | string | yes | 2-digit state FIPS code (e.g., "53" for Washington). |
| stateName | string | yes | Full state name (e.g., "Washington"). |
No examples provided.
fcc_get_coverage_summary Get Broadband Coverage Summary ~481
Returns a broadband coverage summary for a geography — population with zero, one, two, or three-plus providers at a given speed threshold, split by urban/rural and tribal/non-tribal segments. The primary tool for digital divide and equity analysis. Supports state, county, congressional district, census place, CBSA (metro area), tribal area, and national level. Data is from FCC Form 477 (as of June 2021). Use 100 Mbps as the speed threshold for BEAD program policy analysis.
| Name | Type | Req | Description |
|---|---|---|---|
| geography_id | string | — | FIPS GEOID for the geography. State: 2-digit (e.g., "06" for California). County: 5-digit (e.g., "06037" for LA County). Congressional district: 4-digit state+district (e.g., "0601"). CBSA: 5-digit c… |
| geography_type | string | yes | Geographic aggregation level. "nation" = US-wide totals (geography_id not needed). "cd" = congressional district. "place" = census-designated place. "cbsa" = core-based statistical area (metro area).… |
| speed_down | string | — | Minimum download speed threshold in Mbps. 25 = FCC legacy broadband definition. 100 = BEAD program standard (use this for current policy analysis). "0.2" = any service above 200 Kbps. |
| tech_filter | string | — | Technology filter. "acfosw" = any wired or fixed wireless (recommended baseline). "f" = fiber only. "c" = cable only. "a" = ADSL/DSL only. "s" = satellite only. "w" = fixed wireless only. Mix letters… |
| tribal_filter | string | — | Filter to tribal ("T") or non-tribal ("N") areas. Use "T" to assess Native American connectivity gaps. |
| urban_rural_filter | string | — | Filter to urban ("U") or rural ("R") areas only, or "all" for both combined. Rural breakdown is key for BEAD program analysis. |
| Name | Type | Req | Description |
|---|---|---|---|
| appliedFilters | object | yes | Filters applied to this query. |
| breakdown | array | yes | Per-segment breakdown by urban/rural and tribal/non-tribal. |
| competitivePct | number | yes | Percentage with two or more providers. |
| coveragePct | number | yes | Percentage of population with at least one provider at the given speed. |
| dataVintage | string | yes | Data vintage — Form 477 data as of June 2021. |
| geography | object | yes | The queried geography. |
| population | object | yes | Population counts by provider availability tier. |
| speedDownMbps | number | yes | Download speed threshold used in Mbps. |
| techFilter | string | yes | Technology filter applied. |
| unservedPct | number | yes | Percentage with zero providers — FCC "unserved" definition. |
No examples provided.
fcc_get_provider Get Provider Profile ~108
Returns a national-level coverage profile for a specific holding company (by hoconum): states served, technologies deployed, and the number of locations covered at each download speed tier. Use fcc_search_providers to find valid hoconum values. Data is from FCC Form 477 (as of June 2021).
| Name | Type | Req | Description |
|---|---|---|---|
| hoconum | string | yes | Holding company number from fcc_search_providers (e.g., "130152" for Comcast). Required identifier for the provider. |
| Name | Type | Req | Description |
|---|---|---|---|
| dataVintage | string | yes | Data vintage — Form 477 data as of June 2021. |
| hoconum | string | yes | Holding company number. |
| holdingCompanyName | string | yes | Holding company name. |
| speedTierLocations | array | yes | Download speed tier location counts (national totals). |
| techCodes | array | yes | Technology codes this provider deploys nationally. |
| techLabels | array | yes | Human-readable technology descriptions. |
No examples provided.
fcc_list_downloads List BDC Downloads ~274
Lists downloadable BDC data files for a specific as-of date — fixed availability by state and provider, mobile coverage, and challenge data — with file metadata (provider, state, technology, record count). Download URLs are included for each file. Requires FCC BDC API credentials (FCC_BDC_USERNAME and FCC_BDC_HASH_VALUE). Use fcc_list_filing_periods first to determine valid as_of_date values (BDC dates start June 2022).
| Name | Type | Req | Description |
|---|---|---|---|
| as_of_date | string | yes | BDC as-of date in YYYY-MM-DD format (e.g., "2024-06-30"). Get valid dates from fcc_list_filing_periods with include_bdc=true. |
| category | string | — | File category. "State" = per-state coverage files. "Provider" = per-provider files. "Summary" = aggregate coverage tables. |
| data_type | string | — | "availability" = ISP-reported coverage files (by state and provider). "challenge" = consumer and government dispute records. |
| provider_name | string | — | Partial provider holding company name to filter results (case-insensitive). |
| state | string | — | Filter to one state's files (2-letter abbreviation, e.g., "WA"). |
| technology_type | string | — | Filter to a specific technology type of coverage data. |
| Name | Type | Req | Description |
|---|---|---|---|
| appliedFilters | object | yes | Filters applied to this query. |
| asOfDate | string | yes | The queried as-of date. |
| dataType | string | yes | Data type queried (availability or challenge). |
| files | array | yes | Downloadable BDC files matching the filters. |
| notice | string | — | Recovery hint when no files are found — suggests how to broaden the search. Absent on successful results. |
| totalFiles | number | yes | Total number of files returned after filtering. |
No examples provided.
fcc_list_filing_periods List Filing Periods ~156
Returns available data vintages: Form 477 filing periods (hardcoded Jun 2015 – Jun 2021, always available) and BDC as-of dates from the authenticated API (Jun 2022 onward, requires credentials). Call this before fcc_list_downloads to determine valid as_of_date values. Note: there is a data gap between June 2021 (last Form 477) and June 2022 (first BDC filing period).
| Name | Type | Req | Description |
|---|---|---|---|
| include_bdc | boolean | — | When true, also fetches BDC as-of dates from the authenticated API (requires FCC_BDC_USERNAME and FCC_BDC_HASH_VALUE). When false (default), returns only hardcoded Form 477 periods. |
| Name | Type | Req | Description |
|---|---|---|---|
| bdcCount | number | yes | Number of BDC periods returned (0 when credentials not configured or include_bdc=false). |
| dataNote | string | yes | Note on data availability and the Form 477 vs. BDC gap. |
| form477Count | number | yes | Number of Form 477 periods returned (always available). |
| hasBdcCredentials | boolean | yes | Whether BDC API credentials are configured in this deployment. |
| periods | array | yes | Available filing periods sorted newest first. |
No examples provided.
fcc_search_availability Search Broadband Availability ~252
Queries broadband providers and advertised speeds at a census block from FCC Form 477 data (as of June 2021). Answers "which ISPs serve this location and what speeds do they offer?" — the core tool for address-level broadband lookup. Requires a 15-digit census block FIPS code; use fcc_geocode_block to convert coordinates first. Data reflects ISP-reported availability at the block level, which may overstate actual coverage for some addresses.
| Name | Type | Req | Description |
|---|---|---|---|
| block_fips | string | yes | 15-digit census block FIPS code (e.g., "530330081021016"). Obtain from fcc_geocode_block using address coordinates. |
| consumer | boolean | — | Filter to consumer service (true) or business service (false). Omit to return both consumer and business offerings. |
| min_speed_down | number | — | Minimum advertised download speed in Mbps to include in results. Omit to return all providers regardless of speed. |
| tech_filter | array | — | Technology codes to filter. 50=Fiber to premises, 40–43=Cable modem, 10–12=DSL variants, 60=Satellite, 70=Fixed wireless. Omit to return all technologies. |
| Name | Type | Req | Description |
|---|---|---|---|
| appliedFilters | object | yes | Filters applied to this query. |
| blockFips | string | yes | The queried census block FIPS code. |
| dataVintage | string | yes | Data vintage — all Form 477 data on FCC Open Data is as of June 2021. For newer BDC data, use fcc_list_downloads. |
| notice | string | — | Recovery hint when no providers are found — suggests how to broaden the query. Absent on successful results. |
| providers | array | yes | ISP offerings reported for this census block. |
| totalProviders | number | yes | Total number of distinct holding companies offering service at this block. |
No examples provided.
fcc_search_providers Search Broadband Providers ~232
Searches for ISPs by holding company name, filtered by state and technology type. Returns a deduplicated list of matching providers with hoconum identifiers for follow-up calls to fcc_get_provider. Answers "which ISPs serve Washington with fiber?" and "find all Comcast entities." Geographic filtering is state-level; sub-state granularity requires cross-referencing block data. Data is from FCC Form 477 (as of June 2021).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Maximum number of distinct providers to return. |
| name_search | string | — | Partial holding company name to search (case-insensitive). e.g., "Comcast", "T-Mobile", "Frontier". Omit to list all providers in a state. |
| state | string | — | 2-letter state abbreviation (e.g., "WA") to limit results to providers serving that state. |
| tech_filter | array | — | Technology codes to filter. 50=Fiber, 40–43=Cable, 10–12=DSL, 60=Satellite, 70=Fixed wireless. Omit for all technologies. |
| Name | Type | Req | Description |
|---|---|---|---|
| appliedFilters | object | yes | Filters applied to this query. |
| cap | number | — | The limit that was applied. Present when capped. |
| dataVintage | string | yes | Data vintage — Form 477 data as of June 2021. |
| notice | string | — | Recovery hint when no providers are found — suggests how to broaden the search. Absent on successful results. |
| providers | array | yes | Matching providers, deduplicated by holding company. |
| shown | number | — | Number of providers returned. Present when capped. |
| totalFound | number | yes | Number of distinct providers returned. |
| truncated | boolean | — | True when results were capped at the limit and more providers may exist. Absent when not capped. |
No examples provided.