protogrid

Search / io.github.cyanheads/fcc-spectrum-mcp-server

fcc-spectrum-mcp-server

R0· no sign-in

Search FCC radio licenses, find nearby licensed sites, and see who is licensed on a frequency.

v0.2.0 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality89good
Trust94of 100
Uptime, 30 days99%
Latency p50209 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "fcc-spectrum-mcp-server": {
      "type": "http",
      "url": "https://fcc-spectrum.caseyjhand.com/mcp"
    }
  }
}
claude mcp add --transport http fcc-spectrum-mcp-server https://fcc-spectrum.caseyjhand.com/mcp
[mcp_servers.fcc-spectrum-mcp-server]
url = "https://fcc-spectrum.caseyjhand.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "fcc-spectrum-mcp-server": {
      "type": "remote",
      "url": "https://fcc-spectrum.caseyjhand.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "fcc-spectrum-mcp-server": {
      "type": "http",
      "url": "https://fcc-spectrum.caseyjhand.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=fcc-spectrum-mcp-server&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZmNjLXNwZWN0cnVtLmNhc2V5amhhbmQuY29tL21jcCJ9"
}
{
  "servers": {
    "fcc-spectrum-mcp-server": {
      "type": "http",
      "url": "https://fcc-spectrum.caseyjhand.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "fcc-spectrum-mcp-server": {
      "httpUrl": "https://fcc-spectrum.caseyjhand.com/mcp"
    }
  }
}
extensions:
  "fcc-spectrum-mcp-server":
    enabled: true
    name: "fcc-spectrum-mcp-server"
    type: streamable_http
    uri: "https://fcc-spectrum.caseyjhand.com/mcp"
    timeout: 300

Quality 89 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations5 of 5 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: fcc_spectrum_find_transmitters (destructiveHint); fcc_spectrum_list_reference (destructiveHint); fcc_spectrum_search_licenses (destructiveHint); …
  • pass
    tools.token_costabout 3,778 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes5 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15

5 tools, about 3,778 tokens to load them all · tool set 2f095ce4df11 · tools last changed 2026-10-13 · checked 2026-10-20 13:49 UTC

Tool changes

  • fcc_spectrum_list_referencechangeddescription, input schema, output schema
    before

    Decode FCC ULS codes used by the other tools — radio service codes, license statuses, location types, antenna types, applicant types, amateur operator classes — or report coverage: which service groups this index holds, record counts, and when each was last updated. Works before the index is built.

    after · 82% of words in common

    Decode FCC ULS codes used by the other tools — radio service codes, station classes, license statuses, location types, antenna types, applicant types, amateur operator classes — or report coverage: which service groups this index holds, record counts, and when each was last updated. Works before the index is built. Station classes describe licensed categories, not actual on-air activity.

  • fcc_spectrum_search_frequencieschangedinput schema, output schema
  • fcc_spectrum_find_transmitterschangedtitle, description, input schema, output schema
    before

    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.

    after · 76% of words in common

    Find FCC-licensed sites within a radius of a coordinate, nearest first, each with its callsign, licensee, distance, coordinates, filed location type and class, ground elevation, structure height, and authorized frequencies. Filter by frequency or band, radio service, location type, location class, and live status (active by default). Unset location_class keeps all filed roles, including receive and passive locations; filed classes describe authorization, not actual on-air activity. Coordinates are decimal degrees or DMS strings. Mobile and temporary-fixed operating areas are returned at their center with radiusKm and match when the center lies within radius_km. Locations without valid coordinates are omitted; market-area licenses without site records are found with fcc_spectrum_search_frequencies.

  • fcc_spectrum_get_licensechangedinput schema, output schema
  • fcc_spectrum_search_licenseschangedinput schema

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 94 / 100

provenance80
liveness99
freshness100
hygiene100

+repository +namespace-matches-repo +reachable +uptime-99% +updated-7d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

@cyanheads/[email protected] npmthis version is not known to the dependency resolver

