Skip to main content
Glama

fcc-spectrum-mcp-server

Find FCC-licensed transmitters near a point

fcc_spectrum_find_transmitters
Read-onlyIdempotent

Find FCC-licensed transmitter sites within a radius of a coordinate, nearest first, each with its callsign, licensee, distance, coordinates, location type, ground elevation, structure height, and the frequencies authorized there. Filter by frequency or band, radio service, location type, and live status (active by default). Coordinates are decimal degrees or DMS strings. Mobile and temporary-fixed operating areas are filed as a center and a radius of operation: they are returned at their center with radiusKm, and match when the center lies within radius_km. Locations filed without coordinates are not returned, and market-area licenses without site records are found with fcc_spectrum_search_frequencies.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
unitNoUnit of the frequencies: kHz, MHz (default), or GHz.MHz
limitNoSites per page (1–100).
cursorNonextCursor from the previous page of the same search; omit for the first page.
statusNoA active (default), L pending legal, X term pending, or "any" for all three. Other statuses keep no site records.A
latitudeYesSearch center latitude: decimal degrees (47.6205, "47.6205") or a DMS string with hemisphere ("47-37-13.8 N", "47°37'13.8"N").
longitudeYesSearch center longitude: decimal degrees (-122.3493) or a DMS string with hemisphere ("122-20-57.5 W").
radius_kmNoSearch radius in km (0.1–100).
frequency_lowNoOnly sites authorized on this frequency, in unit; with frequency_high, the band's lower edge. Matches any assignment whose occupied band overlaps.
location_typeNoOne ULS location type code, case-insensitive: "F" keeps fixed sites only, "M" mobile and "T" temporary-fixed operating areas; see fcc_spectrum_list_reference topic "location_types". Omit for every type.
radio_serviceNoTwo-character radio service code, e.g. "IG" (industrial/business pool); see fcc_spectrum_list_reference topic "radio_services".
frequency_highNoBand upper edge in unit; requires frequency_low.
max_frequencies_per_siteNoMost frequencies listed per site (1–50); frequencyCount carries the full count.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
capNoThe page limit applied.
errorNoPresent when the call failed. Absent on success.
shownNoSites on this page.
sitesNoTransmitter sites, nearest first.
noticeNoWhy nothing matched and how to widen the search, or how to page further.
dataAsOfNoCreation time of the newest applied ULS file (ISO 8601).
truncatedNoTrue when more sites follow this page.
nextCursorNoPass as cursor with the same inputs for the next page; absent on the last page.
totalCountNoSites within the radius matching the filters, across every page.
searchCenterNoThe search circle as the server applied it (DMS input converted).
appliedFiltersNoFilters as the server applied them, normalized values and defaults included.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already carry the safe-read profile (readOnlyHint, idempotentHint, openWorldHint=false), so the description's value is in edge-case behavior: non-coordinate filings are dropped, mobile/temporary areas are returned at their center with radiusKm and match on center-in-radius, and the active-status default. That is substantive beyond the structured fields, though the status default is also visible in the schema.

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?

Front-loaded with purpose and ordering, then edge cases; every sentence carries information. The mid-sentence enumeration of returned fields is slightly redundant given an output schema exists, but it costs little and the whole is a tight paragraph.

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?

For a 12-parameter, defaulted, paginated search tool with an output schema and full annotation coverage, the description supplies the remaining operational context an agent needs: defaults, exclusion behavior, and where to go for the one class of records this tool cannot return.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds cross-parameter semantics not obvious from the schema alone: coordinates accept decimal degrees or DMS strings, and the center-radius matching rule explains how radius_km interacts with mobile/temporary-fixed records. Frequency overlap matching is also clarified, though much of it is echoed in the 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?

States a specific verb and resource ('Find FCC-licensed transmitter sites within a radius'), fixes the ordering ('nearest first') and enumerates the salient returned attributes. It also differentiates itself from siblings by directing market-area license lookups to fcc_spectrum_search_frequencies.

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

Usage Guidelines5/5

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

Gives explicit when-to-use conditions (radius search near a coordinate), when-not (locations filed without coordinates are not returned; market-area licenses go to another tool), and the default filter state ('active by default'). The named alternative tool and the condition selecting it are spelled out, leaving nothing to inference.

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.