Skip to main content
Glama

Compare Broadband Coverage Across Areas

fcc_compare_areas
Read-onlyIdempotent

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).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sort_byNo"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+ providers. Every option ranks worst-first, so rank 1 is the highest unserved share or headcount, or the lowest coverage or competitive share.unserved_pct
speed_downNoDownload speed threshold in Mbps. 25 = FCC legacy standard. 100 = BEAD program standard.25
tech_filterNoTechnology filter. "acfosw" = any wired or fixed wireless. "f" = fiber only. "c" = cable only. "a" = DSL. "s" = satellite. "w" = fixed wireless.acfosw
geography_idsNoArray of FIPS GEOIDs to compare (up to 50). For all 50 states, omit and set compare_all_states=true.
geography_typeYesGeographic level to compare. Must be uniform across all geographies in the comparison.
compare_all_statesNoWhen true, compares all 50 states + DC. Overrides geography_ids. Requires geography_type="state".

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
areasNoRanked comparison of geographies by the selected sort field.
errorNoPresent when the call failed. Absent on success.
sortByNoRanking field used.
techFilterNoTechnology filter applied.
totalAreasNoTotal number of areas compared.
dataVintageNoData vintage — Form 477 data as of June 2021.
geographyTypeNoGeography type compared.
speedDownMbpsNoSpeed threshold in Mbps.
appliedFiltersNoFilters and parameters applied to this comparison.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, covering the safety profile. The description adds valuable behavioral context beyond that: the ranking behavior (sorted by unserved/underserved population), the data vintage (FCC Form 477 as of June 2021), and the limit of 50 geography IDs with the compare_all_states override. These are useful and non-contradictory.

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 front-loaded with the core purpose in the first sentence, then adds a use case, parameter notes, and data source in a logical order. Every sentence earns its place, with no filler or repetition. It is concise and well-structured.

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?

Given that an output schema exists (as indicated by context signals) and all parameters have rich schema descriptions, the description covers all necessary operational details: what it does, how to use it (with limits), and the data source. Nothing an agent needs to call it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description repeats some parameter guidance (e.g., 'up to 50 geography IDs' and 'compare_all_states=true for all 50 states + DC'), but these are also present in the schema descriptions. It does not add meaning beyond what the schema already provides, so no bonus is warranted.

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

Purpose4/5

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

The description clearly states the tool 'compares broadband coverage metrics across multiple geographies of the same type' and returns a ranked table, which is a specific verb-resource pair. It also gives a concrete example question. However, it does not explicitly distinguish itself from sibling tools like fcc_get_coverage_summary or fcc_find_underserved, so it stops short of a 5.

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 provides clear context for when to use this tool: to answer 'which counties in this state have the worst broadband access?' and for BEAD funding prioritization. It does not mention when not to use it or name alternative tools, so it meets the bar for 'clear context, no exclusions' rather than explicit when/when-not guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a distinct resource and action: geocoding, availability lookup, provider search, provider details, coverage summaries, area comparisons, underserved analysis, data version listing, and file downloads. No two tools have overlapping purposes.

Naming Consistency5/5

All tools follow the `fcc_` prefix plus a clear verb_noun pattern (e.g., `fcc_geocode_block`, `fcc_search_availability`, `fcc_list_downloads`). Naming is consistent snake_case with a predictable structure.

Tool Count5/5

9 tools is well-scoped for a domain-specific data server. Each tool earns its place, covering the core workflow of geocoding, availability, provider lookup, coverage analysis, and data file access without redundancy.

Completeness4/5

The tool set covers the essential lifecycle: geocode → search availability, search providers → get provider, coverage summaries, comparisons, and data file discovery. Minor gaps exist (e.g., no direct address search, but geocoding prerequisites handle it), but the surface is comprehensive for FCC broadband analysis.