CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Fcc Broadband Mcp Server

cyanheads/fcc-broadband-mcp-server
1STDIO, HTTPregistry active
Summary

Wraps the FCC's broadband deployment and coverage APIs for address-level availability lookups, census block geocoding, and digital divide analysis across US geographies. The nine tools cover block-to-FIPS conversion, provider search by coordinates or holding company, coverage summaries at state/county/congressional district/tribal land levels, and comparative ranking by unserved population. Speed thresholds go up to gigabit, with filters for technology type and urban/rural/tribal segments. Includes BDC bulk download manifests for researchers who need raw extracts. Built for BEAD program eligibility work, broadband equity research, and ISP competitive analysis where you need FCC Form 477 or BDC data without writing your own API client.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

@cyanheads/fcc-broadband-mcp-server

Access FCC broadband availability, coverage analysis, and digital divide data for US geographies and census blocks via MCP. STDIO or Streamable HTTP.

9 Tools • 2 Resources • 1 Prompt

Version License Docker MCP SDK npm TypeScript Bun

Install in Claude Desktop Install in Cursor Install in VS Code

Framework

Public Hosted Server: https://fcc-broadband.caseyjhand.com/mcp


Tools

9 tools for working with FCC broadband data — block-level availability, geography-level coverage analysis, provider search, and BDC bulk download manifests:

ToolDescription
fcc_geocode_blockConverts a latitude/longitude coordinate to a census block FIPS code (15-digit), county FIPS, county name, state FIPS, state code, and state name. Required prerequisite for fcc_search_availability.
fcc_search_availabilityQueries broadband providers and advertised speeds at a census block, filtered by technology type and speed threshold. The starting point for any address-level broadband lookup.
fcc_get_coverage_summaryReturns 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.
fcc_compare_areasCompares broadband coverage metrics across multiple geographies of the same type and returns a ranked table sorted by unserved or underserved population.
fcc_find_underservedFinds geographic areas with limited or no broadband coverage at a given speed threshold, ranked by underserved population. The core tool for BEAD program analysis and broadband equity research.
fcc_search_providersSearches for ISPs by holding company name, filtered by state and technology type. Returns a deduplicated list with hoconum identifiers for follow-up calls.
fcc_get_providerReturns a national-level coverage profile for a specific holding company — states served, technologies deployed, and locations covered at each speed tier.
fcc_list_filing_periodsReturns available data vintages: Form 477 filing periods (Jun 2015–Jun 2021) and BDC as-of dates (Jun 2022 onward, requires credentials).
fcc_list_downloadsLists downloadable BDC data files for a specific as-of date — availability by state and provider, mobile coverage, and challenge data. Requires BDC API credentials.

fcc_geocode_block

Convert geographic coordinates to a census block FIPS code for broadband availability lookups.

  • Calls the FCC Geo API — no auth required, no rate limit documented
  • Returns 15-digit block FIPS, 5-digit county FIPS, county name, state FIPS, 2-letter state code, and state name
  • Required first step before fcc_search_availability — the broadband deployment dataset is indexed by census block, not address

fcc_search_availability

Query which ISPs serve a specific census block and what speeds they advertise.

  • Requires a 15-digit census block FIPS; use fcc_geocode_block to convert coordinates first
  • Filter by technology code (fiber=50, cable=40–43, DSL=10–12, satellite=60, fixed wireless=70)
  • Filter by minimum advertised download speed in Mbps
  • Filter to consumer-only or business-only service
  • Returns per-provider records with hoconum, techcode, maxaddown, maxadup, consumer, business
  • Coverage is Form 477 data through June 2021 — reflects ISP-reported availability at census block granularity (not address-level)

fcc_get_coverage_summary

