security-controls-mcp 0.3.4__py3-none-any.whl → 0.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,6 +13,7 @@ class SCFData:
13
13
  self.controls_by_id: dict[str, dict[str, Any]] = {}
14
14
  self.framework_to_scf: dict[str, dict[str, list[str]]] = {}
15
15
  self.frameworks: dict[str, dict[str, Any]] = {}
16
+ self.framework_categories: dict[str, list[str]] = {}
16
17
  self._load_data()
17
18
 
18
19
  def _load_data(self):
@@ -36,51 +37,364 @@ class SCFData:
36
37
 
37
38
  def _build_framework_metadata(self):
38
39
  """Build framework metadata from controls."""
39
- # Framework display names (keys must match actual data which uses dots in version numbers)
40
+ # Complete framework display names for all 261 frameworks in SCF 2025.4
40
41
  framework_names = {
41
- # Original 16 frameworks
42
- "nist_csf_2.0": "NIST Cybersecurity Framework 2.0",
43
- "nist_800_53_r5": "NIST SP 800-53 Revision 5",
42
+ # === TIER 0: AI GOVERNANCE ===
43
+ "iso_42001_2023": "ISO/IEC 42001:2023 (AI Management System)",
44
+ "nist_ai_rmf_1.0": "NIST AI 100-1 (AI Risk Management Framework) 1.0",
45
+ "nist_ai_600_1": "NIST AI 600-1 (Generative AI Profile)",
46
+ "eu_ai_act": "EU AI Act (Regulation 2024/1689)",
47
+ "eu_cyber_resilience_act": "EU Cyber Resilience Act",
48
+ "eu_cra_annexes": "EU Cyber Resilience Act Annexes",
49
+
50
+ # === CORE FRAMEWORKS ===
51
+ # SOC 2 / Audit
52
+ "soc_2_tsc": "AICPA TSC 2017:2022 (SOC 2)",
53
+
54
+ # CIS Controls
55
+ "cis_csc_8.1": "CIS Critical Security Controls v8.1",
56
+ "cis_csc_8.1_ig1": "CIS CSC v8.1 Implementation Group 1",
57
+ "cis_csc_8.1_ig2": "CIS CSC v8.1 Implementation Group 2",
58
+ "cis_csc_8.1_ig3": "CIS CSC v8.1 Implementation Group 3",
59
+
60
+ # Governance
61
+ "cobit_2019": "COBIT 2019",
62
+ "coso_2017": "COSO 2017",
63
+
64
+ # === CLOUD SECURITY ===
65
+ "csa_ccm_4": "CSA Cloud Controls Matrix v4",
66
+ "csa_iot_scf_2": "CSA IoT Security Controls Framework 2",
67
+ "germany_c5_2020": "Germany C5:2020 (Cloud)",
68
+
69
+ # === ISO STANDARDS ===
44
70
  "iso_27001_2022": "ISO/IEC 27001:2022",
45
71
  "iso_27002_2022": "ISO/IEC 27002:2022",
46
- "cis_csc_8.1": "CIS Critical Security Controls v8.1",
47
- "pci_dss_4.0.1": "PCI DSS v4.0.1",
72
+ "iso_27017_2015": "ISO/IEC 27017:2015 (Cloud Security)",
73
+ "iso_27018_2014": "ISO/IEC 27018:2014 (Cloud Privacy)",
74
+ "iso_27701_2025": "ISO/IEC 27701:2025 (Privacy Extension)",
75
+ "iso_22301_2019": "ISO/IEC 22301:2019 (Business Continuity)",
76
+ "iso_29100_2024": "ISO/IEC 29100:2024 (Privacy Framework)",
77
+ "iso_31000_2009": "ISO 31000:2009 (Risk Management)",
78
+ "iso_31010_2009": "ISO 31010:2009 (Risk Assessment)",
79
+ "iso_sae_21434_2021": "ISO/SAE 21434:2021 (Automotive Cybersecurity)",
80
+
81
+ # === INDUSTRIAL / OT ===
82
+ "iec_62443_4_2_2019": "IEC 62443-4-2:2019 (Industrial Security)",
83
+ "iec_tr_60601_4_5_2021": "IEC TR 60601-4-5:2021 (Medical IT)",
84
+ "nerc_cip_2024": "NERC CIP 2024",
85
+ "nist_800_82_r3_low": "NIST SP 800-82 R3 OT Overlay (Low)",
86
+ "nist_800_82_r3_moderate": "NIST SP 800-82 R3 OT Overlay (Moderate)",
87
+ "nist_800_82_r3_high": "NIST SP 800-82 R3 OT Overlay (High)",
88
+ "imo_maritime_cyber": "IMO Maritime Cyber Risk Management",
89
+
90
+ # === PRIVACY FRAMEWORKS ===
91
+ "gdpr": "General Data Protection Regulation (GDPR)",
92
+ "nist_privacy_framework_1.0": "NIST Privacy Framework 1.0",
93
+ "apec_privacy_2015": "APEC Privacy Framework 2015",
94
+ "gapp": "Generally Accepted Privacy Principles (GAPP)",
95
+ "oecd_privacy": "OECD Privacy Principles",
96
+ "us_dpf": "US Data Privacy Framework",
97
+
98
+ # === NIST FRAMEWORKS ===
99
+ "nist_csf_2.0": "NIST Cybersecurity Framework 2.0",
100
+ "nist_800_37_r2": "NIST SP 800-37 R2 (Risk Management Framework)",
101
+ "nist_800_39": "NIST SP 800-39 (Risk Management)",
102
+ "nist_800_53_r4": "NIST SP 800-53 R4",
103
+ "nist_800_53_r4_low": "NIST SP 800-53 R4 (Low)",
104
+ "nist_800_53_r4_moderate": "NIST SP 800-53 R4 (Moderate)",
105
+ "nist_800_53_r4_high": "NIST SP 800-53 R4 (High)",
106
+ "nist_800_53_r5": "NIST SP 800-53 R5",
107
+ "nist_800_53b_r5_privacy": "NIST SP 800-53B R5 (Privacy)",
108
+ "nist_800_53b_r5_low": "NIST SP 800-53B R5 (Low)",
109
+ "nist_800_53b_r5_moderate": "NIST SP 800-53B R5 (Moderate)",
110
+ "nist_800_53b_r5_high": "NIST SP 800-53B R5 (High)",
111
+ "nist_800_53_r5_noc": "NIST SP 800-53 R5 (NOC)",
112
+ "nist_800_63b": "NIST SP 800-63B (Digital Identity)",
113
+ "nist_800_160": "NIST SP 800-160 (Systems Security Engineering)",
114
+ "nist_800_161_r1": "NIST SP 800-161 R1 (Supply Chain)",
115
+ "nist_800_161_r1_baseline": "NIST SP 800-161 R1 C-SCRM Baseline",
116
+ "nist_800_161_r1_flowdown": "NIST SP 800-161 R1 Flow Down",
117
+ "nist_800_161_r1_level1": "NIST SP 800-161 R1 Level 1",
118
+ "nist_800_161_r1_level2": "NIST SP 800-161 R1 Level 2",
119
+ "nist_800_161_r1_level3": "NIST SP 800-161 R1 Level 3",
120
+ "nist_800_171_r2": "NIST SP 800-171 R2 (CUI)",
121
+ "nist_800_171a": "NIST SP 800-171A (Assessment)",
122
+ "nist_800_171_r3": "NIST SP 800-171 R3 (CUI)",
123
+ "nist_800_171a_r3": "NIST SP 800-171A R3 (Assessment)",
124
+ "nist_800_172": "NIST SP 800-172 (Enhanced CUI)",
125
+ "nist_800_207": "NIST SP 800-207 (Zero Trust)",
126
+ "nist_800_218": "NIST SP 800-218 (SSDF)",
127
+
128
+ # === FEDRAMP ===
129
+ "fedramp_r4": "FedRAMP R4",
130
+ "fedramp_r4_low": "FedRAMP R4 (Low)",
131
+ "fedramp_r4_moderate": "FedRAMP R4 (Moderate)",
132
+ "fedramp_r4_high": "FedRAMP R4 (High)",
133
+ "fedramp_r4_lisaas": "FedRAMP R4 (LI-SaaS)",
134
+ "fedramp_r5": "FedRAMP R5",
135
+ "fedramp_r5_low": "FedRAMP R5 (Low)",
136
+ "fedramp_r5_moderate": "FedRAMP R5 (Moderate)",
137
+ "fedramp_r5_high": "FedRAMP R5 (High)",
138
+ "fedramp_r5_lisaas": "FedRAMP R5 (LI-SaaS)",
139
+
140
+ # === GOVRAMP / STATERAMP ===
141
+ "govramp_core": "GovRAMP Core",
142
+ "govramp_low": "GovRAMP Low",
143
+ "govramp_low_plus": "GovRAMP Low+",
144
+ "govramp_moderate": "GovRAMP Moderate",
145
+ "govramp_high": "GovRAMP High",
146
+
147
+ # === CMMC ===
48
148
  "cmmc_2.0_level_1": "CMMC 2.0 Level 1",
149
+ "cmmc_2.0_level_1_aos": "CMMC 2.0 Level 1 AOs",
49
150
  "cmmc_2.0_level_2": "CMMC 2.0 Level 2",
50
- "soc_2_tsc": "SOC 2 (TSC 2017:2022)",
151
+ "cmmc_2.0_level_3": "CMMC 2.0 Level 3",
152
+
153
+ # === PCI DSS ===
154
+ "pci_dss_4.0.1": "PCI DSS v4.0.1",
155
+ "pci_dss_4.0.1_saq_a": "PCI DSS v4.0.1 SAQ A",
156
+ "pci_dss_4.0.1_saq_a_ep": "PCI DSS v4.0.1 SAQ A-EP",
157
+ "pci_dss_4.0.1_saq_b": "PCI DSS v4.0.1 SAQ B",
158
+ "pci_dss_4.0.1_saq_b_ip": "PCI DSS v4.0.1 SAQ B-IP",
159
+ "pci_dss_4.0.1_saq_c": "PCI DSS v4.0.1 SAQ C",
160
+ "pci_dss_4.0.1_saq_c_vt": "PCI DSS v4.0.1 SAQ C-VT",
161
+ "pci_dss_4.0.1_saq_d_merchant": "PCI DSS v4.0.1 SAQ D (Merchant)",
162
+ "pci_dss_4.0.1_saq_d_sp": "PCI DSS v4.0.1 SAQ D (Service Provider)",
163
+ "pci_dss_4.0.1_saq_p2pe": "PCI DSS v4.0.1 SAQ P2PE",
164
+
165
+ # === HEALTHCARE ===
166
+ "hipaa_security_rule": "HIPAA Security Rule / NIST SP 800-66 R2",
167
+ "hipaa_admin_2013": "HIPAA Administrative Simplification 2013",
168
+ "hipaa_hicp_small": "HIPAA HICP Small Practice",
169
+ "hipaa_hicp_medium": "HIPAA HICP Medium Practice",
170
+ "hipaa_hicp_large": "HIPAA HICP Large Practice",
171
+ "cms_mars_e_2.0": "CMS MARS-E 2.0 (Healthcare Exchanges)",
172
+ "hhs_45_cfr_155_260": "HHS 45 CFR 155.260",
173
+
174
+ # === US FINANCIAL ===
175
+ "sox": "Sarbanes-Oxley Act (SOX)",
176
+ "glba_cfr_314_2023": "GLBA CFR 314 (Dec 2023)",
177
+ "ffiec": "FFIEC Cybersecurity Assessment",
178
+ "us_finra": "US FINRA",
179
+ "sec_cybersecurity_rule": "SEC Cybersecurity Rule",
180
+ "us_facta": "US FACTA",
181
+ "ftc_act": "FTC Act",
182
+ "naic_mdl_668": "NAIC Insurance Data Security Model Law (MDL-668)",
183
+ "fca_crm": "FCA CRM",
184
+
185
+ # === US FEDERAL / DEFENSE ===
186
+ "cjis_5.9.3": "CJIS Security Policy v5.9.3",
187
+ "irs_1075": "IRS Publication 1075",
188
+ "dfars_252_204_70xx": "DFARS 252.204-70xx (Cybersecurity)",
189
+ "far_52_204_21": "FAR 52.204-21 (Basic Safeguarding)",
190
+ "far_52_204_25": "FAR 52.204-25 (NDAA Section 889)",
191
+ "far_52_204_27": "FAR 52.204-27",
192
+ "itar_part_120": "ITAR Part 120",
193
+ "nispom_2020": "NISPOM 2020",
194
+ "us_nnpi": "US NNPI (Unclassified)",
195
+ "nstc_nspm_33": "NSTC NSPM-33",
196
+ "eo_14028": "EO 14028 (Improving Cybersecurity)",
197
+ "dod_zt_roadmap": "DoD Zero Trust Execution Roadmap",
198
+ "dod_ztra_2.0": "DoD Zero Trust Reference Architecture 2.0",
199
+ "dhs_cisa_ssdaf": "DHS CISA SSDAF",
200
+ "dhs_cisa_tic_3.0": "DHS CISA TIC 3.0",
201
+ "dhs_ztcf": "DHS Zero Trust Capability Framework",
202
+ "us_cisa_cpg_2022": "CISA Cross-Sector CPG 2022",
203
+ "us_c2m2_2.1": "US C2M2 2.1 (Capability Maturity)",
204
+ "us_cert_rmm_1.2": "US CERT RMM 1.2 (Resilience)",
205
+ "us_ferpa": "US FERPA (Education Privacy)",
206
+ "us_fipps": "US FIPPs (Fair Information Practice)",
207
+ "us_coppa": "US COPPA (Children's Privacy)",
208
+ "fda_21_cfr_part_11": "FDA 21 CFR Part 11 (Electronic Records)",
209
+ "tsa_dhs_1580_82_2022": "TSA/DHS 1580/82-2022-01",
210
+ "ssa_eiesr_8.0": "SSA EIESR 8.0",
211
+
212
+ # === US STATE LAWS ===
213
+ "us_ca_ccpa_2025": "California CCPA/CPRA 2025",
214
+ "us_ca_sb327": "California SB327 (IoT)",
215
+ "us_ca_sb1386": "California SB1386",
216
+ "nydfs_500_2023": "NY DFS 23 NYCRR 500 (2023 Amendment)",
217
+ "us_ny_shield": "New York SHIELD Act",
218
+ "us_co_cpa": "Colorado Privacy Act",
219
+ "us_va_cdpa_2025": "Virginia CDPA 2025",
220
+ "us_or_cpa": "Oregon Consumer Privacy Act",
221
+ "us_or_646a": "Oregon 646A",
222
+ "us_tn_tipa": "Tennessee TIPA",
223
+ "tx_ramp_level_1": "TX-RAMP Level 1",
224
+ "tx_ramp_level_2": "TX-RAMP Level 2",
225
+ "us_tx_cdpa": "Texas CDPA",
226
+ "us_tx_dir_2.0": "Texas DIR Control Standards 2.0",
227
+ "us_tx_bc521": "Texas BC521",
228
+ "us_tx_sb820": "Texas SB 820",
229
+ "us_tx_sb2610": "Texas SB 2610",
230
+ "us_ma_201_cmr_17": "Massachusetts 201 CMR 17.00",
231
+ "us_il_bipa": "Illinois BIPA (Biometric)",
232
+ "us_il_ipa": "Illinois IPA",
233
+ "us_il_pipa": "Illinois PIPA",
234
+ "us_nv_noge_reg_5": "Nevada NOGE Reg 5",
235
+ "us_nv_sb220": "Nevada SB220",
236
+ "us_ak_pipa": "Alaska PIPA",
237
+ "us_vt_act_171": "Vermont Act 171 of 2018",
238
+
239
+ # === EU REGULATIONS ===
51
240
  "dora": "Digital Operational Resilience Act (DORA)",
52
- "nis2": "Network and Information Security Directive (NIS2)",
53
- "gdpr": "General Data Protection Regulation (GDPR)",
54
- "ncsc_caf_4.0": "NCSC Cyber Assessment Framework 4.0",
241
+ "nis2": "NIS2 Directive",
242
+ "nis2_annex": "NIS2 Directive Annex",
243
+ "psd2": "PSD2 (Payment Services Directive)",
244
+ "eu_eba_gl_2019_04": "EU EBA GL/2019/04",
245
+
246
+ # === EMEA NATIONAL ===
247
+ "uk_caf_4.0": "UK Cyber Assessment Framework 4.0",
55
248
  "uk_cyber_essentials": "UK Cyber Essentials",
56
- "fedramp_r5_moderate": "FedRAMP Revision 5 (Moderate)",
57
- "hipaa_security_rule": "HIPAA Security Rule",
58
- # Tier 1: APAC (3 frameworks)
249
+ "uk_dpa": "UK Data Protection Act",
250
+ "uk_defstan_05_138": "UK DEFSTAN 05-138",
251
+ "uk_cap_1850": "UK CAP 1850",
252
+ "germany": "Germany Cybersecurity",
253
+ "germany_bait": "Germany BAIT (Banking IT)",
254
+ "bsi_200_1": "BSI Standard 200-1",
255
+ "netherlands": "Netherlands Cybersecurity",
256
+ "norway": "Norway Cybersecurity",
257
+ "sweden": "Sweden Cybersecurity",
258
+ "austria": "Austria Cybersecurity",
259
+ "belgium": "Belgium Cybersecurity",
260
+ "ireland": "Ireland Cybersecurity",
261
+ "italy": "Italy Cybersecurity",
262
+ "greece": "Greece Cybersecurity",
263
+ "hungary": "Hungary Cybersecurity",
264
+ "poland": "Poland Cybersecurity",
265
+ "spain_boe_a_2022_7191": "Spain BOE-A-2022-7191",
266
+ "spain_1720_2007": "Spain 1720/2007",
267
+ "spain_311_2022": "Spain 311/2022",
268
+ "spain_ccn_stic_825": "Spain CCN-STIC 825",
269
+ "switzerland": "Switzerland Cybersecurity",
270
+ "turkey": "Turkey Cybersecurity",
271
+ "russia": "Russia Cybersecurity",
272
+ "serbia_87_2018": "Serbia 87/2018",
273
+ "enisa_2.0": "ENISA 2.0",
274
+
275
+ # === MIDDLE EAST / AFRICA ===
276
+ "israel": "Israel Cybersecurity",
277
+ "israel_cdmo_1.0": "Israel CDMO 1.0",
278
+ "saudi_sama_csf_1.0": "Saudi Arabia SAMA CSF 1.0",
279
+ "saudi_cscc_1_2019": "Saudi Arabia CSCC-1 2019",
280
+ "saudi_ecc_1_2018": "Saudi Arabia ECC-1 2018",
281
+ "saudi_otcc_1_2022": "Saudi Arabia OTCC-1 2022",
282
+ "saudi_cgiot_1_2024": "Saudi Arabia IoT CGIoT-1 2024",
283
+ "saudi_pdpl": "Saudi Arabia PDPL",
284
+ "saudi_sacs_002": "Saudi Arabia SACS-002",
285
+ "uae_niaf": "UAE NIAF",
286
+ "qatar_pdppl": "Qatar PDPPL",
287
+ "south_africa": "South Africa (POPIA)",
288
+ "kenya_dpa_2019": "Kenya DPA 2019",
289
+ "nigeria_dpr_2019": "Nigeria DPR 2019",
290
+
291
+ # === APAC ===
59
292
  "australia_essential_8": "Australian Essential Eight",
60
293
  "australia_ism_2024": "Australian ISM (June 2024)",
294
+ "australia_privacy_act": "Australian Privacy Act",
295
+ "australia_privacy_principles": "Australian Privacy Principles",
296
+ "australia_iot_cop": "Australia IoT Code of Practice",
297
+ "australia_cps_230": "Australia Prudential Standard CPS 230",
298
+ "australia_cps_234": "Australia Prudential Standard CPS 234",
299
+ "singapore": "Singapore Cybersecurity",
300
+ "singapore_cyber_hygiene": "Singapore Cyber Hygiene Practice",
61
301
  "singapore_mas_trm_2021": "Singapore MAS TRM 2021",
62
- # Tier 1: Industry/Privacy (2 frameworks)
302
+ "japan_appi": "Japan APPI",
303
+ "japan_ismap": "Japan ISMAP",
304
+ "china_cybersecurity_law": "China Cybersecurity Law",
305
+ "china_data_security_law": "China Data Security Law",
306
+ "china_privacy_law": "China Privacy Law (PIPL)",
307
+ "china_dnsip": "China DNSIP",
308
+ "hong_kong": "Hong Kong Cybersecurity",
309
+ "india_dpdpa_2023": "India DPDPA 2023",
310
+ "india_itr": "India ITR",
311
+ "india_sebi_cscrf": "India SEBI CSCRF",
312
+ "south_korea": "South Korea Cybersecurity",
313
+ "taiwan": "Taiwan Cybersecurity",
314
+ "malaysia": "Malaysia Cybersecurity",
315
+ "philippines": "Philippines Cybersecurity",
316
+ "nz_hisf_2022": "New Zealand HISF 2022",
317
+ "nz_hisf_suppliers_2023": "New Zealand HISF Suppliers 2023",
318
+ "nz_nzism_3.6": "New Zealand NZISM 3.6",
319
+ "nz_privacy_act_2020": "New Zealand Privacy Act 2020",
320
+
321
+ # === AMERICAS (non-US) ===
322
+ "canada_pipeda": "Canada PIPEDA",
323
+ "canada_csag": "Canada CSAG",
324
+ "canada_osfi_b13": "Canada OSFI B-13",
325
+ "canada_itsp_10_171": "Canada ITSP-10-171",
326
+ "brazil_lgpd": "Brazil LGPD",
327
+ "argentina_ppl": "Argentina PPL",
328
+ "argentina_reg_132_2018": "Argentina Reg 132-2018",
329
+ "mexico": "Mexico Cybersecurity",
330
+ "chile": "Chile Cybersecurity",
331
+ "colombia": "Colombia Cybersecurity",
332
+ "peru": "Peru Cybersecurity",
333
+ "costa_rica": "Costa Rica Cybersecurity",
334
+ "uruguay": "Uruguay Cybersecurity",
335
+ "bahamas": "Bahamas Cybersecurity",
336
+ "bermuda_bmaccc": "Bermuda BMACCC",
337
+
338
+ # === AUTOMOTIVE ===
339
+ "tisax_isa_6": "TISAX ISA 6 (Automotive)",
340
+ "un_r155": "UN R155 (Vehicle Cybersecurity)",
341
+ "un_ece_wp29": "UN ECE WP.29 (Automotive)",
342
+ "ul_2900_1_2017": "UL 2900-1:2017 (Software Cybersecurity)",
343
+
344
+ # === OTHER INDUSTRY ===
63
345
  "swift_cscf_2023": "SWIFT Customer Security Framework 2023",
64
- "nist_privacy_framework_1_0": "NIST Privacy Framework 1.0",
65
- # Tier 2: European National (6 frameworks)
66
- "netherlands": "Netherlands Cybersecurity Regulations",
67
- "norway": "Norway Cybersecurity Regulations",
68
- "sweden": "Sweden Cybersecurity Regulations",
69
- "germany": "Germany Cybersecurity Regulations",
70
- "germany_bait": "Germany BAIT (Banking IT Requirements)",
71
- "germany_c5_2020": "Germany C5:2020 (Cloud Controls)",
72
- # Tier 3: Cloud (1 framework)
73
- "csa_ccm_4": "CSA Cloud Controls Matrix v4",
346
+ "shared_assessments_sig_2025": "Shared Assessments SIG 2025",
347
+ "sparta": "SPARTA (Space Attack Research)",
348
+ "mpa_csp_5.1": "MPA Content Security Program 5.1",
349
+ "owasp_top_10_2021": "OWASP Top 10 2021",
350
+ "mitre_attack_10": "MITRE ATT&CK v10",
351
+ }
352
+
353
+ # Framework categories for filtering
354
+ self.framework_categories = {
355
+ "ai_governance": [
356
+ "iso_42001_2023", "nist_ai_rmf_1.0", "nist_ai_600_1",
357
+ "eu_ai_act", "eu_cyber_resilience_act"
358
+ ],
359
+ "cloud_security": [
360
+ "iso_27017_2015", "iso_27018_2014", "csa_ccm_4",
361
+ "csa_iot_scf_2", "germany_c5_2020"
362
+ ],
363
+ "privacy": [
364
+ "gdpr", "iso_27701_2025", "nist_privacy_framework_1.0",
365
+ "us_ca_ccpa_2025", "brazil_lgpd", "india_dpdpa_2023",
366
+ "china_privacy_law", "apec_privacy_2015"
367
+ ],
368
+ "us_federal": [
369
+ "nist_csf_2.0", "nist_800_53_r5", "fedramp_r5_moderate",
370
+ "fedramp_r5_high", "cmmc_2.0_level_2", "cjis_5.9.3"
371
+ ],
372
+ "financial": [
373
+ "pci_dss_4.0.1", "sox", "glba_cfr_314_2023", "ffiec",
374
+ "dora", "psd2", "swift_cscf_2023"
375
+ ],
376
+ "healthcare": [
377
+ "hipaa_security_rule", "hipaa_hicp_small", "hipaa_hicp_medium",
378
+ "hipaa_hicp_large", "cms_mars_e_2.0"
379
+ ],
380
+ "industrial_ot": [
381
+ "iec_62443_4_2_2019", "nerc_cip_2024",
382
+ "nist_800_82_r3_moderate", "nist_800_82_r3_high"
383
+ ],
384
+ "automotive": [
385
+ "iso_sae_21434_2021", "tisax_isa_6", "un_r155", "un_ece_wp29"
386
+ ],
74
387
  }
