# fcc-broadband-mcp-server MCP server

FCC broadband availability, coverage analysis, and digital divide data for US geographies.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-cyanheads-fcc-broadband-mcp-server
- Repository: https://github.com/cyanheads/fcc-broadband-mcp-server

## Install
- Command: `npx -y @cyanheads/fcc-broadband-mcp-server`
- Endpoint: https://fcc-broadband.caseyjhand.com/mcp
- Auth: Not captured

## Setup notes
- Package: Npm @cyanheads/fcc-broadband-mcp-server v0.1.12
- Environment variable: FCC_BDC_USERNAME
- Environment variable: FCC_BDC_HASH_VALUE
- Environment variable: FCC_OPENDATA_APP_TOKEN
- Environment variable: FCC_MIRROR_ENABLED (default false)
- Environment variable: FCC_MIRROR_PATH (default data/fcc-mirror)
- Environment variable: MCP_LOG_LEVEL (default info)
- Package: Npm @cyanheads/fcc-broadband-mcp-server v0.1.12
- Environment variable: FCC_BDC_USERNAME
- Environment variable: FCC_BDC_HASH_VALUE
- Environment variable: FCC_OPENDATA_APP_TOKEN
- Environment variable: FCC_MIRROR_ENABLED (default false)
- Environment variable: FCC_MIRROR_PATH (default data/fcc-mirror)
- Environment variable: MCP_HTTP_HOST (default 127.0.0.1)
- Environment variable: MCP_HTTP_PORT (default 3010)
- Environment variable: MCP_HTTP_ENDPOINT_PATH (default /mcp)
- Environment variable: MCP_AUTH_MODE (default none)
- Environment variable: MCP_LOG_LEVEL (default info)
- Remote endpoint: https://fcc-broadband.caseyjhand.com/mcp

## Tools
- fcc_geocode_block (Geocode Census Block) - 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. The block is resolved against 2010 census boundaries, the vintage the Form 477 deployment dataset is keyed by, so the returned blockFips can be passed straight to fcc_search_availability; a 2020-vintage block ID from another source will not match. Uses the FCC public Geo API — no authentication required. Endpoint: https://fcc-broadband.caseyjhand.com/mcp
- fcc_search_availability (Search Broadband Availability) - 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. Endpoint: https://fcc-broadband.caseyjhand.com/mcp
- fcc_get_coverage_summary (Get Broadband Coverage Summary) - 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. Endpoint: https://fcc-broadband.caseyjhand.com/mcp
- fcc_search_providers (Search Broadband Providers) - 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. Against the live FCC API the search reads a bounded window of deployment rows to find which holding companies match, so when scanTruncated comes back true the providers are a sample of the matches rather than every one of them and no true match count is available; a narrower filter raises the share of matches the sample surfaces but cannot make it complete, and only a deployment running the local Form 477 mirror returns every match. The sample is of which companies come back — every company that does carries its complete national footprint, since statesServed and techCodes are resolved per company rather than read off the window, at the cost of one lookup per provider returned. Data is from FCC Form 477 (as of June 2021). Endpoint: https://fcc-broadband.caseyjhand.com/mcp
- fcc_get_provider (Get Provider Profile) - Returns a national-level coverage profile for a specific holding company (by hoconum): technologies deployed and the population covered at each download speed tier. Population figures come from the FCC provider summary table and count each person once, regardless of how many technologies the provider uses to reach them. Use fcc_search_providers to find valid hoconum values. Data is from FCC Form 477 (as of June 2021). Endpoint: https://fcc-broadband.caseyjhand.com/mcp
- fcc_compare_areas (Compare Broadband Coverage Across Areas) - 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). Endpoint: https://fcc-broadband.caseyjhand.com/mcp
- fcc_find_underserved (Find Underserved Areas) - 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). Endpoint: https://fcc-broadband.caseyjhand.com/mcp
- fcc_list_filing_periods (List Filing Periods) - 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). Endpoint: https://fcc-broadband.caseyjhand.com/mcp
- fcc_list_downloads (List BDC Downloads) - 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); a date that is not on the calendar, or that falls before the first BDC period, is rejected without credentials, while a well-formed date the BDC API does not publish is rejected once credentials let the published set be read. One as-of date can carry thousands of per-provider files, so results come back a page at a time: totalFiles counts every file matching the filters, the response reports the offset and the count on this page, and it carries a nextOffset to pass back for the following page until the last one, which omits it. Endpoint: https://fcc-broadband.caseyjhand.com/mcp

## Resources
- fcc-broadband://providers/list/0 - fcc-broadband-providers-list One page of the Form 477 holding-company directory: up to 25 holding company numbers (hoconum) ordered by hoconum ascending, each resolved to its company name. Read fcc-broadband://providers/list/0 for the first page, then follow the nextOffset each response carries; every page also reports the directory total. Paging is for browsing the directory — to find one company by name, call fcc_search_providers instead. Feed a hoconum to fcc_get_provider for that company national coverage profile. Data is as of June 2021. MIME type: application/json

## Prompts
- broadband_equity_analysis - Structures a digital divide analysis comparing broadband access across demographic groups. Guides chaining FCC broadband data with Census demographics and BLS labor statistics. Arguments: region, focus

## Metadata
- Owner: io.github.cyanheads
- Version: 0.1.12
- Runtime: Npm
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jul 2, 2026
- Source: https://registry.modelcontextprotocol.io
