EMC Regulations MCP Server
This server provides instant access to EMC/RF regulatory data for engineers across FCC, CISPR, automotive, and cellular standards.
FCC Regulations
Look up Part 15 emission limits (radiated 15.109, conducted 15.207, intentional radiators 15.209) for Class A/B devices
Look up Part 18 ISM equipment emission limits for consumer/industrial equipment
Check if a frequency falls within FCC Part 15.205 restricted bands, or list all restricted bands
List all ISM frequency bands per ITU Radio Regulations
CISPR Standards
Retrieve CISPR 11, 22, 32, and 14-1 emission limits (radiated/conducted, Class A/B) at a given frequency
Compare FCC vs CISPR limits side-by-side at a given frequency
Automotive EMC
Get CISPR 25 component emission limits (Classes 1–5) and CISPR 12 vehicle-level limits
Get ISO 11452-2 radiated immunity levels and ISO 7637-2 conducted transient pulses
Get a full overview of automotive EMC standards (CISPR 12/25, ISO 11452/7637, UNECE R10)
Cellular Frequency Bands
Look up LTE and 5G NR band details (frequencies, duplex mode, bandwidths) by band number/name
List bands filtered by region (Americas, Europe, APAC) or US carrier (AT&T, Verizon, T-Mobile)
Find which LTE/NR bands contain a specific frequency
Reference & Data
List all available EMC standards in the database
Query the eCFR API live for specific CFR regulatory text
Search external regulatory sources (FCC KDB, ISED, gov.uk, etc.)
View dataset sources, versions, and last-updated timestamps
Provides access to AT&T's cellular band assignments for LTE and 5G NR networks in the United States.
Enables querying of FCC regulatory standards including Part 15 emission limits, Part 18 ISM equipment requirements, restricted frequency bands, and live access to eCFR API for CFR regulatory text.
Provides access to Verizon's cellular band assignments for LTE and 5G NR networks in the United States.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@EMC Regulations MCP ServerWhat are the FCC Part 15 Class B radiated limits at 100 MHz?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
EMC and RF regulatory lookup — emission limits, immunity levels, restricted bands, and certification matrices. Drive it from your IDE, terminal, or AI agent the moment a compliance question shows up.
Quick start · Tools · Workflows · Documentation
What is mcp-emc-regulations?
mcp-emc-regulations is an MCP server that answers concrete EMC and RF
compliance questions — emission limits, immunity test levels, frequency
allocations, restricted bands, certification requirements — directly
from cited standards. No PDFs, no copy-paste from a regulatory site.
It implements lookups against curated datasets sourced from FCC Part 15/18/95, CISPR 11/12/14-1/22/25/32, IEC 61000-4-x, ISO 11452 / 7637 / 16750, 3GPP TS 36.101 / 38.101, ISED RSS-Gen, and EU harmonised standards. Live FCC text is fetched on demand from the official eCFR API.
What it does well:
🤖 AI-native via MCP. First-class Model Context Protocol server with 45 tools across FCC, CISPR, automotive, medical, cellular, wireless protocols, and certification advisory.
🐍 Multiple surfaces. Use it from any MCP client (Claude Desktop, Claude Code, Codex), or call the Python package directly.
⚡ Cited and dated. Every dataset carries
source,version, andlast_updated. Thedata_sourcestool reports current versions; live eCFR queries are tagged with the eCFR snapshot date.✅ Composable. Compare FCC vs CISPR at a frequency with distance correction. Generate full test plans (
test_plan_generator,immunity_test_plan) across regions and standards in one call.🔒 MIT licensed. Drop-in for compliance review workflows.
Quick start
Install
Pre-alpha: not yet on PyPI. Install from source:
git clone https://github.com/RFingAdam/mcp-emc-regulations.git cd mcp-emc-regulations uv pip install -e .
Two surfaces, same answer
Python
from mcp_emc_regulations.tools import fcc
# FCC Part 15.109 Class B radiated limit at 100 MHz
result = fcc.fcc_part15_limit(
section="15.109",
frequency_mhz=100,
classification="B",
)
print(result)CLI (via uv run)
uv run --directory /path/to/mcp-emc-regulations \
mcp-emc-regulations
# JSON-RPC over stdio — drive it from any MCP clientMCP (Claude Desktop, Claude Code, Codex CLI, any MCP client)
Add to your claude_desktop_config.json:
{
"mcpServers": {
"emc-regulations": {
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-emc-regulations", "mcp-emc-regulations"]
}
}
}Then ask your assistant in plain English:
"What's the FCC Part 15 Class B radiated limit at 100 MHz, and how does it compare to CISPR 32 Class B at the same frequency?"
The agent calls fcc_part15_limit and emc_compare_limits and reports
both with distance corrections.
Tools
45 MCP tools, grouped by domain. Full reference in docs/tools.md.
Emission limits
Tool | Purpose | Key arguments |
| FCC Part 15.109/15.207/15.209 limits |
|
| FCC Part 18 ISM equipment limits |
|
| FCC Part 95 personal radio service limits |
|
| FCC Part 96 CBRS rules / SAS administrators |
|
| Find the FCC Part that applies to a frequency / device |
|
| CISPR 11/22/32/14-1 limits |
|
| ISED RSS-Gen limits (Canada) |
|
| Compare FCC vs CISPR at a frequency with distance correction |
|
Automotive
Tool | Purpose |
| CISPR 25 component emission limits (Classes 1–5) |
| CISPR 12 vehicle-level emission limits |
| ISO 11452-2 radiated immunity test levels |
| ISO 7637-2 conducted transient test pulses |
| ISO 16750 environmental test conditions |
| CISPR/ISO/UNECE R10 summary |
| Per-method immunity test details (BCI, ALSE, TEM) |
| OEM-specific EMC test specs (GMW, FORD-ES, VW80000) |
Medical / safety
Tool | Purpose |
| IEC 60601-1-2 medical EMC requirements |
| IEC 60601-1-2 immunity test levels by use environment |
| Safety standards by product category |
Immunity (IEC 61000-4-x)
Tool | Purpose |
| IEC 61000-4 immunity test levels |
| IEC 61000-4 family overview |
| Generate immunity test plan for a product class |
Cellular (3GPP)
Tool | Purpose |
| Look up LTE band by number |
| List LTE bands (filter by region/carrier) |
| Look up 5G NR band by name (n77, n260, …) |
| List NR bands (FR1, FR2, by carrier) |
| Find which LTE/NR bands contain a frequency |
Wireless protocols
Tool | Purpose |
| Wi-Fi (FCC Part 15.247/15.407) channel/EIRP limits |
| BLE / Bluetooth FCC/CE limits |
| Generic wireless protocol limit lookup |
| Compare wireless protocol limits across regions |
Frequency bands
Tool | Purpose |
| Check if frequency is in FCC 15.205 restricted band |
| List all FCC restricted bands |
| List all ISM frequency bands |
| Check for conflicts between a frequency and restricted bands |
Certification advisory
Tool | Purpose |
| Region/market certification advice for a product |
| Generate a multi-region EMC test plan |
| Cross-reference equivalent standards across regions |
| Region × test-type certification matrix |
| Market-specific requirements (US, EU, JP, KR, AU, …) |
| EU harmonised standards lookup (Annex Z mappings) |
Reference / sources
Tool | Purpose |
| List every standard known to the server |
| Show dataset sources, versions, and last-updated dates |
| Search configured regulatory sources |
| Live eCFR API query for 47 CFR (FCC) text |
What it solves
Domain | Coverage | Source / Standard |
FCC (US) | Part 15, 18, 95, 96 (CBRS) — emission + restricted bands | 47 CFR via eCFR API + curated tables |
CISPR (international) | CISPR 11, 12, 14-1, 22, 25, 32 — emission limits | IEC/CISPR published standards |
Automotive | CISPR 25/12, ISO 11452, 7637, 16750, UNECE R10, OEM specs | IEC, ISO, UNECE, GMW/FORD/VW |
Medical | IEC 60601-1-2 emission + immunity by environment | IEC 60601-1-2 ed. 4 |
Immunity | IEC 61000-4-2/-3/-4/-5/-6/-8/-11 | IEC 61000-4 series |
Cellular | LTE bands 1–88, NR FR1 + FR2, carrier band lists | 3GPP TS 36.101, 38.101 |
Wireless | Wi-Fi 2.4/5/6/7 GHz, BLE, Bluetooth Classic | FCC 15.247/15.407, CE harmonised, ETSI EN 300 328 |
Certification | US/CA/EU/JP/KR/AU markets + matrix + harmonised lists | Per-region regulator publications |
Workflows
mcp-emc-regulations fits in the following eng-mcp-suite
workflow bundles:
emc-compliance— combine withmcp-pcb-emcopilotanddrawio-engineering-mcpfor the full layout-to-cert-letter loop.rf-design— verify wireless-protocol limits and restricted bands while sizing a transmit chain.automotive-emc— chain CISPR 25 / ISO 11452 lookups with test setup generation indrawio-engineering-mcp.
Part of eng-mcp-suite.
Use in the emc-compliance workflow bundle.
See the suite manifest for the full list of sibling MCPs and bundle definitions.
Documentation
📘 Quick Start — install through first call.
🛠️ Tool reference — every MCP tool, every argument.
📐 Usage examples — practical end-to-end walkthroughs.
🏗️ Architecture — how this MCP fits in eng-mcp-suite.
Part of eng-mcp-suite
This MCP server is part of
An open umbrella for engineering MCP servers across RF, EMC, PCB, signal integrity, EM simulation, and lab test. Same brand, same docs structure, designed to compose. See the full catalog or jump to a sibling:
Domain | Sibling MCPs |
RF / Transmission lines | |
EMC regulatory | mcp-emc-regulations (this repo) |
PCB / SI | mcp-pcb-emcopilot (private — public soon) |
EM simulation | mcp-openems, mcp-nec2-antenna (private — public soon) |
Diagrams | |
3D / rendering | |
Remote access | |
Lab gear | copper-mountain-vna-mcp, mcp-rs-spectrum-analyzer, mcp-rs-siggen, mcp-rs-cmw500 |
Data currency
Curated datasets in
src/mcp_emc_regulations/data/carrymetadatafields withsource,version, andlast_updated. Use thedata_sourcestool to see versions at runtime.ecfr_querypulls live CFR text from the eCFR API on each call.For compliance work, verify against the official standard before sign-off.
External sources can be configured in sources.json; use sources.local.json
for private overrides. Run:
uv run python scripts/update_sources.pyto refresh data_sources/manifest.json.
Contributing
Contributions are welcome.
Pick a GitHub issue.
Fork + branch (
feature/your-thingorfix/your-bug).Run the local check suite:
uv run pytestOpen a PR — link the issue, request review.
License
AGPL-3.0-or-later. Earlier commits had a stale "MIT" badge without a matching LICENSE file; v0.2.0 settles the repo on AGPL-3.0-or-later to align with the eng-mcp-suite toolkit-wide license move.
Acknowledgments
eCFR — for the live regulatory text API.
FCC / IEC / ISO / CISPR / 3GPP / ISED / ETSI — for the published standards this server indexes.
The MCP working group — for the Model Context Protocol specification.
Part of eng-mcp-suite — built for RF engineers, PCB designers, EMC labs, and AI agents.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/RFingAdam/mcp-emc-regulations'
If you have feedback or need assistance with the MCP directory API, please join our Discord server