75
388
 
76
- # Count controls per framework
389
+ # Count controls per framework (only for frameworks that have mappings)
77
390
  for fw_key, fw_name in framework_names.items():
78
391
  count = sum(1 for ctrl in self.controls if ctrl["framework_mappings"].get(fw_key))
79
- self.frameworks[fw_key] = {
80
- "key": fw_key,
81
- "name": fw_name,
82
- "controls_mapped": count,
83
- }
392
+ if count > 0: # Only include frameworks with actual mappings
393
+ self.frameworks[fw_key] = {
394
+ "key": fw_key,
395
+ "name": fw_name,
396
+ "controls_mapped": count,
397
+ }
84
398
 
85
399
  def get_control(self, control_id: str) -> dict[str, Any] | None:
86
400
  """Get control by SCF ID."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: security-controls-mcp
3
- Version: 0.3.4
3
+ Version: 0.4.0
4
4
  Summary: MCP server for querying security framework controls (SCF) - map between ISO 27001, NIST CSF, DORA, PCI DSS, and more
5
5
  Author-email: Ansvar Systems <hello@ansvar.eu>
6
6
  License-Expression: Apache-2.0
@@ -42,13 +42,14 @@ Dynamic: license-file
42
42
 
43
43
  ## Overview
44
44
 
45
- Universal translator for security frameworks. Makes 1,451 security controls across 28 frameworks searchable and AI-accessible through Claude, Cursor, or any MCP-compatible client.
45
+ **THE definitive MCP server for security framework mapping.** Makes 1,451 security controls across **261 frameworks** searchable and AI-accessible through Claude, Cursor, or any MCP-compatible client.
46
46
 
47
47
  Built on the [Secure Controls Framework (SCF)](https://securecontrolsframework.com/) by ComplianceForge.
48
48
 
49
49
  **Key capabilities:**
50
50
  - 1,451 security controls across governance, risk, compliance, and technical domains
51
- - 28 major frameworks including ISO 27001, NIST CSF, DORA, PCI DSS, CMMC, and more
51
+ - **261 frameworks** including ISO 27001, NIST CSF, DORA, PCI DSS, CMMC, and 256 more
52
+ - **AI Governance:** ISO 42001, NIST AI RMF, EU AI Act, Cyber Resilience Act
52
53
  - Bidirectional mapping between frameworks via SCF rosetta stone
53
54
  - Optional integration with purchased standards (ISO, NIST 800-53) for official text
54
55
  - Full-text search across all control descriptions
@@ -91,6 +92,18 @@ Add to `claude_desktop_config.json`:
91
92
  }
92
93
  ```
93
94
 
95
+ **macOS users:** GUI apps don't inherit your shell's PATH. Use the full path instead:
96
+ ```json
97
+ {
98
+ "mcpServers": {
99
+ "security-controls": {
100
+ "command": "/Users/YOUR_USERNAME/.local/bin/scf-mcp"
101
+ }
102
+ }
103
+ }
104
+ ```
105
+ Find your path with: `which scf-mcp`
106
+
94
107
  **Config location:**
95
108
  - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
96
109
  - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
@@ -107,27 +120,46 @@ Same configuration under `"mcp.servers"` in your settings.
107
120
  - "List all controls needed for PCI DSS compliance"
108
121
  - "Which DORA requirements does ISO 27001 A.5.15 satisfy?"
109
122
  - "Show me all NIST CSF 2.0 controls related to incident response"
110
-
111
- ## Available Frameworks (28)
112
-
113
- - **US Government:** NIST 800-53 (777), NIST CSF 2.0 (253), FedRAMP (343), CMMC 2.0 (198/52)
114
- - **International Standards:** ISO 27001 (51), ISO 27002 (316), CIS CSC v8.1 (234)
115
- - **US Industry:** PCI DSS v4.0.1 (364), SOC 2 (412), HIPAA (136)
116
- - **APAC:** Australia Essential Eight (37), Australia ISM (336), Singapore MAS TRM (214)
117
- - **EU Regulations:** GDPR (42), DORA (103), NIS2 (68)
118
- - **UK Standards:** NCSC CAF 4.0 (67), Cyber Essentials (26)
119
- - **European National:** Netherlands (27), Norway (23), Sweden (25), Germany (18/91/239)
120
- - **Financial:** SWIFT CSCF 2023 (127)
121
- - **Cloud:** CSA CCM v4 (334)
123
+ - **NEW:** "What ISO 42001 controls map to NIST AI RMF?"
124
+ - **NEW:** "Show me EU AI Act requirements for high-risk AI systems"
125
+
126
+ ## Available Frameworks (261)
127
+
128
+ ### AI Governance (NEW in v0.4.0)
129
+ - **ISO 42001:2023** (149) - AI Management System
130
+ - **NIST AI RMF 1.0** (158) - AI Risk Management Framework
131
+ - **NIST AI 600-1** (139) - Generative AI Profile
132
+ - **EU AI Act** (119) - Regulation 2024/1689
133
+ - **EU Cyber Resilience Act** (18)
134
+
135
+ ### Core Frameworks
136
+ - **US Government:** NIST 800-53 R5 (777), NIST CSF 2.0 (253), FedRAMP R5 (423), CMMC 2.0 (198/52)
137
+ - **International Standards:** ISO 27001 (51), ISO 27002 (316), ISO 27017 (119), ISO 27018 (70), ISO 27701 (187), ISO 22301 (52)
138
+ - **US Industry:** PCI DSS v4.0.1 (364), SOC 2 (412), HIPAA (136), SOX (2)
139
+ - **Financial:** SWIFT CSCF 2023 (127), FFIEC (231), GLBA (108), DORA (103)
140
+ - **Cloud:** CSA CCM v4 (334), Germany C5 (239)
141
+
142
+ ### Regional Coverage (50+ countries)
143
+ - **APAC:** Australia ISM/Essential 8, Singapore MAS TRM, Japan ISMAP, China Cybersecurity Law, India DPDPA
144
+ - **EU:** GDPR (42), NIS2 (68), PSD2 (61), plus 20+ national frameworks
145
+ - **Americas:** US state laws (CA, NY, TX, etc.), Brazil LGPD, Canada PIPEDA
146
+ - **Middle East/Africa:** Saudi SAMA, UAE NIAF, South Africa POPIA
147
+
148
+ ### Specialized
149
+ - **Industrial/OT:** IEC 62443 (197), NERC CIP (224), NIST 800-82
150
+ - **Automotive:** ISO/SAE 21434, TISAX, UN R155
151
+ - **Healthcare:** HIPAA, HITRUST, CMS MARS-E
152
+
153
+ See [docs/coverage.md](docs/coverage.md) for the complete list of 261 frameworks.
122
154
 
123
155
  ## Tools
124
156
 
125
157
  ### Core Tools
126
158
 
127
- **`list_frameworks()`** - List all 28 frameworks with control counts
159
+ **`list_frameworks()`** - List all 261 frameworks with control counts
128
160
 
129
161
  **`get_control(control_id)`** - Get full details for a specific SCF control
130
- - Returns description, domain, weight, PPTDF category, and mappings to all 28 frameworks
162
+ - Returns description, domain, weight, PPTDF category, and mappings to all 261 frameworks
131
163
 
132
164
  **`search_controls(query, frameworks=[], limit=10)`** - Search controls by keyword
133
165
  - Optional framework filtering
@@ -159,10 +191,10 @@ Import your purchased ISO 27001, NIST SP 800-53, or other standards to get offic
159
191
 
160
192
  ```bash
161
193
  # Install import tools
162
- pip install -e '.[import-tools]'
194
+ pip install security-controls-mcp[import-tools]
163
195
 
164
196
  # Import purchased PDF
165
- scf-mcp import-standard \
197
+ scf-mcp-import import-standard \
166
198
  --file ~/Downloads/ISO-27001-2022.pdf \
167
199
  --type iso_27001_2022 \
168
200
  --title "ISO/IEC 27001:2022"
@@ -195,7 +227,7 @@ SCF JSON → In-memory index → MCP tools → AI response
195
227
  Based on **SCF 2025.4** (released December 29, 2025)
196
228
 
197
229
  - 1,451 controls across all domains
198
- - 580+ framework mappings (28 frameworks)
230
+ - **261 frameworks** with full mapping coverage
199
231
  - Licensed under Creative Commons (data)
200
232
  - Source: [ComplianceForge SCF](https://securecontrolsframework.com/)
201
233
 
@@ -287,4 +319,20 @@ For complete terms: [SCF Terms & Conditions](https://securecontrolsframework.com
287
319
 
288
320
  ---
289
321
 
322
+ ## More Open Source from Ansvar
323
+
324
+ We maintain a family of MCP servers for compliance and security professionals:
325
+
326
+ | Server | Description | Install |
327
+ |--------|-------------|---------|
328
+ | **[EU Regulations](https://github.com/Ansvar-Systems/EU_compliance_MCP)** | 47 EU regulations (GDPR, AI Act, DORA, NIS2, MiFID II, eIDAS, MDR...) | `npx @ansvar/eu-regulations-mcp` |
329
+ | **[US Regulations](https://github.com/Ansvar-Systems/US_Compliance_MCP)** | HIPAA, CCPA, SOX, GLBA, FERPA, COPPA, FDA 21 CFR Part 11, state privacy laws | `npx @ansvar/us-regulations-mcp` |
330
+ | **[OT Security](https://github.com/Ansvar-Systems/ot-security-mcp)** | IEC 62443, NIST 800-82, MITRE ATT&CK for ICS | `npx @ansvar/ot-security-mcp` |
331
+ | **[Automotive](https://github.com/Ansvar-Systems/Automotive-MCP)** | UNECE R155/R156, ISO 21434 for automotive cybersecurity | `npx @ansvar/automotive-cybersecurity-mcp` |
332
+ | **[Sanctions](https://github.com/Ansvar-Systems/Sanctions-MCP)** | Offline sanctions screening with OpenSanctions (30+ lists) | `pip install ansvar-sanctions-mcp` |
333
+
334
+ Browse all projects: [ansvar.eu/open-source](https://ansvar.eu/open-source)
335
+
336
+ ---
337
+
290
338
  **Built by:** [Ansvar Systems](https://ansvar.eu) (Stockholm, Sweden)
@@ -1,21 +1,21 @@
1
- security_controls_mcp/__init__.py,sha256=OAVs20I9SlLR_V-yJTnibMSz08vr85J3edoDljhpG4M,108
2
- security_controls_mcp/__main__.py,sha256=4qAnCoMWk197dfiYhSjKJjYWpM-ZCQEHDu6dhZmf3Co,132
1
+ security_controls_mcp/__init__.py,sha256=Qx8EKLIh07k8qqBQ7Fz0cOujf5LRgQyPIbEcMjFMPXo,108
2
+ security_controls_mcp/__main__.py,sha256=21ikbl67KnwaZghEwGtF5Hm7YwpNUOzQPNdPvb4EgGQ,225
3
3
  security_controls_mcp/cli.py,sha256=7LoL0pJOVIrvfvZn7TfBb9V8sLg8UdDBn35JI5c9r3s,7540
4
4
  security_controls_mcp/config.py,sha256=7MW9pxKf9Fc0A8D25VW9SqSJbTMWw5r7mSezX164-oQ,4996
5
- security_controls_mcp/data_loader.py,sha256=6kiPkdYw1iGcA1lvMazizR32YKWt5HZ00w-tMRImZPo,7891
5
+ security_controls_mcp/data_loader.py,sha256=OMcHZMfYH387XwnWIMDW53641-O-hSKeBnw27ZTAxxs,23436
6
6
  security_controls_mcp/http_server.py,sha256=NL7hSJ_1L1RV3zNYt_z-BXrVNKY8gjqV9dZ-M2Bp-gQ,16785
7
7
  security_controls_mcp/legal_notice.py,sha256=078PKSwxc0-MYt9NxCXp0ayAGOcRffLwbIWAkq-cXi8,4330
8
8
  security_controls_mcp/providers.py,sha256=GrKpLnqqxnktoq1yIuxKCyE23IKql6XZ6O_E_iE1GzA,8547
9
9
  security_controls_mcp/registry.py,sha256=aPbI_zFF7XzjIif1wGE4o2Rd_0HbJvOeNSe0xWHKG_o,4417
10
10
  security_controls_mcp/server.py,sha256=SHzp9Iu0qdStU0imh9KMjtJjOolozhJC-FJAHM6d9ZY,24667
11
- security_controls_mcp/data/framework-to-scf.json,sha256=cR0-3b8QDJ_0NVVrCqkcxr-EH7am0ebkbQzeINFUSio,304863
12
- security_controls_mcp/data/scf-controls.json,sha256=U6gtDVE8z_HtHdypLn9CLkCh4ZCS0Q78fk6EwQZyq9E,2188171
11
+ security_controls_mcp/data/framework-to-scf.json,sha256=ofrm898jgeMG-8KlRp7w_qUwxiAQmf4R0-6UqmWtpig,1862041
12
+ security_controls_mcp/data/scf-controls.json,sha256=hOxl-PuCuQMniVKiICmXJWBpNY-32c8dcC-q0emKXEw,14470140
13
13
  security_controls_mcp/extractors/__init__.py,sha256=_dQ1HOD7gTyw2FwQMMtgVTYQVSpxIdwBwqsdkSo1nyE,143
14
14
  security_controls_mcp/extractors/pdf_extractor.py,sha256=nYd8mbKn_ejeEm02VZrFColRIfYFbP_oOuUm2SfOVqc,7490
15
- security_controls_mcp-0.3.4.dist-info/licenses/LICENSE,sha256=RjWhs6k8-dS1rdwUk40lp3R0kf8UVOrlASOO0FTDRnU,743
16
- security_controls_mcp-0.3.4.dist-info/licenses/LICENSE-DATA.md,sha256=I7iuA6E8TQyL3SMQltKFoOO12Ew2W0D8NSEmFAL5XDw,2096
17
- security_controls_mcp-0.3.4.dist-info/METADATA,sha256=LADxIzs3jeSzyyuk-Bu_YnghfKpjX2eFWPyBpGhcKPQ,11053
18
- security_controls_mcp-0.3.4.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
19
- security_controls_mcp-0.3.4.dist-info/entry_points.txt,sha256=pDgfu1FAwJGyGp2yGU4uhiLrt9Wy06uzTybWh7frYCs,59
20
- security_controls_mcp-0.3.4.dist-info/top_level.txt,sha256=BEEvk-ppPSeK1_OyEy0SIpt04wnf3nUorVOFU0fEmS0,22
21
- security_controls_mcp-0.3.4.dist-info/RECORD,,
15
+ security_controls_mcp-0.4.0.dist-info/licenses/LICENSE,sha256=RjWhs6k8-dS1rdwUk40lp3R0kf8UVOrlASOO0FTDRnU,743
16
+ security_controls_mcp-0.4.0.dist-info/licenses/LICENSE-DATA.md,sha256=I7iuA6E8TQyL3SMQltKFoOO12Ew2W0D8NSEmFAL5XDw,2096
17
+ security_controls_mcp-0.4.0.dist-info/METADATA,sha256=872IAofJD0A3aNGqgKPcm6-xcGsne3BNh3-E0vsFIIA,13439
18
+ security_controls_mcp-0.4.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
19
+ security_controls_mcp-0.4.0.dist-info/entry_points.txt,sha256=2Xf2NGyYld_-LRggliVsOOu4Ux7EQ93FWnEY4hXSff8,112
20
+ security_controls_mcp-0.4.0.dist-info/top_level.txt,sha256=BEEvk-ppPSeK1_OyEy0SIpt04wnf3nUorVOFU0fEmS0,22
21
+ security_controls_mcp-0.4.0.dist-info/RECORD,,
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ scf-mcp = security_controls_mcp.__main__:main
3
+ scf-mcp-import = security_controls_mcp.cli:main
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- scf-mcp = security_controls_mcp.cli:main