@cyanheads/[email protected] npmthis version is not known to the dependency resolver

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://fcc-spectrum.caseyjhand.com/mcp streamable-httpnoneyes99%209 ms2026-07-282026-10-20
packageregistryversionruntimesecrets
@cyanheads/fcc-spectrum-mcp-servernpm0.2.0npx
@cyanheads/fcc-spectrum-mcp-servernpm0.2.0npx

Tools (5)

fcc_spectrum_find_transmittersread-onlyFind FCC-licensed sites within a radius of a coordinate, nearest first, each with its callsign, licensee, distance, coordinates, filed location type and class, ground elevation, structure height, and authorized frequencies. Filter by frequency or band, radio service, location type, location class, and live status (active by default). Unset location_class keeps all filed roles, including receive and passive locations; filed classes describe authorization, not actual on-air activity. Coordinates are decimal degrees or DMS strings. Mobile and temporary-fixed operating areas are returned at their center with radiusKm and match when the center lies within radius_km. Locations without valid coordinates are omitted; market-area licenses without site records are found with fcc_spectrum_search_frequencies.
fcc_spectrum_get_licenseread-onlyFetch one FCC ULS license or spectrum lease in full by callsign or unique system identifier (USI): licensee (the lessee on a lease), status and key dates, its locations with coordinates, elevation, structure height, and ASR number, each location's antennas, and each antenna's authorized frequencies with power, ERP/EIRP, station class, transmitter, and emission designators; geographic-area licenses list their market and spectrum blocks, and lease links are shown in both directions. Large records are paged: one call lists whole locations up to 50 sites and 100 antennas, up to max_frequencies frequency rows, and 100 leases, and names the location_offset or lease_offset that reads the rest; location_number starts the locations at a location number the search tools return. Technical detail is kept for active, pending-legal, and term-pending records only. A callsign shared by several records returns the active one, else the most recent.
fcc_spectrum_list_referenceread-onlyDecode FCC ULS codes used by the other tools — radio service codes, station classes, license statuses, location types, antenna types, applicant types, amateur operator classes — or report coverage: which service groups this index holds, record counts, and when each was last updated. Works before the index is built. Station classes describe licensed categories, not actual on-air activity.
fcc_spectrum_search_frequenciesread-onlyFind FCC ULS authorizations whose occupied band overlaps a frequency or band. Site assignments (land mobile, microwave, paging, cellular sites) return one row per site and frequency with the site's state and coordinates; market-area licenses and leases (PCS, AWS, 700 MHz, 3.45 and 3.7 GHz, and other auctioned blocks) return one row per spectrum block with its market code and name; 3.5 GHz Priority Access Licenses file no frequency, so list them with fcc_spectrum_search_licenses and radio_service PL. Filter by state, radio service, licensee, FRN, market code, and live status (active by default). For transmitter sites near a coordinate, use fcc_spectrum_find_transmitters.
fcc_spectrum_search_licensesread-onlySearch FCC ULS licenses and spectrum leases by callsign, licensee name, FCC Registration Number (FRN), market code, radio service, status, and licensee state, returning one row per record with its unique system identifier (USI) for fcc_spectrum_get_license. At least one of callsign, licensee, frn, market_code, radio_service, or state is required; status only narrows. Defaults to active records; pass status "any" to include expired, cancelled, and terminated ones. Licensee name matching is word-based (every word must appear as a word prefix), not fuzzy.

Schemas: list_tools.

Similar MCP servers

More from io.github.cyanheads

And 140 more from this publisher.

