このMCPでできること
Searches FCC spectrum licenses, frequencies, transmitter sites, licensees, and nearby radio infrastructure.
ツール
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['latitude', 'longitude'], 'properties': {'unit': {'enum': ['kHz', 'MHz', 'GHz'], 'type': 'string', 'default': 'MHz', 'description': 'Unit of the frequencies: kHz, MHz (default), or GHz.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Sites per page (1â\x80\x93100).'}, 'cursor': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{1,200}$', 'description': 'nextCursor from the previous page of the same search; omit for the first page.'}, 'status': {'enum': ['A', 'L', 'X', 'any'], 'type': 'string', 'default': 'A', 'description': 'A active (default), L pending legal, X term pending, or "any" for all three. Other statuses keep no site records.'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Search center latitude: decimal degrees (47.6205, "47.6205") or a DMS string with hemisphere ("47-37-13.8 N", "47°37\'13.8"N").'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Search center longitude: decimal degrees (-122.3493) or a DMS string with hemisphere ("122-20-57.5 W").'}, 'radius_km': {'type': 'number', 'default': 5, 'maximum': 100, 'minimum': 0.1, 'description': 'Search radius in km (0.1â\x80\x93100).'}, 'frequency_low': {'type': 'number', 'description': "Only sites authorized on this frequency, in unit; with frequency_high, the band's lower edge. Matches any assignment whose occupied band overlaps.", 'exclusiveMinimum': 0}, 'location_type': {'enum': ['6', 'F', 'I', 'L', 'M', 'P', 'T'], 'type': 'string', 'description': 'One 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_service': {'type': 'string', 'pattern': '^[A-Z0-9]{2}$', 'description': 'Two-character radio service code, e.g. "IG" (industrial/business pool); see fcc_spectrum_list_reference topic "radio_services".'}, 'frequency_high': {'type': 'number', 'description': 'Band upper edge in unit; requires frequency_low.', 'exclusiveMinimum': 0}, 'max_frequencies_per_site': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Most frequencies listed per site (1â\x80\x9350); frequencyCount carries the full count.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['sites', 'dataAsOf', 'totalCount', 'truncated', 'shown', 'cap', 'searchCenter', 'appliedFilters']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'cap': {'type': 'number', 'description': 'The page limit applied.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['index_not_ready', 'invalid_frequency_range', 'unknown_radio_service', 'service_not_indexed', 'invalid_cursor'], 'description': 'Machine-readable failure mode. Declared by this tool: `index_not_ready`: No completed index generation is published yet. `invalid_frequency_range`: frequency_high is below frequency_low, is given without frequency_low, or the band exceeds 300 GHz. `unknown_radio_service`: The radio service code is neither in the FCC code table nor held by the index. `service_not_indexed`: The radio service code is valid but no indexed service group carries it. `invalid_cursor`: The cursor does not decode or belongs to an earlier index generation. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'shown': {'type': 'number', 'description': 'Sites on this page.'}, 'sites': {'type': 'array', 'items': {'type': 'object', 'required': ['usi', 'isLease', 'licenseStatus', 'radioServiceCode', 'radioServiceLabel', 'licenseeName', 'licenseeRedacted', 'locationNumber', 'distanceKm', 'latitude', 'longitude', 'frequencyCount', 'frequenciesShown', 'frequencies'], 'properties': {'usi': {'type': 'string', 'description': 'Unique system identifier of the license; pass it to fcc_spectrum_get_license.'}, 'state': {'type': 'string', 'description': 'Site state: as filed, or derived from the coordinates.'}, 'county': {'type': 'string', 'description': 'Site county, as filed.'}, 'isLease': {'type': 'boolean', 'description': 'True for a spectrum leasing arrangement.'}, 'callsign': {'type': 'string', 'description': 'Callsign, or lease ID on a lease.'}, 'latitude': {'type': 'number', 'description': 'Latitude as filed, decimal degrees (NAD83): the site, or the center of an operating area.'}, 'radiusKm': {'type': 'number', 'description': 'Radius of operation around latitude/longitude, km, as filed; mobile (M) and temporary-fixed (T) areas file one, and some fixed and other sites do. Absent when not filed.'}, 'asrNumber': {'type': 'string', 'description': 'FCC Antenna Structure Registration number: seven digits, never the 9999999 placeholder; omitted when the filing holds anything else (the placeholder, N/A, an application file number).'}, 'longitude': {'type': 'number', 'description': 'Longitude as filed, decimal degrees (NAD83): the site, or the center of an operating area.'}, 'distanceKm': {'type': 'number', 'description': 'Great-circle distance from the search center to latitude/longitude, km; for an operating area (radiusKm filed) that is its center, so the area can reach nearer.'}, 'frequencies': {'type': 'array', 'items': {'type': 'object', 'required': ['frequencyMhz', 'stationClasses', 'emissions'], 'properties': {'maxErpW': {'type': 'number', 'description': 'Highest effective radiated power filed, watts.'}, 'upperMhz': {'type': 'number', 'description': 'Upper edge when the assignment is a range, MHz.'}, 'emissions': {'type': 'array', 'items': {'type': 'string', 'description': 'One emission designator, e.g. "11K2F3E".'}, 'description': 'Distinct emission designators filed for this frequency.'}, 'maxEirpDbm': {'type': 'number', 'description': 'Highest effective isotropic radiated power filed, dBm.'}, 'bandwidthMhz': {'type': 'number', 'description': 'Widest necessary bandwidth parsed from the emission designators, MHz; a designator 20% of the assigned frequency or wider is a filing error and is left out.'}, 'frequencyMhz': {'type': 'number', 'description': 'Assigned (center) frequency, MHz.'}, 'stationClasses': {'type': 'array', 'items': {'type': 'string', 'description': 'One ULS class-of-station code, e.g. "FB2".'}, 'description': 'Distinct station classes filed for this frequency across antennas and modulation steps.'}}, 'description': 'One frequency authorized at the site, collapsed across antennas and modulation steps.', 'additionalProperties': False}, 'description': 'Frequencies at the site, ascending.'}, 'licenseeName': {'type': ['string', 'null'], 'description': 'Licensee (lessee on a lease) as filed; null when redacted or not on file.'}, 'licenseStatus': {'type': 'string', 'description': 'License status code (A, L, or X).'}, 'frequencyCount': {'type': 'number', 'description': 'Frequencies at the site (only those overlapping the band when one is given).'}, 'locationNumber': {'type': 'number', 'description': "Location number within the license; pass it as location_number to fcc_spectrum_get_license to read the location's antennas and frequencies."}, 'overallHeightM': {'type': 'number', 'description': 'Overall structure height, meters.'}, 'frequenciesShown': {'type': 'number', 'description': 'Frequencies listed, after max_frequencies_per_site.'}, 'groundElevationM': {'type': 'number', 'description': 'Ground elevation, meters above mean sea level.'}, 'licenseeRedacted': {'type': 'boolean', 'description': 'True when the licensee is an individual whose name is withheld.'}, 'locationTypeCode': {'type': 'string', 'description': 'ULS location type code, e.g. F (fixed), M (mobile), T (temporary fixed); absent when not filed.'}, 'radioServiceCode': {'type': 'string', 'description': 'Two-character ULS radio service code.'}, 'locationTypeLabel': {'type': 'string', 'description': 'Label of the location type code, e.g. "Mobile"; absent when no type is filed.'}, 'radioServiceLabel': {'type': 'string', 'description': 'Label of the radio service code.'}, 'sitesSharingNumber': {'type': 'number', 'description': "Sites the license files under this location number, when more than one; each is returned as its own site, and frequencies then lists the number's frequencies, since ULS does not say which site uses each."}, 'stateFromCoordinates': {'type': 'boolean', 'description': 'True when state was derived from the coordinates rather than filed.'}}, 'description': 'One transmitter site.', 'additionalProperties': False}, 'description': 'Transmitter sites, nearest first.'}, 'notice': {'type': 'string', 'description': 'Why nothing matched and how to widen the search, or how to page further.'}, 'dataAsOf': {'type': 'string', 'description': 'Creation time of the newest applied ULS file (ISO 8601).'}, 'truncated': {'type': 'boolean', 'description': 'True when more sites follow this page.'}, 'nextCursor': {'type': 'string', 'description': 'Pass as cursor with the same inputs for the next page; absent on the last page.'}, 'totalCount': {'type': 'number', 'description': 'Sites within the radius matching the filters, across every page.'}, 'searchCenter': {'type': 'object', 'required': ['latitude', 'longitude', 'radiusKm'], 'properties': {'latitude': {'type': 'number', 'description': 'Center latitude, decimal degrees.'}, 'radiusKm': {'type': 'number', 'description': 'Search radius, km.'}, 'longitude': {'type': 'number', 'description': 'Center longitude, decimal degrees.'}}, 'description': 'The search circle as the server applied it (DMS input converted).', 'additionalProperties': False}, 'appliedFilters': {'type': 'object', 'required': ['status', 'max_frequencies_per_site'], 'properties': {'status': {'type': 'string', 'description': 'Status filter, default included.'}, 'location_type': {'type': 'string', 'description': 'Location type code filter.'}, 'radio_service': {'type': 'string', 'description': 'Radio service code filter.'}, 'frequency_low_mhz': {'type': 'number', 'description': 'Band lower edge, converted to MHz.'}, 'frequency_high_mhz': {'type': 'number', 'description': 'Band upper edge, converted to MHz.'}, 'max_frequencies_per_site': {'type': 'number', 'description': 'Per-site frequency cap applied.'}}, 'description': 'Filters as the server applied them, normalized values and defaults included.', 'additionalProperties': False}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'usi': {'type': 'string', 'pattern': '^[1-9]\\d{0,9}$', 'description': 'Unique system identifier, as digits: the usi field of fcc_spectrum_search_licenses, fcc_spectrum_find_transmitters, or fcc_spectrum_search_frequencies results. Pass this or callsign, not both.'}, 'callsign': {'type': 'string', 'pattern': '^[A-Z0-9]{3,10}$', 'description': 'Callsign or lease ID, e.g. "KNKA123" or "L000012345". Case, spaces, and one trailing portable suffix ("/4") are normalized. Pass this or usi, not both.'}, 'lease_offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Lease to start at, counted from 0 in lease-ID order; pass nextLeaseOffset from the previous call to read the next 100.'}, 'location_number': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Location number to start at: the locationNumber of a fcc_spectrum_find_transmitters or fcc_spectrum_search_frequencies result. A number the record does not file starts at the next one it does. Pass this or a nonzero location_offset, not both; page on with nextLocationOffset.'}, 'location_offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Location to start at, counted from 0 in location-number order; pass nextLocationOffset from the previous call to read the next locations. To start at a location number instead, pass location_number.'}, 'max_frequencies': {'type': 'integer', 'default': 100, 'maximum': 1000, 'minimum': 1, 'description': 'Most frequency rows to return across the locations this call lists (1â\x80\x931000); rows beyond it are dropped from the last locations first. Large microwave and land-mobile licenses exceed the default.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['found', 'dataAsOf', 'truncated', 'shown', 'cap']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'cap': {'type': 'number', 'description': 'The max_frequencies cap applied.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['index_not_ready', 'identifier_required', 'location_start_conflict'], 'description': 'Machine-readable failure mode. Declared by this tool: `index_not_ready`: No completed index generation is published yet. `identifier_required`: Neither or both of callsign and usi were supplied. `location_start_conflict`: location_number was supplied with a nonzero location_offset. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'found': {'type': 'boolean', 'description': 'True when a record matched; false returns guidance and candidates instead.'}, 'shown': {'type': 'number', 'description': 'Frequency rows returned.'}, 'notice': {'type': 'string', 'description': 'What this call left out and the call that reads it, where an unfiled location_number started the locations, or why an offset or location number listed nothing.'}, 'license': {'type': 'object', 'required': ['usi', 'isLease', 'licenseStatus', 'statusLabel', 'radioServiceCode', 'radioServiceLabel', 'serviceGroup', 'licensee', 'leasedFrom', 'leases', 'leaseCount'], 'properties': {'usi': {'type': 'string', 'description': 'Unique system identifier.'}, 'leases': {'type': 'array', 'items': {'type': 'object', 'required': ['usi', 'licenseStatus'], 'properties': {'usi': {'type': 'string', 'description': 'Lease USI.'}, 'callsign': {'type': 'string', 'description': 'Lease ID.'}, 'licenseStatus': {'type': 'string', 'description': 'Lease status code.'}}, 'description': 'One lease.', 'additionalProperties': False}, 'description': 'Leases carved from this license, up to 100 from lease_offset, in lease-ID order.'}, 'market': {'type': 'object', 'required': ['marketCode', 'blocks'], 'properties': {'blocks': {'type': 'array', 'items': {'type': 'object', 'properties': {'lowMhz': {'type': 'number', 'description': 'Lower edge, MHz; absent on a block filed as a channel width only.'}, 'highMhz': {'type': 'number', 'description': 'Upper edge, MHz; absent on a block filed as a channel width only.'}, 'channelWidthMhz': {'type': 'number', 'description': 'Channel width, MHz, of a block ULS files with no frequency (a 0 lower edge): 3.5 GHz Priority Access License channels, which the Spectrum Access System assigns within 3550â\x80\x933650 MHz.'}, 'partitionAreaIds': {'type': 'array', 'items': {'type': 'number', 'description': 'One ULS partition area ID.'}, 'description': 'ULS partition areas this band is filed under; a partitioned license files one band per area, listed once here.'}}, 'description': 'One spectrum block.', 'additionalProperties': False}, 'description': 'Spectrum blocks authorized in the market; kept only for status A, L, or X (active, pending legal, term pending), so empty otherwise.'}, 'marketCode': {'type': 'string', 'description': 'Market code (e.g. BTA028, CMA001).'}, 'marketName': {'type': 'string', 'description': 'Market name as filed (cut at 30 characters by ULS).'}, 'channelBlock': {'type': 'string', 'description': 'Channel block, as filed.'}}, 'description': 'Geographic-area license market; present on market-based records.', 'additionalProperties': False}, 'amateur': {'type': 'object', 'properties': {'trusteeName': {'type': ['string', 'null'], 'description': 'Trustee name; null when redaction withholds it.'}, 'operatorClass': {'type': 'string', 'description': 'Amateur operator class code.'}, 'trusteeCallsign': {'type': 'string', 'description': 'Trustee callsign of a club, military-recreation, or RACES license.'}, 'previousCallsign': {'type': 'string', 'description': 'Previous callsign of the station.'}, 'operatorClassLabel': {'type': 'string', 'description': 'Label of the operator class code.'}}, 'description': 'Amateur license details; present on amateur records.', 'additionalProperties': False}, 'isLease': {'type': 'boolean', 'description': 'True for a spectrum leasing arrangement.'}, 'callsign': {'type': 'string', 'description': 'Callsign, or lease ID (L + 9 digits) on a lease.'}, 'licensee': {'type': 'object', 'required': ['name', 'redacted', 'role'], 'properties': {'frn': {'type': 'string', 'description': 'FCC Registration Number, when filed.'}, 'city': {'type': 'string', 'description': 'Mailing city, when filed and not redacted.'}, 'name': {'type': ['string', 'null'], 'description': 'Licensee or lessee name as filed; null when redacted or not on file.'}, 'role': {'enum': ['licensee', 'lessee'], 'type': 'string', 'description': 'lessee on a lease record, licensee otherwise.'}, 'state': {'type': 'string', 'description': 'Mailing state, when filed.'}, 'redacted': {'type': 'boolean', 'description': 'True when the licensee is an individual whose name and city are withheld.'}, 'applicantType': {'type': 'string', 'description': 'ULS applicant type code, when filed.'}}, 'description': 'The licensee entity (the lessee on a lease).', 'additionalProperties': False}, 'grantDate': {'type': 'string', 'description': 'Grant date (YYYY-MM-DD).'}, 'leaseCount': {'type': 'number', 'description': 'Total leases carved from this license.'}, 'leasedFrom': {'type': 'array', 'items': {'type': 'object', 'required': ['usi'], 'properties': {'usi': {'type': 'string', 'description': 'Parent license USI; pass it as usi to read the parent.'}, 'callsign': {'type': 'string', 'description': 'Parent license callsign.'}}, 'description': 'One parent license.', 'additionalProperties': False}, 'description': 'Licenses this lease is carved from; empty unless the record is a lease.'}, 'expiredDate': {'type': 'string', 'description': 'Expiration date (YYYY-MM-DD).'}, 'statusLabel': {'type': 'string', 'description': 'Label of the license status code.'}, 'serviceGroup': {'type': 'string', 'description': 'FCC bulk-data service group the record was indexed from (e.g. "paging"); fcc_spectrum_list_reference topic "coverage" lists the groups.'}, 'effectiveDate': {'type': 'string', 'description': 'Effective date (YYYY-MM-DD).'}, 'licenseStatus': {'type': 'string', 'description': 'ULS license status code.'}, 'lastActionDate': {'type': 'string', 'description': 'Date of the last ULS action (YYYY-MM-DD).'}, 'cancellationDate': {'type': 'string', 'description': 'Cancellation date (YYYY-MM-DD).'}, 'radioServiceCode': {'type': 'string', 'description': 'Two-character ULS radio service code.'}, 'radioServiceLabel': {'type': 'string', 'description': 'Label of the radio service code.'}}, 'description': 'The record; present when found is true.', 'additionalProperties': False}, 'dataAsOf': {'type': 'string', 'description': 'Creation time of the newest applied ULS file (ISO 8601).'}, 'guidance': {'type': 'string', 'description': 'Why nothing matched and where to look next; present when found is false.'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'required': ['locationNumber', 'antennas'], 'properties': {'city': {'type': 'string', 'description': 'Site city, as filed.'}, 'name': {'type': 'string', 'description': "Site name, as filed; omitted on an individual licensee's record while redaction is on."}, 'sites': {'type': 'array', 'items': {'type': 'object', 'properties': {'city': {'type': 'string', 'description': 'Site city, as filed.'}, 'name': {'type': 'string', 'description': "Site name, as filed; omitted on an individual licensee's record while redaction is on."}, 'state': {'type': 'string', 'description': 'Site state: as filed, or derived from the coordinates when the filing leaves it blank.'}, 'county': {'type': 'string', 'description': 'Site county, as filed.'}, 'address': {'type': 'string', 'description': "Site street address; omitted on an individual licensee's record while redaction is on."}, 'latitude': {'type': 'number', 'description': 'Latitude, decimal degrees (NAD83 as filed); absent when the filed coordinates fail validation.'}, 'radiusKm': {'type': 'number', 'description': 'Radius of operation for an area location, km.'}, 'asrNumber': {'type': 'string', 'description': 'FCC Antenna Structure Registration number: seven digits, never the 9999999 placeholder; omitted when the filing holds anything else (the placeholder, N/A, an application file number).'}, 'longitude': {'type': 'number', 'description': 'Longitude, decimal degrees (NAD83 as filed); absent when the filed coordinates fail validation.'}, 'structureType': {'type': 'string', 'description': 'Structure type code, as filed (e.g. TOWER, BTWR).'}, 'coordinatesDms': {'type': 'string', 'description': 'Coordinates as filed, degrees-minutes-seconds text.'}, 'overallHeightM': {'type': 'number', 'description': 'Overall structure height, meters.'}, 'supportHeightM': {'type': 'number', 'description': 'Support structure height, meters.'}, 'groundElevationM': {'type': 'number', 'description': 'Ground elevation, meters above mean sea level.'}, 'locationTypeCode': {'type': 'string', 'description': 'ULS location type code (F fixed, M mobile, â\x80¦); absent when not filed.'}, 'locationClassCode': {'type': 'string', 'description': 'ULS location class code, as filed.'}, 'locationTypeLabel': {'type': 'string', 'description': 'Label of the location type code.'}, 'stateFromCoordinates': {'type': 'boolean', 'description': 'True when state was derived from the coordinates rather than filed.'}}, 'description': 'One filed site.', 'additionalProperties': False}, 'description': "Every site the license files under this location number, in filing order; present only when there are several, and then the location's own site fields are absent."}, 'state': {'type': 'string', 'description': 'Site state: as filed, or derived from the coordinates when the filing leaves it blank.'}, 'county': {'type': 'string', 'description': 'Site county, as filed.'}, 'address': {'type': 'string', 'description': "Site street address; omitted on an individual licensee's record while redaction is on."}, 'antennas': {'type': 'array', 'items': {'type': 'object', 'required': ['antennaNumber', 'frequencies'], 'properties': {'make': {'type': 'string', 'description': 'Antenna manufacturer, as filed.'}, 'haatM': {'type': 'number', 'description': 'Height above average terrain, meters.'}, 'model': {'type': 'string', 'description': 'Antenna model, as filed.'}, 'gainDbi': {'type': 'number', 'description': 'Antenna gain, dBi.'}, 'azimuthDeg': {'type': 'number', 'description': 'Azimuth of the main beam, degrees true.'}, 'frequencies': {'type': 'array', 'items': {'type': 'object', 'required': ['frequencyMhz', 'emissions'], 'properties': {'erpW': {'type': 'number', 'description': 'Effective radiated power, watts.'}, 'eirpDbm': {'type': 'number', 'description': 'Effective isotropic radiated power, dBm.'}, 'upperMhz': {'type': 'number', 'description': 'Upper edge when the assignment is a range, MHz.'}, 'emissions': {'type': 'array', 'items': {'type': 'string', 'description': 'One emission designator, e.g. "11K2F3E".'}, 'description': 'Emission designators filed for this frequency row.'}, 'bandwidthMhz': {'type': 'number', 'description': 'Widest necessary bandwidth parsed from the emission designators, MHz; a designator 20% of the assigned frequency or wider is a filing error and is left out.'}, 'frequencyMhz': {'type': 'number', 'description': 'Assigned (center) frequency, MHz.'}, 'powerOutputW': {'type': 'number', 'description': 'Transmitter output power, watts.'}, 'stationClass': {'type': 'string', 'description': 'ULS class-of-station code, as filed (e.g. FB2, FXO).'}, 'transmitterMake': {'type': 'string', 'description': 'Transmitter manufacturer, as filed.'}, 'transmitterModel': {'type': 'string', 'description': 'Transmitter model, as filed.'}}, 'description': 'One authorized frequency row, as filed (adaptive-modulation filings repeat a frequency per step).', 'additionalProperties': False}, 'description': 'Frequency rows on this antenna, in filing order.'}, 'recordCount': {'type': 'number', 'description': 'AN records the license files under this location and antenna number, when more than one (usually one per site sharing the location number); fields that differ between them are omitted.'}, 'beamwidthDeg': {'type': 'number', 'description': 'Beamwidth, degrees.'}, 'heightToTipM': {'type': 'number', 'description': 'Height to antenna tip above ground, meters.'}, 'polarization': {'type': 'string', 'description': 'Polarization code, as filed.'}, 'antennaNumber': {'type': 'number', 'description': 'Antenna number within the location.'}, 'antennaTypeCode': {'type': 'string', 'description': 'ULS antenna type code (H Hub, P Passive Repeater, R Final Receiver, T Transmit Antenna).'}, 'heightToCenterM': {'type': 'number', 'description': 'Height to center of radiation above ground, meters.'}}, 'description': 'One antenna at a location.', 'additionalProperties': False}, 'description': 'Antennas filed under this location number; with several sites, ULS does not say which site each antenna and frequency belongs to.'}, 'latitude': {'type': 'number', 'description': 'Latitude, decimal degrees (NAD83 as filed); absent when the filed coordinates fail validation.'}, 'radiusKm': {'type': 'number', 'description': 'Radius of operation for an area location, km.'}, 'asrNumber': {'type': 'string', 'description': 'FCC Antenna Structure Registration number: seven digits, never the 9999999 placeholder; omitted when the filing holds anything else (the placeholder, N/A, an application file number).'}, 'longitude': {'type': 'number', 'description': 'Longitude, decimal degrees (NAD83 as filed); absent when the filed coordinates fail validation.'}, 'structureType': {'type': 'string', 'description': 'Structure type code, as filed (e.g. TOWER, BTWR).'}, 'coordinatesDms': {'type': 'string', 'description': 'Coordinates as filed, degrees-minutes-seconds text.'}, 'locationNumber': {'type': 'number', 'description': 'Location number within the license.'}, 'overallHeightM': {'type': 'number', 'description': 'Overall structure height, meters.'}, 'supportHeightM': {'type': 'number', 'description': 'Support structure height, meters.'}, 'groundElevationM': {'type': 'number', 'description': 'Ground elevation, meters above mean sea level.'}, 'locationTypeCode': {'type': 'string', 'description': 'ULS location type code (F fixed, M mobile, â\x80¦); absent when not filed.'}, 'locationClassCode': {'type': 'string', 'description': 'ULS location class code, as filed.'}, 'locationTypeLabel': {'type': 'string', 'description': 'Label of the location type code.'}, 'stateFromCoordinates': {'type': 'boolean', 'description': 'True when state was derived from the coordinates rather than filed.'}}, 'description': 'One license location number: one site, or several sites the license files under the same number.', 'additionalProperties': False}, 'description': 'Locations with antennas and frequency rows, one entry per location number (a number filed at several sites lists them in sites): whole locations from location_offset or location_number up to 50 sites and 100 antennas, or one larger location alone; present when found is true.'}, 'siteTotal': {'type': 'number', 'description': 'Sites the record files, each site of a shared location number counted; present when found is true.'}, 'truncated': {'type': 'boolean', 'description': 'True when this call leaves part of the record out: locations after the ones listed, frequency rows beyond max_frequencies, or leases after the ones listed.'}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['callsign', 'usi', 'licenseStatus'], 'properties': {'usi': {'type': 'string', 'description': 'Candidate USI.'}, 'callsign': {'type': 'string', 'description': 'Candidate callsign.'}, 'licenseStatus': {'type': 'string', 'description': 'Candidate status code.'}}, 'description': 'One callsign-prefix match.', 'additionalProperties': False}, 'description': 'Up to 5 records whose callsign starts with the one requested; present when a callsign lookup found nothing.'}, 'locationTotal': {'type': 'number', 'description': 'Location numbers the record files; present when found is true.'}, 'nextLeaseOffset': {'type': 'number', 'description': 'Pass as lease_offset to read the leases after these; absent when none follow.'}, 'technicalRetained': {'type': 'boolean', 'description': 'False when the status is not A, L, or X (active, pending legal, term pending): sites and frequencies are kept only for those, so locations is empty.'}, 'nextLocationOffset': {'type': 'number', 'description': 'Pass as location_offset to read the locations after these; absent when none follow.'}, 'otherCallsignRecords': {'type': 'array', 'items': {'type': 'object', 'required': ['usi', 'licenseStatus'], 'properties': {'usi': {'type': 'string', 'description': 'USI of another record under the same callsign; pass it as usi to read that record.'}, 'licenseStatus': {'type': 'string', 'description': 'Its status code.'}}, 'description': 'Another record sharing the callsign.', 'additionalProperties': False}, 'description': 'Other records under the same callsign (ULS reuses callsigns); present when found is true.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['topic'], 'properties': {'topic': {'enum': ['radio_services', 'license_statuses', 'location_types', 'antenna_types', 'applicant_types', 'operator_classes', 'coverage'], 'type': 'string', 'description': 'What to list: a code vocabulary (radio_services, license_statuses, location_types, antenna_types, applicant_types, operator_classes) or coverage, the index build state and loaded service groups.'}, 'filter': {'type': 'string', 'maxLength': 200, 'description': 'Radio services only: keep entries whose code and label contain every word given, in any order (e.g. "700 public safety"). Case- and accent-insensitive.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['topic']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'description': 'Machine-readable failure mode.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'index': {'type': 'object', 'required': ['ready', 'status'], 'properties': {'error': {'type': 'string', 'description': 'Why the published index cannot be served, or the message of the most recent failed build or refresh.'}, 'ready': {'type': 'boolean', 'description': 'True when a completed index generation is published and searches work.'}, 'status': {'enum': ['none', 'building', 'ready'], 'type': 'string', 'description': 'none: never built; building: a build is in progress with no published generation yet; ready: searchable.'}, 'dataAsOf': {'type': 'string', 'description': 'Creation time of the newest applied ULS file (ISO 8601).'}, 'generation': {'type': 'string', 'description': 'File name of the published index generation.'}, 'lastFullBuild': {'type': 'string', 'description': 'When the published generation finished its weekly rebuild (ISO 8601).'}, 'lastDailyApplied': {'type': 'string', 'description': 'Creation time of the newest daily file applied on top of the weekly snapshot (ISO 8601).'}}, 'description': 'Index build state; present for coverage.', 'additionalProperties': False}, 'topic': {'enum': ['radio_services', 'license_statuses', 'location_types', 'antenna_types', 'applicant_types', 'operator_classes', 'coverage'], 'type': 'string', 'description': 'The topic answered.'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['group', 'indexed'], 'properties': {'group': {'type': 'string', 'description': 'FCC bulk-data service group name, as the FCC names its files (e.g. "LMpriv").'}, 'sites': {'type': 'number', 'description': 'Location records kept for this group (status A, L, or X licenses only); absent when not indexed.'}, 'indexed': {'type': 'boolean', 'description': 'True when this group is loaded in the published index.'}, 'records': {'type': 'number', 'description': 'License and lease records indexed from this group; absent when not indexed.'}, 'frequencies': {'type': 'number', 'description': 'Frequency records kept for this group (status A, L, or X licenses only); absent when not indexed.'}, 'snapshotCreated': {'type': 'string', 'description': "Creation time of the FCC's weekly snapshot this group was built from (ISO 8601); absent when not indexed."}}, 'description': 'Coverage of one weekly service group.', 'additionalProperties': False}, 'description': 'Every weekly service group this server can index, with whether it is loaded; present for coverage.'}, 'notice': {'type': 'string', 'description': 'Guidance when a filter matched nothing, was not applied, or the index is not built yet.'}, 'entries': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'label'], 'properties': {'code': {'type': 'string', 'description': 'The code as filed in ULS records.'}, 'group': {'type': 'string', 'description': 'FCC bulk-data service group that carries this radio service code; radio_services only, absent for other topics and before the index is built.'}, 'label': {'type': 'string', 'description': 'FCC label for the code; equal to the code when the index holds a code the bundled table lacks.'}, 'indexedRecords': {'type': 'number', 'description': 'Records in the index carrying this radio service code; radio_services only, absent for other topics and before the index is built.'}}, 'description': 'One decoded code.', 'additionalProperties': False}, 'description': 'Decoded codes, in code order; present for every topic except coverage.'}, 'dataAsOf': {'type': 'string', 'description': 'Creation time of the newest applied ULS file (ISO 8601); absent before the index is built.'}, 'redactIndividuals': {'type': 'boolean', 'description': 'True when individual licensees are redacted and excluded from name search; present for coverage.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frequency_low'], 'properties': {'frn': {'type': 'string', 'pattern': '^\\d{10}$', 'description': "Licensee's FCC Registration Number, up to 10 digits; spaces and hyphens are removed and it is left-padded with zeros. Individual licensees match and are returned redacted."}, 'kind': {'enum': ['site', 'market', 'both'], 'type': 'string', 'default': 'both', 'description': 'site: transmitter-site assignments only; market: market-area spectrum blocks only; both (default).'}, 'unit': {'enum': ['kHz', 'MHz', 'GHz'], 'type': 'string', 'default': 'MHz', 'description': 'Unit of the frequencies: kHz, MHz (default), or GHz.'}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1, 'description': 'Rows per page (1â\x80\x93200).'}, 'state': {'enum': ['AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FL', 'GA', 'HI', 'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', 'ME', 'MD', 'MA', 'MI', 'MN', 'MS', 'MO', 'MT', 'NE', 'NV', 'NH', 'NJ', 'NM', 'NY', 'NC', 'ND', 'OH', 'OK', 'OR', 'PA', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VT', 'VA', 'WA', 'WV', 'WI', 'WY', 'AS', 'GU', 'MP', 'PR', 'VI'], 'type': 'string', 'description': 'Two-letter USPS code or full state name. Sites match on their filed state, or the state derived from their coordinates. Market blocks match when their FCC market area reaches the state (a multi-state market matches each of its states), their market name carries the state code, or their license files a site there; nationwide and Gulf of Mexico markets match no state.'}, 'cursor': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{1,200}$', 'description': 'nextCursor from the previous page of the same search; omit for the first page.'}, 'status': {'enum': ['A', 'L', 'X', 'any'], 'type': 'string', 'default': 'A', 'description': 'A active (default), L pending legal, X term pending, or "any" for all three. Other statuses keep no frequency records.'}, 'licensee': {'type': 'string', 'maxLength': 200, 'description': 'Licensee name words, with at least one letter or digit; every word must match the start of a word in the name, in any order. A word joined by - or & ("T-Mobile", "AT&T") matches its pieces side by side.'}, 'market_code': {'type': 'string', 'pattern': '^(?:[A-Z]{3}\\d{3}|[A-Z]\\d{5}|[A-Z]{2}\\d{4}|NW)$', 'description': 'Market code of the license, matched exactly, e.g. "PEA016", "CMA020", or "NW" (nationwide); market rows carry it as marketCode. Applies to site and market rows alike, since cellular (CMA) licenses file sites rather than blocks. Case, spaces, and hyphens are ignored, and the digits are left-padded with zeros ("pea16" reads as PEA016).'}, 'frequency_low': {'type': 'number', 'description': "Frequency in unit; with frequency_high, the band's lower edge. Matches any authorization whose occupied band overlaps.", 'exclusiveMinimum': 0}, 'radio_service': {'type': 'string', 'pattern': '^[A-Z0-9]{2}$', 'description': 'Two-character radio service code, e.g. "WU" (700 MHz upper band); see fcc_spectrum_list_reference topic "radio_services".'}, 'frequency_high': {'type': 'number', 'description': 'Band upper edge in unit; omit to search a single frequency.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['assignments', 'dataAsOf', 'totalCount', 'truncated', 'shown', 'cap', 'appliedFilters']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'cap': {'type': 'number', 'description': 'The page limit applied.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['index_not_ready', 'invalid_frequency_range', 'unknown_radio_service', 'service_not_indexed', 'invalid_cursor'], 'description': 'Machine-readable failure mode. Declared by this tool: `index_not_ready`: No completed index generation is published yet. `invalid_frequency_range`: frequency_high is below frequency_low, or the band exceeds 300 GHz. `unknown_radio_service`: The radio service code is neither in the FCC code table nor held by the index. `service_not_indexed`: The radio service code is valid but no indexed service group carries it. `invalid_cursor`: The cursor does not decode or belongs to an earlier index generation. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'shown': {'type': 'number', 'description': 'Rows on this page.'}, 'notice': {'type': 'string', 'description': 'Why nothing matched, what the state and redaction rules skipped, or how to page further.'}, 'dataAsOf': {'type': 'string', 'description': 'Creation time of the newest applied ULS file (ISO 8601).'}, 'truncated': {'type': 'boolean', 'description': 'True when more rows follow this page.'}, 'nextCursor': {'type': 'string', 'description': 'Pass as cursor with the same inputs for the next page; absent on the last page. A page over a dense band can hold fewer rows than limit and still carry one.'}, 'totalCount': {'type': 'number', 'description': 'Rows matching the filters, across every page; at least this many when totalIsLowerBound is true.'}, 'assignments': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'usi', 'isLease', 'licenseStatus', 'radioServiceCode', 'radioServiceLabel', 'licenseeName', 'licenseeRedacted', 'frequencyMhz'], 'properties': {'usi': {'type': 'string', 'description': 'Unique system identifier of the license; pass it to fcc_spectrum_get_license.'}, 'kind': {'enum': ['site', 'market'], 'type': 'string', 'description': 'site: a frequency at a transmitter site; market: a spectrum block across a market area.'}, 'state': {'type': 'string', 'description': 'Site state, as filed or derived from the coordinates (site rows).'}, 'county': {'type': 'string', 'description': 'Site county, as filed (site rows).'}, 'isLease': {'type': 'boolean', 'description': 'True for a spectrum leasing arrangement.'}, 'maxErpW': {'type': 'number', 'description': 'Highest effective radiated power filed, watts (site rows).'}, 'callsign': {'type': 'string', 'description': 'Callsign, or lease ID on a lease.'}, 'latitude': {'type': 'number', 'description': 'Site latitude, decimal degrees (site rows with valid coordinates); the center of an operating area when radiusKm is filed.'}, 'radiusKm': {'type': 'number', 'description': 'Radius of operation around latitude/longitude, km, as filed (site rows at a single site); mobile (M) and temporary-fixed (T) areas file one, and some fixed and other sites do.'}, 'upperMhz': {'type': 'number', 'description': 'Upper edge of a ranged site assignment or of a market block, MHz.'}, 'emissions': {'type': 'array', 'items': {'type': 'string', 'description': 'One emission designator.'}, 'description': 'Distinct emission designators filed for this frequency (site rows).'}, 'longitude': {'type': 'number', 'description': 'Site longitude, decimal degrees (site rows with valid coordinates); the center of an operating area when radiusKm is filed.'}, 'marketCode': {'type': 'string', 'description': 'Market code (market rows); pass it as market_code to search that market.'}, 'marketName': {'type': 'string', 'description': 'Market name as filed, cut at 30 characters by ULS (market rows).'}, 'bandwidthMhz': {'type': 'number', 'description': 'Widest necessary bandwidth parsed from the emission designators, MHz (site rows); a designator 20% of the assigned frequency or wider is a filing error and is left out.'}, 'channelBlock': {'type': 'string', 'description': 'Channel block, as filed (market rows).'}, 'frequencyMhz': {'type': 'number', 'description': 'Assigned frequency (site) or block lower edge (market), MHz.'}, 'licenseeName': {'type': ['string', 'null'], 'description': 'Licensee (lessee on a lease) as filed; null when redacted or not on file.'}, 'licenseStatus': {'type': 'string', 'description': 'License status code (A, L, or X).'}, 'locationNumber': {'type': 'number', 'description': "Location number within the license (site rows); pass it as location_number to fcc_spectrum_get_license to read the location's antennas and frequencies."}, 'stationClasses': {'type': 'array', 'items': {'type': 'string', 'description': 'One ULS class-of-station code.'}, 'description': 'Distinct station classes filed for this frequency at the site (site rows).'}, 'licenseeRedacted': {'type': 'boolean', 'description': 'True when the licensee is an individual whose name is withheld.'}, 'locationTypeCode': {'type': 'string', 'description': 'ULS location type code, e.g. F (fixed), M (mobile), T (temporary fixed) (site rows at a single site; absent when not filed).'}, 'partitionAreaIds': {'type': 'array', 'items': {'type': 'number', 'description': 'One ULS partition area ID.'}, 'description': 'ULS partition areas this block is filed under (market rows); a partitioned license files one block per area, returned here as one row.'}, 'radioServiceCode': {'type': 'string', 'description': 'Two-character ULS radio service code.'}, 'locationTypeLabel': {'type': 'string', 'description': 'Label of the location type code, e.g. "Mobile" (site rows at a single site).'}, 'radioServiceLabel': {'type': 'string', 'description': 'Label of the radio service code.'}, 'sitesSharingNumber': {'type': 'number', 'description': 'Sites the license files under this location number, when more than one (site rows); ULS does not say which of them uses the frequency, so the row has no coordinates, location type, radius, county, or state. fcc_spectrum_get_license lists the sites.'}, 'stateFromCoordinates': {'type': 'boolean', 'description': 'True when state was derived from the coordinates rather than filed (site rows).'}}, 'description': 'One site assignment or market spectrum block.', 'additionalProperties': False}, 'description': 'Matching site assignments and market blocks, frequency ascending.'}, 'appliedFilters': {'type': 'object', 'required': ['frequency_low_mhz', 'frequency_high_mhz', 'kind', 'status'], 'properties': {'frn': {'type': 'string', 'description': 'Normalized FRN filter.'}, 'kind': {'type': 'string', 'description': 'Kinds searched.'}, 'state': {'type': 'string', 'description': 'Normalized state filter.'}, 'status': {'type': 'string', 'description': 'Status filter, default included.'}, 'licensee': {'type': 'string', 'description': 'Licensee name words searched.'}, 'market_code': {'type': 'string', 'description': 'Normalized market code filter.'}, 'radio_service': {'type': 'string', 'description': 'Radio service code filter.'}, 'frequency_low_mhz': {'type': 'number', 'description': 'Band lower edge, converted to MHz.'}, 'frequency_high_mhz': {'type': 'number', 'description': 'Band upper edge, converted to MHz (equal to the lower edge for one frequency).'}}, 'description': 'Filters as the server applied them, normalized values and defaults included.', 'additionalProperties': False}, 'totalIsLowerBound': {'type': 'boolean', 'description': 'True when a dense band was counted only in part, so totalCount is a lower bound; absent when the count is exact.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'frn': {'type': 'string', 'pattern': '^\\d{10}$', 'description': 'FCC Registration Number, up to 10 digits; spaces and hyphens are removed and it is left-padded with zeros.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Records per page (1â\x80\x93100).'}, 'state': {'enum': ['AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FL', 'GA', 'HI', 'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', 'ME', 'MD', 'MA', 'MI', 'MN', 'MS', 'MO', 'MT', 'NE', 'NV', 'NH', 'NJ', 'NM', 'NY', 'NC', 'ND', 'OH', 'OK', 'OR', 'PA', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VT', 'VA', 'WA', 'WV', 'WI', 'WY', 'AS', 'GU', 'MP', 'PR', 'VI'], 'type': 'string', 'description': "Licensee mailing state: a two-letter USPS code (incl. DC, PR, VI, GU, AS, MP) or a full state name. This is the licensee's address, not the site location."}, 'cursor': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{1,200}$', 'description': 'nextCursor from the previous page of the same search; omit for the first page.'}, 'status': {'enum': ['A', 'C', 'E', 'L', 'P', 'T', 'X', 'any'], 'type': 'string', 'default': 'A', 'description': 'License status: A active, L pending legal, X term pending, E expired, C canceled, T terminated, P parent station canceled, or "any" for every status. Defaults to A.'}, 'callsign': {'type': 'string', 'pattern': '^[A-Z0-9]{3,10}$', 'description': 'Exact callsign or lease ID, e.g. "KNKA123" or "L000012345". Case, spaces, and one trailing portable suffix ("/4") are normalized. ULS reuses callsigns, so several records can match.'}, 'licensee': {'type': 'string', 'maxLength': 200, 'description': 'Licensee name words, with at least one letter or digit; every word must match the start of a word in the name, in any order (e.g. "verizon wireless"). A word joined by - or & ("T-Mobile", "AT&T") matches its pieces side by side.'}, 'market_code': {'type': 'string', 'pattern': '^(?:[A-Z]{3}\\d{3}|[A-Z]\\d{5}|[A-Z]{2}\\d{4}|NW)$', 'description': 'Market code of a geographic-area license, matched exactly, e.g. "PEA016", "CMA020", "D06037", or "NW" (nationwide); results carry it as marketCode. Case, spaces, and hyphens are ignored, and the digits are left-padded with zeros ("pea16" reads as PEA016).'}, 'radio_service': {'type': 'string', 'pattern': '^[A-Z0-9]{2}$', 'description': 'Two-character radio service code, e.g. "CD" (paging) or "BR" (BRS); see fcc_spectrum_list_reference topic "radio_services".'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['licenses', 'dataAsOf', 'totalCount', 'truncated', 'shown', 'cap', 'appliedFilters']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'cap': {'type': 'number', 'description': 'The page limit applied.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['index_not_ready', 'no_criteria', 'unknown_radio_service', 'service_not_indexed', 'invalid_cursor'], 'description': 'Machine-readable failure mode. Declared by this tool: `index_not_ready`: No completed index generation is published yet. `no_criteria`: No search field was supplied. `unknown_radio_service`: The radio service code is neither in the FCC code table nor held by the index. `service_not_indexed`: The radio service code is valid but no indexed service group carries it. `invalid_cursor`: The cursor does not decode, belongs to an earlier index generation, or is from a licensee search the daily refresh has since changed. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'shown': {'type': 'number', 'description': 'Records on this page.'}, 'notice': {'type': 'string', 'description': 'Why nothing matched, what redaction excluded, or how to page further.'}, 'dataAsOf': {'type': 'string', 'description': 'Creation time of the newest applied ULS file (ISO 8601).'}, 'licenses': {'type': 'array', 'items': {'type': 'object', 'required': ['usi', 'isLease', 'licenseStatus', 'statusLabel', 'radioServiceCode', 'radioServiceLabel', 'serviceGroup', 'licenseeName', 'licenseeRedacted', 'locationCount', 'frequencyCount'], 'properties': {'frn': {'type': 'string', 'description': 'FCC Registration Number of the licensee, when filed.'}, 'usi': {'type': 'string', 'description': 'Unique system identifier of the record; pass it to fcc_spectrum_get_license.'}, 'isLease': {'type': 'boolean', 'description': 'True for a spectrum leasing arrangement, whose licensee is the lessee.'}, 'callsign': {'type': 'string', 'description': 'Callsign, or lease ID (L + 9 digits) on a lease; absent on the few records filed without one.'}, 'grantDate': {'type': 'string', 'description': 'Grant date (YYYY-MM-DD).'}, 'marketCode': {'type': 'string', 'description': "Market code of a geographic-area license; pass it as market_code to list the market's licenses."}, 'marketName': {'type': 'string', 'description': 'Market name of a geographic-area license.'}, 'expiredDate': {'type': 'string', 'description': 'Expiration date (YYYY-MM-DD).'}, 'statusLabel': {'type': 'string', 'description': 'Label of the license status code.'}, 'licenseeCity': {'type': 'string', 'description': 'Licensee mailing city, when filed and not redacted.'}, 'licenseeName': {'type': ['string', 'null'], 'description': 'Licensee (lessee on a lease) as filed; null when redacted or not on file.'}, 'serviceGroup': {'type': 'string', 'description': 'FCC bulk-data service group the record was indexed from (e.g. "paging"); fcc_spectrum_list_reference topic "coverage" lists the groups.'}, 'applicantType': {'type': 'string', 'description': 'ULS applicant type code (I individual, C corporation, â\x80¦), when filed.'}, 'licenseStatus': {'type': 'string', 'description': 'ULS license status code (A active, E expired, C canceled, T terminated, â\x80¦).'}, 'licenseeState': {'type': 'string', 'description': 'Licensee mailing state, when filed.'}, 'locationCount': {'type': 'number', 'description': 'Locations indexed for the record; 0 when its status is not A, L, or X, since sites are kept only for active, pending-legal, and term-pending records.'}, 'frequencyCount': {'type': 'number', 'description': 'Frequency rows indexed for the record; 0 when its status is not A, L, or X.'}, 'lastActionDate': {'type': 'string', 'description': 'Date of the last ULS action on the record (YYYY-MM-DD).'}, 'cancellationDate': {'type': 'string', 'description': 'Cancellation date (YYYY-MM-DD).'}, 'licenseeRedacted': {'type': 'boolean', 'description': 'True when the licensee is an individual whose name and city are withheld.'}, 'radioServiceCode': {'type': 'string', 'description': 'Two-character ULS radio service code.'}, 'radioServiceLabel': {'type': 'string', 'description': 'Label of the radio service code.'}}, 'description': 'One license or lease record.', 'additionalProperties': False}, 'description': 'Matching records, ranked by name-match relevance when licensee is given and in callsign order otherwise.'}, 'truncated': {'type': 'boolean', 'description': 'True when more records follow this page.'}, 'nextCursor': {'type': 'string', 'description': 'Pass as cursor with the same filters for the next page; absent on the last page.'}, 'totalCount': {'type': 'number', 'description': 'Records matching the filters, across every page.'}, 'appliedFilters': {'type': 'object', 'required': ['status'], 'properties': {'frn': {'type': 'string', 'description': 'Normalized FRN filter.'}, 'state': {'type': 'string', 'description': 'Normalized licensee state filter.'}, 'status': {'type': 'string', 'description': 'Status filter, default included.'}, 'callsign': {'type': 'string', 'description': 'Normalized callsign filter.'}, 'licensee': {'type': 'string', 'description': 'Licensee name words searched.'}, 'market_code': {'type': 'string', 'description': 'Normalized market code filter.'}, 'radio_service': {'type': 'string', 'description': 'Radio service code filter.'}}, 'description': 'Filters as the server applied them, normalized values and defaults included.', 'additionalProperties': False}}, 'additionalProperties': False}
最近のツール変更
類似のMCPサーバー
Clink Forge
Provides pay-per-call access to attested government datasets, primarily CDC and HHS health data plus EPA air-quality observations.
osint
Provides source-cited US data and schemas for power systems, AI infrastructure, semiconductor production and trade, robotics, and…
whatif
Builds, validates, calibrates, compares, and simulates Petri-net process models using event logs, scenarios, invariants, and diag…
Us Iso Grid
Provides real-time and recent electricity grid data for CAISO, ERCOT, and NYISO, including demand, forecasts, fuel mix, emissions…
AOI — Environmental Intelligence for AI Agents
Provides paid, quote-based environmental intelligence assessments covering climate risk, emissions, biodiversity, air quality, ha…
Pharma Intel
Combines clinical trial, FDA, PubMed, drug identification, safety, pipeline, sales, patent, and pharmaceutical sponsor data for d…
Data Gov Sg
Provides Singapore government datasets and environmental feeds, including air quality, dataset metadata, and routed structured re…
Nih Reporter
Searches and analyzes NIH-funded research projects, awards, publications, funding trends, expirations, investigators, organizatio…