Analyze broadband access across any US geography at a given speed threshold.

  • Supports seven geography types: nation, state, county, cd (congressional district), place (census-designated place), cbsa (metro area), tribal
  • Technology filter: any wired/fixed wireless (acfosw), fiber only (f), cable (c), DSL (a), satellite (s), fixed wireless (w), or combinations
  • Speed thresholds: 0.2, 4, 10, 25 (FCC legacy broadband definition), 100 (BEAD standard), 250, 1000 Mbps
  • Returns population breakdowns: zero providers (unserved), one (no competition), two, three-plus; coverage %, unserved %, competitive %
  • Per-segment breakdown by urban/rural and tribal/non-tribal for equity analysis

fcc_compare_areas

Rank geographies by broadband access metrics to identify where underservice is worst.

  • Compare up to 50 geographies of the same type, or all 50 states + DC via compare_all_states: true
  • Sort by unserved population share, raw unserved headcount (useful for BEAD funding allocation), coverage rate, or competitive share
  • Returns a ranked table with per-geography population and coverage metrics

fcc_find_underserved

Find the most broadband-underserved areas within a state or nationwide.

  • Scope to a specific state or run nationwide (returns top areas only)
  • Geography granularity: county, congressional district, census place, or CBSA
  • Default filter: rural areas only — where underservice is most concentrated
  • Minimum unserved population threshold to exclude very small areas
  • Results ranked by unserved population percentage

fcc_search_providers

Look up ISPs by name or state to get hoconum identifiers for follow-up queries.

  • Case-insensitive partial name match — e.g., "Comcast", "T-Mobile", "Frontier"
  • Filter by 2-letter state abbreviation or technology code
  • Returns deduplicated holding companies with hoconum, states served, and technology codes
  • Geographic filtering is state-level; sub-state granularity requires cross-referencing block data via fcc_search_availability
  • Up to 200 results per call

fcc_list_filing_periods

Discover valid data vintages before querying download manifests.

  • Form 477 periods (Jun 2015–Jun 2021) are hardcoded — always available, no credentials needed
  • BDC as-of dates (Jun 2022 onward) are fetched live from the authenticated API — requires FCC_BDC_USERNAME and FCC_BDC_HASH_VALUE
  • Call before fcc_list_downloads to determine valid as_of_date values

fcc_list_downloads

List BDC bulk data files available for download for a specific filing period.

  • Requires BDC API credentials (FCC_BDC_USERNAME, FCC_BDC_HASH_VALUE)
  • Filter by data type (availability or challenge), file category, technology type, state, or provider name
  • Returns file metadata — provider, state, technology, record count — plus download URLs
  • Returns file manifests, not file contents; BDC CSVs are large zipped files not suitable for inline API response

Resources and prompts

TypeNameDescription
Resourcefcc-broadband://geography/{type}/{id}/summaryBroadband coverage summary for a specific geography: provider counts by speed tier, urban/rural split, tribal breakdown. Addressable by type and GEOID.
Resourcefcc-broadband://providers/listList of all Form 477 holding companies with hoconum identifiers and names. Reference for resolving hoconum before calling fcc_get_provider.
Promptbroadband_equity_analysisStructures a digital divide analysis comparing broadband access across demographic groups — guides chaining with Census and BLS data. Accepts region and focus (underserved, rural, tribal, all).

All resource data is also reachable via tools. The providers/list resource is derived from the deployment table via $group aggregation — use fcc_search_providers for filtered lookups.

Features

Built on @cyanheads/mcp-ts-core:

  • Declarative tool, resource, and prompt definitions — single file per primitive, framework handles registration and validation
  • Unified error handling — handlers throw, framework catches, classifies, and formats
  • Pluggable auth: none, jwt, oauth
  • Swappable storage backends: in-memory, filesystem, Supabase, Cloudflare KV/R2/D1
  • Structured logging with optional OpenTelemetry tracing
  • STDIO and Streamable HTTP transports