Official server.json
{
  "name": "io.github.cyanheads/fcc-spectrum-mcp-server",
  "title": "fcc-spectrum-mcp-server",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://fcc-spectrum.caseyjhand.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.2.0",
  "packages": [
    {
      "version": "0.2.0",
      "transport": {
        "type": "stdio"
      },
      "identifier": "@cyanheads/fcc-spectrum-mcp-server",
      "runtimeHint": "npx",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "environmentVariables": [
        {
          "name": "MCP_LOG_LEVEL",
          "format": "string",
          "default": "info",
          "description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn')."
        },
        {
          "name": "FCC_SPECTRUM_MIRROR_DIR",
          "format": "string",
          "default": ".mirror/fcc-uls",
          "description": "Directory for the local ULS index generations, current.json, the ingest lock, and temp zips. A relative path resolves against the working directory, so set an absolute path."
        },
        {
          "name": "FCC_SPECTRUM_SERVICES",
          "format": "string",
          "default": "LMpriv,LMcomm,LMbcast,micro,cell,market,paging,coast,mdsitfs,amat",
          "description": "Comma list of weekly ULS service groups to index, case-insensitive. Opt-in: gmrs, ship, aircr."
        },
        {
          "name": "FCC_SPECTRUM_REDACT_INDIVIDUALS",
          "format": "string",
          "default": "true",
          "description": "Redact individual licensees and trustee names and exclude individuals from name search. Only false/0/no/off disables it."
        },
        {
          "name": "FCC_SPECTRUM_BASE_URL",
          "format": "string",
          "default": "https://data.fcc.gov/download/pub/uls",
          "description": "ULS bulk file host root, read at ingest time only."
        }
      ]
    },
    {
      "version": "0.2.0",
      "transport": {
        "url": "http://localhost:3010/mcp",
        "type": "streamable-http"
      },
      "identifier": "@cyanheads/fcc-spectrum-mcp-server",
      "runtimeHint": "npx",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "environmentVariables": [
        {
          "name": "MCP_TRANSPORT_TYPE",
          "value": "http",
          "format": "string",
          "description": "Selects the HTTP transport."
        },
        {
          "name": "MCP_HTTP_HOST",
          "format": "string",
          "default": "127.0.0.1",
          "description": "The hostname for the HTTP server."
        },
        {
          "name": "MCP_HTTP_PORT",
          "format": "string",
          "default": "3010",
          "description": "The port to run the HTTP server on."
        },
        {
          "name": "MCP_HTTP_ENDPOINT_PATH",
          "format": "string",
          "default": "/mcp",
          "description": "The endpoint path for the MCP server."
        },
        {
          "name": "MCP_AUTH_MODE",
          "format": "string",
          "default": "none",
          "description": "Authentication mode to use: 'none', 'jwt', or 'oauth'."
        },
        {
          "name": "MCP_LOG_LEVEL",
          "format": "string",
          "default": "info",
          "description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn')."
        },
        {
          "name": "FCC_SPECTRUM_MIRROR_DIR",
          "format": "string",
          "default": ".mirror/fcc-uls",
          "description": "Directory for the local ULS index generations, current.json, the ingest lock, and temp zips. A relative path resolves against the working directory, so set an absolute path."
        },
        {
          "name": "FCC_SPECTRUM_SERVICES",
          "format": "string",
          "default": "LMpriv,LMcomm,LMbcast,micro,cell,market,paging,coast,mdsitfs,amat",
          "description": "Comma list of weekly ULS service groups to index, case-insensitive. Opt-in: gmrs, ship, aircr."
        },
        {
          "name": "FCC_SPECTRUM_REDACT_INDIVIDUALS",
          "format": "string",
          "default": "true",
          "description": "Redact individual licensees and trustee names and exclude individuals from name search. Only false/0/no/off disables it."
        },
        {
          "name": "FCC_SPECTRUM_BASE_URL",
          "format": "string",
          "default": "https://data.fcc.gov/download/pub/uls",
          "description": "ULS bulk file host root, read at ingest time only."
        }
      ]
    }
  ],
  "repository": {
    "url": "https://github.com/cyanheads/fcc-spectrum-mcp-server",
    "source": "github"
  },
  "description": "Search FCC radio licenses, find nearby licensed sites, and see who is licensed on a frequency."
}