fcc_restricted_bands
Check if a frequency falls within FCC Part 15.205 restricted bands for regulatory compliance.
Instructions
Check if a frequency falls within FCC Part 15.205 restricted bands.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| frequency_mhz | Yes | Frequency in MHz to check |
Implementation Reference
- src/mcp_emc_regulations/tools/fcc.py:66-76 (registration)Tool 'fcc_restricted_bands' is registered in FCCTools.list_tools() with its name, description, and inputSchema requiring frequency_mhz.
Tool( name="fcc_restricted_bands", description="Check if a frequency falls within FCC Part 15.205 restricted bands.", inputSchema={ "type": "object", "properties": { "frequency_mhz": {"type": "number", "description": "Frequency in MHz to check"}, }, "required": ["frequency_mhz"], }, ), - Dispatcher in FCCTools.call_tool() that routes 'fcc_restricted_bands' to _restricted_bands() handler.
elif name == "fcc_restricted_bands": return self._restricted_bands(arguments) - The _restricted_bands() handler that checks if a given frequency falls within an FCC Part 15.205 restricted band by calling check_restricted_band() and returning a human-readable result.
@staticmethod def _restricted_bands(arguments: dict[str, Any]) -> list[TextContent]: freq_mhz = arguments["frequency_mhz"] restricted = check_restricted_band(freq_mhz) if restricted: result = "\u26a0\ufe0f RESTRICTED BAND\n\n" result += f"Frequency {freq_mhz} MHz falls within a restricted band per 47 CFR 15.205:\n\n" result += f" Band: {restricted['freq_min_mhz']} - {restricted['freq_max_mhz']} MHz\n" result += f" Protected Service: {restricted['service']}\n\n" result += "Intentional radiators are generally prohibited from operating in this band." else: result = f"\u2713 CLEAR\n\nFrequency {freq_mhz} MHz is NOT in a restricted band." return [TextContent(type="text", text=result)] - Helper check_restricted_band() that iterates over RESTRICTED_BANDS data to determine if a frequency falls in any restricted band range.
def check_restricted_band(freq_mhz: float) -> dict | None: """Check if frequency is in a restricted band.""" for band in RESTRICTED_BANDS.get("restricted_bands", []): if band["freq_min_mhz"] <= freq_mhz <= band["freq_max_mhz"]: return band return None - Loading of RESTRICTED_BANDS data from 'restricted_bands.json' JSON file used by the helper and handler.
RESTRICTED_BANDS = load_json("restricted_bands.json")