FCC broadband-specific:

  • Wraps three FCC data sources: Form 477 public data via Socrata (no auth, 2015–2021), BDC Public Data API (authenticated, Jun 2022 onward), and FCC Geo API (no auth)
  • Auth-optional design — BDC tools return a structured credentials_required error with setup instructions when credentials are absent; all Form 477 and geocoding tools always work without credentials
  • Area Table aggregation for equity analysis — uses the pre-aggregated geography table (xvwq-qtaj) instead of querying the 50M-row deployment table, enabling fast coverage analysis at county and state scale
  • All data is US federal government public domain (17 USC §105) — safe to distribute and cache

Agent-friendly output:

  • Structured error contracts on every tool — typed error codes (block_not_found, credentials_required, geography_not_found, invalid_as_of_date) with actionable next-step hints so agents can recover without parsing text
  • Per-segment breakdowns in coverage tools — urban/rural and tribal/non-tribal split in fcc_get_coverage_summary outputs so agents can target equity analysis without additional queries
  • Two-era data coverage bridged transparently — Form 477 (2015–2021) and BDC (2022–present) exposed through a unified tool surface, with data ceiling documented in tool descriptions so agents can surface limitations accurately

Getting started

Public Hosted Instance

A public instance is available at https://fcc-broadband.caseyjhand.com/mcp — no installation required. Point any MCP client at it via Streamable HTTP:

{
  "mcpServers": {
    "fcc-broadband-mcp-server": {
      "type": "streamable-http",
      "url": "https://fcc-broadband.caseyjhand.com/mcp"
    }
  }
}

Self-Hosted / Local

Add the following to your MCP client configuration file.

{
  "mcpServers": {
    "fcc-broadband-mcp-server": {
      "type": "stdio",
      "command": "bunx",
      "args": ["@cyanheads/fcc-broadband-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info"
      }
    }
  }
}

Or with npx (no Bun required):

{
  "mcpServers": {
    "fcc-broadband-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@cyanheads/fcc-broadband-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info"
      }
    }
  }
}

For Streamable HTTP, set the transport and start the server:

MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http
# Server listens at http://localhost:3010/mcp

Prerequisites

  • Bun v1.3.0 or higher (or Node.js v24+).
  • Optional: FCC BDC credentials for fcc_list_downloads and BDC filing periods. Generate a token at broadbandmap.fcc.gov under "Manage API Access" — no OAuth, manual token generation only.
  • Optional: Socrata app token (FCC_OPENDATA_APP_TOKEN) for higher rate limits on Form 477 queries.

Installation

  1. Clone the repository:
git clone https://github.com/cyanheads/fcc-broadband-mcp-server.git
  1. Navigate into the directory:
cd fcc-broadband-mcp-server
  1. Install dependencies:
bun install
  1. Configure environment:
cp .env.example .env
# edit .env and set required vars

Configuration

All configuration is validated at startup via Zod schemas in src/config/. Key environment variables:

VariableDescriptionDefault
MCP_TRANSPORT_TYPETransport: stdio or httpstdio
MCP_HTTP_PORTHTTP server port3010
MCP_HTTP_ENDPOINT_PATHHTTP endpoint path/mcp
MCP_PUBLIC_URLPublic origin override for TLS-terminating reverse-proxy deploymentsnone
MCP_AUTH_MODEAuthentication: none, jwt, or oauthnone
MCP_LOG_LEVELLog level (debug, info, warning, error, etc.)info
LOGS_DIRDirectory for log files (Node.js only)<project-root>/logs
STORAGE_PROVIDER_TYPEStorage backend: in-memory, filesystem, supabase, cloudflare-kv/r2/d1in-memory
FCC_BDC_USERNAMEFCC account email for BDC API. Without this, fcc_list_downloads and BDC-era fcc_list_filing_periods return a credentials_required error.none
FCC_BDC_HASH_VALUEAPI token hash from broadbandmap.fcc.gov "Manage API Access". Paired with FCC_BDC_USERNAME.none
FCC_OPENDATA_APP_TOKENSocrata app token. Increases rate limits on Form 477 queries; not required for functionality.none
OTEL_ENABLEDEnable OpenTelemetry instrumentationfalse

