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 "Deploy 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 Server What 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.
Related MCP server: mcp-server-3gpp
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.
Brand assets
The project name and the logo files in this repository are not part of the licensed work. The licence above grants no permission to use them, except as needed to describe the origin of the work.
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.
Available Tools
45 toolsautomotive_emc_overviewA
Get an overview of automotive EMC standards (CISPR 12, CISPR 25, ISO 11452, ISO 7637, UNECE R10).
Inputs: no named parameters.
automotive_immunity_methodC
Get details on an ISO 11452 immunity test method. Methods: ALSE (Part 2), TEM cell (Part 3), BCI (Part 4), stripline (Part 5), direct injection (Part 7), magnetic (Part 8), portable TX (Part 9), reverberation (Part 11).
Inputs: method (required).
ble_limitsA
Get Bluetooth Low Energy (BLE) regulatory limits. Returns power classes, channel plan, and regulatory limits per region.
Inputs: region.
certification_matrixA
Get a certification requirements matrix for a product type across target markets. Returns required certifications, timelines, modular approval options, and lab requirements. This is the key advisor tool for answering 'what certifications do I need?'
Inputs: product_type (required), markets.
cispr12_limitB
Get CISPR 12 vehicle-level emission limits for type approval.
Inputs: frequency_mhz (required).
cispr25_limitA
Get CISPR 25 automotive component emission limits. Returns limits for Classes 1-5 (1=least stringent, 5=most stringent).
Inputs: frequency_mhz (required), device_class, emission_type.
cispr_limitA
Get CISPR emission limits (CISPR 11, 22, 32, 14-1). Returns radiated or conducted limits for Class A or B.
Inputs: frequency_mhz (required), standard (required), device_class, emission_type.
data_sourcesB
List dataset sources, versions, and last-updated timestamps.
Inputs: no named parameters.
ecfr_queryB
Query the eCFR API for specific CFR sections.
Inputs: title (required), part (required), section.
emc_compare_limitsB
Compare emission limits between FCC and CISPR standards at a given frequency.
Inputs: frequency_mhz (required), device_class.
emc_standards_listA
List all available EMC standards and regulations in the database.
Inputs: no named parameters.
eu_harmonised_standardsA
Get EU harmonised standards for a product type or technology. Returns applicable EN standards for EMC, radio, and safety under RED/EMCD.
Inputs: technology, category.
fcc_cbrs_rulesA
Get FCC Part 96 CBRS (Citizens Broadband Radio Service) rules for 3.5 GHz shared spectrum.
Inputs: no named parameters.
fcc_part15_limitA
Get FCC Part 15 emission limits for a frequency. Returns Class A and/or Class B limits for unintentional radiators (15.109), intentional radiators (15.209), or conducted emissions (15.207).
Inputs: frequency_mhz (required), section, device_class.
fcc_part18_limitA
Get FCC Part 18 (ISM equipment) emission limits. Check ISM bands and limits for industrial/consumer ISM equipment.
Inputs: frequency_mhz (required), equipment_type.
fcc_part95_limitsA
Get FCC Part 95 personal radio service limits (FRS, GMRS, CB, MURS, LPRS).
Inputs: service.
fcc_part_lookupA
Look up FCC Parts 22, 24, 27, 90, 95, 96. Returns band allocations, power limits, and key rules for cellular, PCS, AWS/700MHz, land mobile, personal radio (GMRS/FRS), and CBRS.
Inputs: part (required).
fcc_restricted_bandsA
Check if a frequency falls within FCC Part 15.205 restricted bands.
Inputs: frequency_mhz (required).
fcc_restricted_bands_listC
List all FCC Part 15.205 restricted frequency bands.
Inputs: freq_min_mhz, freq_max_mhz.
frequency_conflict_checkA
Analyze frequency conflicts and coexistence issues for multi-radio designs. Identifies overlapping bands, restricted band conflicts, and harmonic issues.
Inputs: radios (required).
frequency_to_bandA
Find which LTE/NR bands contain a given frequency.
Inputs: frequency_mhz (required).
iec61000_overviewA
Get an overview of all IEC 61000-4-x immunity tests with typical levels for residential and industrial environments.
Inputs: no named parameters.
iec61000_test_levelsB
Get IEC 61000-4-x immunity test levels. Standards: ESD (4-2), radiated (4-3), EFT/burst (4-4), surge (4-5), conducted RF (4-6), magnetic field (4-8), voltage dips (4-11).
Inputs: standard (required), level.
immunity_test_planB
Get a suggested immunity test plan for a product type. Returns applicable IEC 61000-4-x tests and recommended levels.
Inputs: environment (required).
ised_limitA
Get ISED Canada (RSS-247 / ICES-003) limits. Returns wireless power limits and IT equipment emission limits.
Inputs: standard, band.
ism_bands_listA
List all ISM (Industrial, Scientific, Medical) frequency bands per ITU Radio Regulations.
Inputs: no named parameters.
iso11452_levelsA
Get ISO 11452-2 radiated immunity test levels for automotive components.
Inputs: no named parameters.
iso16750_conditionsA
Get ISO 16750 environmental conditions for automotive electronic equipment. Covers electrical loads, vibration, temperature, and chemical exposure by mounting location.
Inputs: category, location.
iso7637_pulsesB
Get ISO 7637-2 conducted transient immunity test pulses for automotive components.
Inputs: no named parameters.
lte_band_lookupA
Look up 3GPP LTE band information by band number. Returns frequencies, duplex mode, bandwidths.
Inputs: band (required).
lte_bands_listA
List all LTE bands, optionally filtered by region or carrier.
Inputs: region, carrier.
market_requirementsA
Get regulatory requirements for a specific market. Returns regulatory body, agencies, key standards, certification process, and modular approval rules. Markets: us, ca, eu, jp, kr, cn, au, in, br, tw, sg.
Inputs: market (required).
medical_emc_requirementsB
Get IEC 60601-1-2 medical device EMC requirements. Returns emission limits and immunity levels for professional or home healthcare environments.
Inputs: environment.
medical_immunity_levelsB
Get detailed IEC 60601-1-2 immunity test levels including proximity immunity (Table 9) for wireless devices near medical equipment.
Inputs: include_proximity.
nr_band_lookupA
Look up 3GPP 5G NR band information by band name (e.g., n77, n260).
Inputs: band (required).
nr_bands_listB
List all 5G NR bands, optionally filtered by frequency range (FR1 sub-6GHz, FR2 mmWave).
Inputs: frequency_range, carrier.
oem_emc_requirementsA
Get OEM-specific automotive EMC requirements. Returns emission class, immunity level, BCI level, and special requirements. OEMs: gm, ford, vw, bmw, stellantis, toyota, hyundai, mercedes, tesla, generic.
Inputs: oem, location.
product_certification_advisorA
Get a complete certification roadmap for a multi-radio product across target markets. Identifies required certifications, test overlaps, modular approval options, and estimated timelines. The primary advisor tool.
Inputs: radios (required), markets (required), form_factor.
protocol_comparisonB
Compare power limits and key parameters across wireless protocols. Useful for selecting technologies or understanding coexistence.
Inputs: region, band.
protocol_limitsB
Get regulatory limits for short-range wireless protocols: Zigbee/Thread/Matter, LoRa/LoRaWAN, UWB, Wi-SUN, DECT, NB-IoT, LTE-M.
Inputs: protocol (required), region.
safety_standard_lookupA
Look up safety standards: IEC 62368-1 (IT/AV), IEC 60601-1 (medical), IEC 61010-1 (lab equipment), UL standards. Returns scope, energy source classes, certification marks.
Inputs: standard.
source_searchB
Search configured regulatory sources for a query and return top links.
Inputs: query (required), source_ids, max_sources, max_results, +2 more.
standard_cross_referenceA
Find equivalent standards across different markets. E.g., CISPR 32 equivalents: FCC Part 15B (US), ICES-003 (CA), EN 55032 (EU), VCCI (JP), KN 32 (KR).
Inputs: category, market.
test_plan_generatorA
Generate a comprehensive EMC/RF test plan for a product. Covers emissions, immunity, RF performance, and safety based on target markets and product type.
Inputs: product_type (required), markets (required), environment.
wifi_limitsA
Get WiFi regulatory limits for a given band, protocol, and region. Covers 2.4 GHz, 5 GHz (UNII-1/2A/2C/3), 6 GHz (LPI/SP/VLP), and sub-1 GHz (802.11ah). Returns max power, EIRP, DFS requirements, channel plans.
Inputs: band, region, protocol.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 45 tools
Most tools have distinct purposes, e.g., separate tools for different CISPR parts and FCC parts. However, some overlap exists between advisor tools (certification_matrix, product_certification_advisor, market_requirements) and test planners (test_plan_generator, immunity_test_plan), though descriptions clarify roles.
Tool names predominantly follow a descriptive noun_verb pattern (e.g., cispr12_limit, fcc_part15_limit, lte_band_lookup). Some abbreviations are used consistently, but a few names like 'frequency_to_band' break the pattern. Overall, naming is clear and mostly consistent.
45 tools is excessive for typical server usage, risking agent confusion and selection overhead. While the domain is broad, many tools could be consolidated (e.g., merging related limit queries or test planners). This high count likely degrades coherence.
The tool set thoroughly covers EMC regulations: limits from major standards (CISPR, FCC, ISED), test methods (automotive, medical, general), certification roadmaps, market-specific requirements, and cross-references. No obvious gaps for the stated domain.
Maintenance
Related MCP Connectors
Cited product-compliance ground truth for AI agents. Never generates; always cites.
Deterministic, sourced EU compliance checks: NIS2, DORA, GDPR, Cyber Resilience Act and AI Act.
Compliance answers for 10 construction trades in AU, UK, US, CA and EU: codes, licensing, RAMS.
Compliance frameworks (SOC 2, ISO 27001, CMMC, NIST, more) delivered to AI agents as MCP tools.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to access and search 3GPP telecommunications specifications through direct integration with the TSpec-LLM dataset. Provides real-time specification content, implementation requirements, and multi-spec comparisons for 3GPP standards development.441 npm29MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to search and retrieve information from 3GPP specification documents, including full-text search and specific lookup for LTE and 5G NAS cause values. It comes with pre-processed data for major specifications covering NAS, RRC, and protocol conformance testing.35MIT
- FlicenseNot gradedqualityDmaintenanceSemantic search and structured queries over IEEE 802.11 specifications, enabling AI assistants to search technical content, tables, and figures across multiple standards.1-
- AlicenseNot gradedqualityCmaintenanceMCP server providing access to US FCC regulations (47 CFR) via Pipeworx gateway. Enables AI agents to query FCC rules and data sources using natural language.298 npm1MIT