Skip to main content
Glama

FCC Broadband Map

Server Details

Broadband availability, providers, speeds, and BEAD classification from the FCC

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 4 of 4 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct scope: location point, county, state, and providers in county. There is no overlap in purpose, and descriptions clearly differentiate them.

Naming Consistency5/5

All tools follow the pattern 'get_<object>_by_<scope>' (e.g., get_broadband_by_location, get_providers_by_county). The naming is consistent and predictable.

Tool Count5/5

With 4 tools, the server covers the essential query types for broadband data (location, county summary, state summary, provider list). The count is well-scoped without being excessive.

Completeness4/5

The set covers the main use cases for querying FCC broadband data. Minor gaps exist, such as no batch or multi-location query, but core CRUD-like operations are present for a read-only API.

Available Tools

4 tools
get_broadband_by_locationAInspect

Get broadband providers and availability at a specific lat/lon location.

Returns a list of broadband providers serving the location with their
advertised download/upload speeds and technology types. Includes BEAD
classification (unserved/underserved/served) based on max available speeds.

NOTE: The FCC Broadband Map API has bot protection and may reject requests.
If you get an error, the API endpoint may have changed. The FCC updates
this API frequently without notice.

Args:
    latitude: Location latitude (e.g. 38.8977 for Washington DC).
    longitude: Location longitude (e.g. -77.0365 for Washington DC).
    technology_code: Filter by technology (0=All, 10=Copper, 40=Cable,
                    50=Fiber, 60=Satellite, 70=Fixed Wireless).
    speed_download: Minimum download speed in Mbps (default 25).
    speed_upload: Minimum upload speed in Mbps (default 3).
    as_of_date: BDC filing date in YYYY-MM-DD format (default 2024-06-30).
ParametersJSON Schema
NameRequiredDescriptionDefault
latitudeYes
longitudeYes
as_of_dateNo2024-06-30
speed_uploadNo
speed_downloadNo
technology_codeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations, so description provides good disclosure: it's a read operation, returns a list, and warns about external API fragility. Lacks explicit statement about read-only or auth needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with general description, note, and args. Slightly lengthy but all sentences add value. Front-loaded with purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, the description covers all 6 parameters, explains return values (speeds, tech, BEAD), and includes crucial context about FCC API volatility. Output schema exists, so return details are not needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but description includes an 'Args:' section explaining each parameter with examples, defaults, and valid values (e.g., technology_code enum). Fully compensates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it gets broadband providers at a specific lat/lon, with specific returns (speeds, technology, BEAD). It distinguishes from siblings that are summaries by county/state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies use for point locations, and includes an important note about FCC API bot protection and changes. Lacks explicit when-not-to-use or direct comparison to siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_broadband_summary_by_countyAInspect

Get broadband availability statistics for a county.

Returns aggregated broadband data including provider counts, technology
availability, and BEAD-relevant metrics (unserved/underserved/served
location percentages).

NOTE: County-level summary endpoints may not be directly available in all
API versions. This tool attempts multiple endpoint patterns.

Args:
    county_fips: 5-digit county FIPS code (e.g. '11001' for Washington DC,
                 '53033' for King County WA). Always a string, never an integer.
    speed_download: Minimum download speed threshold in Mbps (default 25).
    speed_upload: Minimum upload speed threshold in Mbps (default 3).
    as_of_date: BDC filing date in YYYY-MM-DD format (default 2024-06-30).
ParametersJSON Schema
NameRequiredDescriptionDefault
as_of_dateNo2024-06-30
county_fipsYes
speed_uploadNo
speed_downloadNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses the fallback behavior (attempts multiple endpoint patterns) and lists return metrics. However, it lacks information on authentication needs, rate limits, error handling, or potential destructive actions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with a main sentence, a list of return content, a usage note, and parameter docstrings. It is front-loaded with purpose. While a bit lengthy, every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description appropriately focuses on input parameters and behavioral notes. The note about API version variability is important context. All four parameters are explained. The description is sufficient for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains each parameter in detail: county_fips with examples and type enforcement, speed thresholds with defaults, and date format. This adds essential meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'broadband summary by county', listing specific metrics (provider counts, technology availability, BEAD metrics). It differentiates from siblings like get_broadband_summary_by_state and get_providers_by_county by specifying the geographic level.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a note about API version availability and that the tool attempts multiple endpoint patterns, which provides context on when it might be used. However, it does not explicitly state when to use this tool over alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_broadband_summary_by_stateAInspect

