FCC License Search
Server Details
Search FCC radio licenses by company, call sign, or FRN; monitor status changes and snapshots.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 7 tools
Most tools are distinct, but fcc_search and fcc_company both accept company-name lookups and return licence records, so an agent may be unsure which to use. Similarly, fcc_coverage and fcc_stats both describe dataset health, though one focuses on coverage/provenance and the other on statistics/freshness. The descriptions help, but the boundaries are not always obvious.
All seven tools share the consistent fcc_ prefix and snake_case naming convention. The names are short, predictable resource-oriented labels, making the tool family easy to scan and remember.
Seven tools is a well-scoped count for an FCC licence data server. Each tool covers a meaningful operation: search, company enrichment, status changes, snapshots, snapshot catalog, coverage, and statistics.
The server covers the main read-only FCC ULS workflows: searching licences, enriching company footprints, tracking status changes, browsing and downloading snapshots, and checking data coverage and freshness. No critical dead ends or missing lifecycle operations are apparent for the stated purpose.
Available Tools
7 toolsfcc_changesAInspect
Find FCC radio licence status changes since a date, filtered by frn, callsign, or service. Receive JSON records with usi, callsign, old_status, new_status, observed_date, and source_file. The since period is at most 31 days.
| Name | Required | Description | Default |
|---|---|---|---|
| frn | No | ||
| since | Yes | ||
| service | No | ||
| callsign | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose the JSON record fields and the maximum 31-day window. It does not mention what happens if the since period exceeds 31 days, whether results are ordered or paginated, or any authentication/rate-limit considerations, leaving real gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each with a distinct purpose: action and filters, return shape, and a key constraint. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose, all parameter roles, the output record fields, and a critical constraint. It is slightly incomplete because it does not specify behavior for invalid or excessive date ranges, pagination, or how multiple filters interact, but it is largely sufficient for a read-only change-history tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 names all relevant parameters and adds meaning: 'since' is a date with a 31-day cap, and frn, callsign, and service are filters. It does not detail filter combination behavior or value formats, but the schema supplies structural constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Find'), a clear resource ('FCC radio licence status changes'), and the filtering dimensions ('frn, callsign, or service'). This clearly distinguishes it from sibling tools like fcc_snapshot or fcc_search by focusing on historical status changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies this tool is for change-history queries starting from a date, and the 31-day cap gives a concrete usage boundary. However, it does not explicitly state when to prefer this over siblings like fcc_snapshot or fcc_search, nor does it mention exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fcc_companyBInspect
Company enrichment: return the radio-licence footprint for a named company. The data contains FCC radio licences only. Receive matched licensee entities, every matching licence up to the selected limit, licence dates and status, summary counts for all matches, the soonest upcoming expiry, store coverage, and FCC source provenance for every block as JSON.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| state | No | ||
| status | No | ||
| service | No | ||
| company_name | Yes | ||
| include_expired | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the behavioral disclosure burden. It usefully discloses that only FCC radio licences are included, lists the return blocks, and says output is JSON. It does not describe match ambiguity, empty-result behavior, or whether any side effects occur, though the tool appears read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with a clear colon-led purpose and a dense but purposeful list of return contents. Every phrase adds information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output side is well specified, which matters because there is no output schema. However, with six parameters, no parameter descriptions, and no annotations, the missing filter semantics and absent sibling guidance leave an agent able to make a basic call but unsure how to use state, status, service, or include_expired correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for the six parameters. It only indirectly covers company_name ('named company') and limit ('selected limit'), leaving state, status, service, and include_expired without semantic explanation beyond their schema patterns and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: return the radio-licence footprint for a named company. The phrase 'Company enrichment' helps position it against the sibling tools and the output list is specific, but no sibling is explicitly named and the differentiation is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus fcc_search, fcc_stats, fcc_coverage, or the snapshot tools. The use case is implied by 'named company', but there are no exclusions or alternative routing cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fcc_coverageBInspect
Read the current FCC ULS data coverage and provenance.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It clearly labels the operation as a read of 'current' data, which implies a non-mutating, freshness-oriented query. However, it does not describe what 'coverage and provenance' concretely contain, what the response looks like, or any edge behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or redundant information. Every word contributes meaning, and it is appropriately sized for a parameterless read tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with no parameters and no output schema, the description is minimally viable but leaves gaps. It does not explain what 'coverage' and 'provenance' mean operationally, what data will be returned, or how this relates to the sibling FCC tools, so an agent still has some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty input schema, so there is no parameter semantic gap for the description to fill. The baseline of 4 applies because no parameter documentation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Read the current FCC ULS data coverage and provenance.' This clearly identifies what the tool does and distinguishes it at a high level from sibling tools like fcc_search or fcc_stats, though it does not explicitly call out those differences.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not mention when to choose this tool over siblings, nor does it give any context about scenarios where fcc_coverage is preferable to fcc_stats, fcc_snapshot, or fcc_changes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fcc_searchAInspect
Look up FCC radio licences with q as a company or licensee name, call sign, or FRN. Optional service, status, and limit inputs filter the results. Receive up to 20 JSON records with callsign, licensee_name, frn, service, status, grant_date, expired_date, and cancellation_date.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| limit | No | ||
| status | No | ||
| service | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It reveals the output limit (up to 20 records), the JSON format, and all returned fields (callsign, licensee_name, frn, service, status, grant_date, expired_date, cancellation_date). It omits details like matching semantics or error behavior, but for a read-only lookup this is strong disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no waste: the first states the core action and input, the second covers optional filtering, and the third specifies the exact output shape. The most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is self-sufficient for a moderate-complexity search tool: it covers the searchable identifiers, filter options, result count, and every returned field. Even with no annotations, no output schema, and zero schema description coverage, an agent can call the tool correctly. The only notable gap is explicit sibling differentiation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 gives q real meaning (company/licensee name, call sign, or FRN) and clarifies that service, status, and limit are filters. Yet it does not explain the meaning of valid status/service codes, leaving the regex patterns as the only hint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Look up'), a clear resource ('FCC radio licences'), and the kinds of identifiers q accepts (company/licensee name, call sign, or FRN). This distinguishes it from sibling tools like fcc_company, fcc_coverage, and fcc_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes clear when to use the tool (when searching licences by name, call sign, or FRN) and mentions optional service, status, and limit filters. However, it provides no explicit guidance about when not to use it or how it compares to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fcc_snapshotBInspect
Download one FCC radio licence snapshot by slice_id from /v1/snapshots. Receive as_of, row_count, source, licence, and all rows with company name, call sign, FRN, service, status, grant, expiry, and cancellation dates as JSON.
| Name | Required | Description | Default |
|---|---|---|---|
| slice_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full behavioral burden. It mentions the endpoint and response contents but doesn't disclose important traits like whether this is a read-only operation, whether slice IDs are UUIDs vs slugs, what happens if the slice doesn't exist, or any pagination/size limits. This is a data retrieval tool, so the lack of safety/error/edge-case context is a meaningful gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-structured sentence that front-loads the action and resource, then lists returned fields. It earns its place by specifying the response structure, though the long enumeration of fields could be condensed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description helpfully enumerates the response fields (as_of, row_count, source, licence, rows with company/call sign/FRN/service/status/dates). For a single-parameter download tool this is mostly sufficient, but it lacks clarity on slice_id format/source and error conditions, and gives no explicit guidance distinguishing from sibling fcc_snapshots.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema defines only slice_id with a pattern and length limits but provides no description. The tool description says 'by slice_id' and implies it identifies a specific snapshot, which adds mild semantic meaning. With only one parameter and pattern constraints present, the schema already carries most of the load, so a baseline around 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Download'), a specific resource ('one FCC radio licence snapshot by slice_id'), and identifies the endpoint path. It distinguishes the singular-snapshot operation from sibling tools by explicitly mentioning the slice_id dimension, though it doesn't name a specific sibling alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for downloading a specific snapshot when you already have a slice_id, and lists the returned fields. However, it doesn't explicitly contrast with sibling tools like fcc_snapshots (plural) or fcc_search, so an agent must infer when this one is preferred over the others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fcc_snapshotsBInspect
List the free FCC ULS snapshot catalog.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It conveys that the operation is a non-mutating 'list' and that the catalog is free, but it does not disclose output format, pagination, or whether the catalog is static or dynamically generated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence that is front-loaded with the action verb and directly names the target resource. There is no filler or redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless listing tool, the description is minimally viable: it names the domain (FCC ULS) and the object (snapshot catalog). However, with no output schema and no annotations, it would be more complete if it described what the catalog contains or how it relates to the singular 'fcc_snapshot' tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter ambiguity. The description need not add parameter-level semantics; the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and identifies the resource ('the free FCC ULS snapshot catalog'). It is clear, but it does not explicitly differentiate itself from the sibling 'fcc_snapshot' or other fcc_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus fcc_snapshot, fcc_search, or fcc_stats. The agent must infer the intended scope from the plural 'snapshots' and the word 'catalog.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fcc_statsBInspect
Read free FCC ULS data statistics and ingest freshness.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full transparency burden. It does indicate 'Read,' which implies a non-mutating operation, but it does not disclose return behavior, data source specifics, freshness semantics, authentication needs, or any other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no fluff. It is appropriately concise for a zero-parameter tool, though 'ingest freshness' is somewhat vague and could be replaced with clearer wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain what statistics are returned and what 'ingest freshness' means, but it does not. It also fails to differentiate itself from the sibling tools, so an agent has limited information to decide if this is the right tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. There is no parameter documentation burden, and the description does not need to add parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Read') and resource ('free FCC ULS data statistics and ingest freshness'), which aligns with the tool name and distinguishes it from siblings like fcc_search or fcc_snapshot. However, the phrase 'ingest freshness' is slightly jargon-like and could be clearer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus the six sibling tools, nor any explicit mention of alternatives. The description only implies that the tool is for reading statistics and freshness, leaving the agent to infer selection criteria on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
- First observed
fcc_changes - First observed
fcc_company - First observed
fcc_coverage - First observed
fcc_search - First observed
fcc_snapshot - First observed
fcc_snapshots - First observed
fcc_stats
Related MCP Connectors
Explore FCC ULS licenses, ASR antenna structures, and microwave path elevation profiles.
Search U.S. federal grants and EU funding topics; monitor changes and download snapshots.
Alerts on official data: US and EU tenders, federal awards and grants, permits, MAP violations.
Search and trace US federal rules across the Federal Register, eCFR, and Regulations.gov.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables querying and exploring FCC Open Data datasets via Socrata SoQL, including dataset search, metadata retrieval, and data querying.3 npmMIT
- AlicenseAqualityBmaintenanceSearch 419,000+ LLM-extracted space regulatory filings from the FCC, ITU, UNOOSA, and FAA. Semantic search, entity dossiers, spectrum-band holdings, launch licenses, filing trends, and alerts.211MIT
- AlicenseNot gradedqualityBmaintenanceProvides keyless access to US FMCSA motor-carrier registry data, enabling lookup of DOT/MC numbers, names, operating authority, and safety information.4 npmMIT
- AlicenseNot gradedqualityBmaintenanceMCP server for searching and retrieving FCC ECFS filings, dockets, and proceedings via the public API.4 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.