See .env.example for the full list of optional overrides.

Running the server

Local development

  • Build and run:

    # One-time build
    bun run rebuild
    
    # Run the built server
    bun run start:stdio
    # or
    bun run start:http
    
  • Run checks and tests:

    bun run devcheck   # Lint, format, typecheck, security
    bun run test       # Vitest test suite
    bun run lint:mcp   # Validate MCP definitions against spec
    

Docker

docker build -t fcc-broadband-mcp-server .
docker run --rm -e MCP_TRANSPORT_TYPE=http -p 3010:3010 fcc-broadband-mcp-server

The Dockerfile defaults to HTTP transport and stateless session mode, logging to /var/log/fcc-broadband-mcp-server. OpenTelemetry peer dependencies are installed by default — build with --build-arg OTEL_ENABLED=false to omit them.

Project structure

DirectoryPurpose
src/index.tscreateApp() entry point — registers tools, resources, and prompts and inits services.
src/configServer-specific environment variable parsing and validation with Zod.
src/mcp-server/toolsTool definitions (*.tool.ts). Nine tools across FCC Open Data, BDC API, and Geo API.
src/mcp-server/resourcesResource definitions (*.resource.ts). Geography summary and provider list resources.
src/mcp-server/promptsPrompt definitions (*.prompt.ts). Broadband equity analysis prompt.
src/services/open-dataFCC Open Data Socrata service — Form 477 deployment and area table queries.
src/services/bdc-apiBDC Public Data API service — authenticated filing period and download manifest endpoints.
src/services/geo-apiFCC Geo API service — lat/lon to census block FIPS conversion.
tests/Unit and integration tests mirroring src/.

Development guide

See CLAUDE.md for development guidelines and architectural rules. The short version:

  • Handlers throw, framework catches — no try/catch in tool logic
  • Use ctx.log for request-scoped logging, ctx.state for tenant-scoped storage
  • Register new tools and resources via the barrels in src/mcp-server/*/definitions/index.ts
  • Wrap external API calls: validate raw → normalize to domain type → return output schema; never fabricate missing fields
  • Socrata returns all numeric fields as strings — parse has_0, has_1, has_2, has_3more, maxaddown, maxadup as integers

Contributing

Issues and pull requests are welcome. Run checks and tests before submitting:

bun run devcheck
bun run test

License

Apache-2.0 — see LICENSE for details.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

MCP_LOG_LEVELdefault: info

Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

MCP_HTTP_HOSTdefault: 127.0.0.1

The hostname for the HTTP server.

MCP_HTTP_PORTdefault: 3010

The port to run the HTTP server on.

MCP_HTTP_ENDPOINT_PATHdefault: /mcp

The endpoint path for the MCP server.

MCP_AUTH_MODEdefault: none

Authentication mode to use: 'none', 'jwt', or 'oauth'.

Categories
Data & Analytics
Registryactive
Package@cyanheads/fcc-broadband-mcp-server
TransportSTDIO, HTTP
UpdatedJun 4, 2026
View on GitHub

Related Data & Analytics MCP Servers

View all →
Google Sheets

com.mcparmory/google-sheets

Create, read, and modify spreadsheet data, formatting, and sheets
25
Google Sheets

domdomegg/google-sheets-mcp

Allow AI systems to read, write, and query spreadsheet data via Google Sheets.
2
Google Sheets Mcp

henilcalagiya/google-sheets-mcp

Powerful tools for automating Google Sheets using Model Context Protocol (MCP)
14
Futuristic Risk Intelligence

cct15/war-dashboard-data

Geopolitical conflict risk, political events, and maritime traffic data for AI agents
1
Mcp Google Sheets Full

moooonad/mcp-google-sheets-full

Full Google Sheets MCP: 26 tools + run_sheets_script escape hatch. User OAuth, no service account.
CSV to JSON API

io.github.br0ski777/csv-to-json

Parse CSV to JSON array. Auto-detect delimiter, headers. x402 micropayment.