Get state-level broadband availability summary.

Returns aggregated broadband statistics for the state including provider
counts and technology deployment. Useful for BEAD program analysis to
identify states with significant unserved/underserved populations.

Args:
    state_fips: 2-digit state FIPS code (e.g. '53' for Washington, '11' for DC).
                Always a string, never an integer.
    speed_download: Minimum download speed threshold in Mbps (default 25).
    speed_upload: Minimum upload speed threshold in Mbps (default 3).
    as_of_date: BDC filing date in YYYY-MM-DD format (default 2024-06-30).
ParametersJSON Schema
NameRequiredDescriptionDefault
as_of_dateNo2024-06-30
state_fipsYes
speed_uploadNo
speed_downloadNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It describes the tool as returning data and lists parameters, which implies a read-only operation. However, it does not explicitly state that no data is modified, nor does it cover error handling or authentication requirements. The description is adequate but not rich in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: two lines of purpose and an args list. Every sentence earns its place, and the structure is front-loaded with the key action and outcome. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (so return values are covered), 4 parameters, and sibling tools, the description covers the essential purpose and parameter semantics. It lacks guidance on error conditions or data availability, but for a summary data retrieval tool, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description's 'Args' section adds substantial meaning: it explains state_fips format with examples, clarifies speed thresholds as 'minimum', and specifies the date format and default. This fully compensates 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a state-level broadband availability summary and mentions provider counts and technology deployment. It differentiates from siblings like get_broadband_summary_by_county and get_broadband_by_location by specifying state aggregation and a use case (BEAD program analysis).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear context for use (BEAD program analysis) but does not explicitly exclude alternatives or provide when-not-to-use guidance. Sibling tools exist for county-level or location-level data, but the description does not direct the agent to those when finer granularity is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_providers_by_countyAInspect

Get list of broadband providers serving a county.

Returns provider names, technology types, and speed tiers available
in the specified county. Useful for BEAD applications to identify
which providers serve an area and what technologies they deploy.

Args:
    county_fips: 5-digit county FIPS code (e.g. '11001' for Washington DC,
                 '53033' for King County WA). Always a string, never an integer.
    technology_code: Filter by technology (0=All, 10=Copper, 40=Cable,
                    50=Fiber, 60=Satellite, 70=Fixed Wireless).
    speed_download: Minimum download speed threshold in Mbps (default 25).
    speed_upload: Minimum upload speed threshold in Mbps (default 3).
    as_of_date: BDC filing date in YYYY-MM-DD format (default 2024-06-30).
ParametersJSON Schema
NameRequiredDescriptionDefault
as_of_dateNo2024-06-30
county_fipsYes
speed_uploadNo
speed_downloadNo
technology_codeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes parameters but does not disclose behavioral traits like idempotency, data freshness, rate limits, or authentication requirements. The read-only nature is implied but not stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: a single sentence for purpose, one for return value and usage, followed by a structured parameter list. Every part earns its place without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters and no schema descriptions, the description adequately covers purpose, parameters, and usage context. An output schema exists, so the lack of explicit return format details is acceptable. It could mention that result order is undefined.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description compensates for 0% schema description coverage by providing detailed explanations for each parameter, including examples (county_fips '11001'), enumerated technology_code values, and default values. This adds significant meaning beyond the schema's title fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get list of broadband providers serving a county' and specifies the return fields (provider names, technology types, speed tiers). It distinguishes from sibling tools (by_location, summary) by focusing on a detailed county-level provider list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'useful for BEAD applications to identify which providers serve an area,' which gives context but does not explicitly compare with siblings or state when not to use it. Alternative tools can be inferred from names, but no direct guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources