security-controls-mcp 0.2.0__tar.gz → 0.3.1__tar.gz
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.
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/CHANGELOG.md +37 -0
- security_controls_mcp-0.3.1/CLAUDE.md +203 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/CLAUDE_CODE_SETUP.md +1 -1
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/DEPLOYMENT_CHECKLIST.md +6 -6
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/INSTALL.md +1 -1
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/PAID_STANDARDS_GUIDE.md +1 -1
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/PKG-INFO +108 -19
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/QUICK_START.md +1 -1
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/README.md +105 -15
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/TESTING.md +2 -2
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/pyproject.toml +3 -4
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/scf-extract-starter.py +17 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp/__init__.py +1 -1
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp/data/framework-to-scf.json +9453 -2035
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp/data/scf-controls.json +24413 -1373
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp/data_loader.py +17 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp.egg-info/PKG-INFO +108 -19
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp.egg-info/SOURCES.txt +1 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/tests/test_data_loader.py +1 -1
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/tests/test_integration.py +1 -1
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/tests/test_smoke.py +15 -1
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/verify_production_ready.py +4 -4
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/.gitleaks.toml +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/CI-CD-PIPELINE.md +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/Dockerfile +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/LEGAL_COMPLIANCE.md +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/LICENSE +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/LICENSE-DATA.md +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/MANIFEST.in +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/SECURITY-TOOLS.md +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/SECURITY.md +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/quality_test.py +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/scf-query-tester.py +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/setup.cfg +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp/__main__.py +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp/cli.py +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp/config.py +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp/extractors/__init__.py +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp/extractors/pdf_extractor.py +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp/http_server.py +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp/legal_notice.py +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp/providers.py +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp/registry.py +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp/server.py +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp.egg-info/dependency_links.txt +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp.egg-info/entry_points.txt +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp.egg-info/requires.txt +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/src/security_controls_mcp.egg-info/top_level.txt +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/test_server.py +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/tests/README.md +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/tests/__init__.py +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/tests/test_content_quality.py +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/tests/test_paid_standards.py +0 -0
- {security_controls_mcp-0.2.0 → security_controls_mcp-0.3.1}/tests/test_security.py +0 -0
|
@@ -5,6 +5,43 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.3.1] - 2026-01-31
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- Updated package metadata to use SPDX license format (removed deprecated table format)
|
|
12
|
+
- Upgraded PyPI classifier from "Development Status :: 3 - Alpha" to "4 - Beta"
|
|
13
|
+
- Removed deprecated license classifier per Poetry best practices
|
|
14
|
+
|
|
15
|
+
### Technical
|
|
16
|
+
- Production readiness verified: 104/104 tests passing, comprehensive security audit completed
|
|
17
|
+
- No functional changes to MCP tools or data
|
|
18
|
+
|
|
19
|
+
## [0.3.0] - 2026-01-29
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
- **12 new framework mappings** from SCF 2025.4 - expanded global coverage
|
|
23
|
+
- **APAC:** Australian Essential Eight (37 controls), Australian ISM June 2024 (336 controls), Singapore MAS TRM 2021 (214 controls)
|
|
24
|
+
- **Financial:** SWIFT Customer Security Framework 2023 (127 controls)
|
|
25
|
+
- **Privacy:** NIST Privacy Framework 1.0 (187 controls)
|
|
26
|
+
- **European National:** Netherlands (27 controls), Norway (23 controls), Sweden (25 controls), Germany general (18 controls), Germany BAIT (91 controls), Germany C5:2020 (239 controls)
|
|
27
|
+
- **Cloud:** CSA Cloud Controls Matrix v4 (334 controls)
|
|
28
|
+
- **Framework Roadmap** section in README documenting:
|
|
29
|
+
- All 28 available frameworks with control counts
|
|
30
|
+
- Frameworks not yet available (BIO, KATAKRI, NSM, MSB, CFCS, CCB, ANSSI)
|
|
31
|
+
- Clear guidance on maintaining data quality via SCF-only mappings
|
|
32
|
+
|
|
33
|
+
### Changed
|
|
34
|
+
- Total framework coverage: **16 → 28 frameworks** (+75% expansion)
|
|
35
|
+
- Updated all documentation to reflect new framework count
|
|
36
|
+
- Enhanced framework categories in README (added APAC, European National, Financial, Cloud)
|
|
37
|
+
- Updated tests to verify 28 frameworks
|
|
38
|
+
- Updated `scf-extract-starter.py` with 12 new framework column mappings
|
|
39
|
+
|
|
40
|
+
### Technical
|
|
41
|
+
- Re-extracted data from SCF 2025.4 Excel file with expanded framework coverage
|
|
42
|
+
- Updated `src/security_controls_mcp/data_loader.py` with new framework display names
|
|
43
|
+
- All existing tools automatically support new frameworks (no API changes)
|
|
44
|
+
|
|
8
45
|
## [0.2.0] - 2025-01-29
|
|
9
46
|
|
|
10
47
|
### Added
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# Security Controls MCP - Development Guide
|
|
2
|
+
|
|
3
|
+
**Part of the Ansvar MCP Suite** → See [ANSVAR_MCP_ARCHITECTURE.md](./docs/ANSVAR_MCP_ARCHITECTURE.md) for complete suite documentation
|
|
4
|
+
|
|
5
|
+
## Project Overview
|
|
6
|
+
|
|
7
|
+
MCP server providing access to 1,451 security controls across 28 frameworks. Uses SCF (Secure Controls Framework) as a rosetta stone for bidirectional framework mapping.
|
|
8
|
+
|
|
9
|
+
## Key Features
|
|
10
|
+
|
|
11
|
+
- **28 Frameworks**: ISO 27001, NIST CSF, DORA, PCI DSS, SOC 2, CMMC, FedRAMP, and 21 more
|
|
12
|
+
- **1,451 Controls**: Complete control catalog with descriptions
|
|
13
|
+
- **Bidirectional Mapping**: Map any framework to any other framework
|
|
14
|
+
- **Gap Analysis**: Compare control coverage between frameworks
|
|
15
|
+
- **Official Text Import**: Support for purchased ISO/NIST standards
|
|
16
|
+
|
|
17
|
+
## Tech Stack
|
|
18
|
+
|
|
19
|
+
- **Language**: Python 3.11+
|
|
20
|
+
- **Database**: SQLite with FTS5 full-text search
|
|
21
|
+
- **Package Manager**: Poetry
|
|
22
|
+
- **Distribution**: PyPI (`pipx install security-controls-mcp`)
|
|
23
|
+
- **Data Source**: SCF Framework (Creative Commons BY 4.0)
|
|
24
|
+
|
|
25
|
+
## Quick Start
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# Install
|
|
29
|
+
pipx install security-controls-mcp
|
|
30
|
+
|
|
31
|
+
# Verify
|
|
32
|
+
security-controls-mcp --version
|
|
33
|
+
|
|
34
|
+
# Claude Desktop config
|
|
35
|
+
{
|
|
36
|
+
"mcpServers": {
|
|
37
|
+
"security-controls": {
|
|
38
|
+
"command": "security-controls-mcp"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Project Structure
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
security-controls-mcp/
|
|
48
|
+
├── src/security_controls_mcp/
|
|
49
|
+
│ ├── server.py # MCP server entry point
|
|
50
|
+
│ ├── data/
|
|
51
|
+
│ │ ├── scf-controls.json # 1,451 controls with mappings
|
|
52
|
+
│ │ └── framework-to-scf.json # Framework → SCF mappings
|
|
53
|
+
│ ├── data_loader.py # SCF data loading logic
|
|
54
|
+
│ └── tools/ # MCP tool implementations
|
|
55
|
+
│ ├── version_info.py
|
|
56
|
+
│ ├── list_frameworks.py
|
|
57
|
+
│ ├── get_control.py
|
|
58
|
+
│ ├── search_controls.py
|
|
59
|
+
│ ├── get_framework_controls.py
|
|
60
|
+
│ └── map_frameworks.py
|
|
61
|
+
├── tests/ # Comprehensive test suite
|
|
62
|
+
├── docs/
|
|
63
|
+
│ ├── ANSVAR_MCP_ARCHITECTURE.md # **Central architecture doc**
|
|
64
|
+
│ └── coverage.md # Framework coverage details
|
|
65
|
+
└── pyproject.toml # Poetry configuration
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Available Tools
|
|
69
|
+
|
|
70
|
+
### 1. `version_info`
|
|
71
|
+
Get MCP server version and statistics
|
|
72
|
+
|
|
73
|
+
### 2. `list_frameworks`
|
|
74
|
+
List all 28 supported frameworks with control counts
|
|
75
|
+
|
|
76
|
+
### 3. `get_control`
|
|
77
|
+
Retrieve a specific control by ID from any framework
|
|
78
|
+
|
|
79
|
+
### 4. `search_controls`
|
|
80
|
+
Full-text search across all controls
|
|
81
|
+
|
|
82
|
+
### 5. `get_framework_controls`
|
|
83
|
+
Get all controls for a specific framework
|
|
84
|
+
|
|
85
|
+
### 6. `map_frameworks`
|
|
86
|
+
Map controls between any two frameworks (bidirectional)
|
|
87
|
+
|
|
88
|
+
## Framework IDs
|
|
89
|
+
|
|
90
|
+
```python
|
|
91
|
+
# Use these IDs with the tools
|
|
92
|
+
FRAMEWORKS = [
|
|
93
|
+
"iso_27001_2022", "iso_27002_2022", "nist_csf_2_0",
|
|
94
|
+
"nist_800_53_r5", "dora", "pci_dss_4_0", "soc_2",
|
|
95
|
+
"cmmc_2_0", "fedramp_high", "cis_controls_v8",
|
|
96
|
+
# ... 18 more (see docs/coverage.md)
|
|
97
|
+
]
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Development
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Clone and install
|
|
104
|
+
git clone https://github.com/Ansvar-Systems/security-controls-mcp
|
|
105
|
+
cd security-controls-mcp
|
|
106
|
+
poetry install
|
|
107
|
+
|
|
108
|
+
# Run tests
|
|
109
|
+
poetry run pytest
|
|
110
|
+
|
|
111
|
+
# Run locally
|
|
112
|
+
poetry run python -m src.security_controls_mcp.server
|
|
113
|
+
|
|
114
|
+
# Build for PyPI
|
|
115
|
+
poetry build
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Data Updates
|
|
119
|
+
|
|
120
|
+
### SCF Framework Updates
|
|
121
|
+
|
|
122
|
+
When SCF releases new versions:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# 1. Download new scf-controls.json from SCF repo
|
|
126
|
+
# 2. Update src/security_controls_mcp/data/scf-controls.json
|
|
127
|
+
# 3. Run tests to validate
|
|
128
|
+
poetry run pytest
|
|
129
|
+
|
|
130
|
+
# 4. Update version
|
|
131
|
+
poetry version patch
|
|
132
|
+
|
|
133
|
+
# 5. Build and publish
|
|
134
|
+
poetry build
|
|
135
|
+
poetry publish
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Adding New Frameworks
|
|
139
|
+
|
|
140
|
+
1. Check if SCF includes the framework
|
|
141
|
+
2. If yes, it's automatically available (SCF is the mapper)
|
|
142
|
+
3. If no, request SCF team add it OR create manual mapping in `framework-to-scf.json`
|
|
143
|
+
|
|
144
|
+
## Testing
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
# Run all tests
|
|
148
|
+
poetry run pytest
|
|
149
|
+
|
|
150
|
+
# With coverage
|
|
151
|
+
poetry run pytest --cov=src --cov-report=html
|
|
152
|
+
|
|
153
|
+
# Specific test
|
|
154
|
+
poetry run pytest tests/test_map_frameworks.py -v
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Current Statistics
|
|
158
|
+
|
|
159
|
+
- **Frameworks**: 28 (expanded from 16 in v0.2.1)
|
|
160
|
+
- **Controls**: 1,451 unique controls
|
|
161
|
+
- **Mappings**: 15,000+ bidirectional relationships
|
|
162
|
+
- **Database Size**: ~8MB (SQLite)
|
|
163
|
+
- **Tests**: 100% passing
|
|
164
|
+
|
|
165
|
+
## Version History
|
|
166
|
+
|
|
167
|
+
- **v0.2.1** (2026-01-29): Framework expansion (16→28 frameworks)
|
|
168
|
+
- **v0.2.0**: Initial public release with 16 frameworks
|
|
169
|
+
- **v0.1.0**: Internal beta
|
|
170
|
+
|
|
171
|
+
## Integration with Other Ansvar MCPs
|
|
172
|
+
|
|
173
|
+
This server works seamlessly with:
|
|
174
|
+
- **EU Regulations MCP**: Map DORA/GDPR requirements to ISO 27001
|
|
175
|
+
- **US Regulations MCP**: Map HIPAA/SOX to NIST controls
|
|
176
|
+
- **OT Security MCP**: Bridge IT security controls to OT standards
|
|
177
|
+
- **Sanctions MCP**: Security controls for vendor assessments
|
|
178
|
+
|
|
179
|
+
See [ANSVAR_MCP_ARCHITECTURE.md](./docs/ANSVAR_MCP_ARCHITECTURE.md) for complete workflow examples.
|
|
180
|
+
|
|
181
|
+
## Coding Guidelines
|
|
182
|
+
|
|
183
|
+
- Python 3.11+ with type hints
|
|
184
|
+
- Pydantic for data validation
|
|
185
|
+
- SQLite for data storage
|
|
186
|
+
- Black for formatting
|
|
187
|
+
- Ruff for linting
|
|
188
|
+
- pytest for testing
|
|
189
|
+
|
|
190
|
+
## Support
|
|
191
|
+
|
|
192
|
+
- **GitHub Issues**: Bug reports and feature requests
|
|
193
|
+
- **GitHub Discussions**: Questions and use cases
|
|
194
|
+
- **Commercial**: hello@ansvar.eu
|
|
195
|
+
|
|
196
|
+
## License
|
|
197
|
+
|
|
198
|
+
Apache License 2.0 - See [LICENSE](./LICENSE)
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
**For complete Ansvar MCP suite documentation, see:**
|
|
203
|
+
📖 [docs/ANSVAR_MCP_ARCHITECTURE.md](./docs/ANSVAR_MCP_ARCHITECTURE.md)
|
|
@@ -183,7 +183,7 @@ Or use a relative path (less reliable):
|
|
|
183
183
|
User: List all available security frameworks
|
|
184
184
|
|
|
185
185
|
Claude: [Uses security-controls MCP server]
|
|
186
|
-
**Available Frameworks (
|
|
186
|
+
**Available Frameworks (28 total)**
|
|
187
187
|
|
|
188
188
|
- **nist_800_53_r5**: NIST SP 800-53 Revision 5 (777 controls)
|
|
189
189
|
- **soc_2_tsc**: SOC 2 (TSC 2017:2022) (412 controls)
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
- [ ] Run `python test_server.py` → All 5 tools work correctly
|
|
14
14
|
- [ ] Data files present: `scf-controls.json` (1.5MB), `framework-to-scf.json` (194KB)
|
|
15
15
|
- [ ] All 1,451 controls loaded
|
|
16
|
-
- [ ] All
|
|
16
|
+
- [ ] All 28 frameworks mapped correctly
|
|
17
17
|
|
|
18
18
|
**Command:**
|
|
19
19
|
```bash
|
|
@@ -51,7 +51,7 @@ python verify_production_ready.py
|
|
|
51
51
|
### ✅ Local Testing
|
|
52
52
|
|
|
53
53
|
- [ ] Install in your own Claude Desktop (follow QUICK_START.md)
|
|
54
|
-
- [ ] Test query: "List all available security frameworks" → Returns
|
|
54
|
+
- [ ] Test query: "List all available security frameworks" → Returns 28 frameworks
|
|
55
55
|
- [ ] Test query: "Search for encryption controls" → Returns CRY-* controls
|
|
56
56
|
- [ ] Test query: "Show me GOV-01 details" → Returns full control data
|
|
57
57
|
- [ ] Test query: "Map ISO 27001 5.1 to DORA" → Returns mappings
|
|
@@ -94,7 +94,7 @@ First production release of the Security Controls MCP server for Claude.
|
|
|
94
94
|
**Tools:**
|
|
95
95
|
1. `get_control` - Get details for specific controls
|
|
96
96
|
2. `search_controls` - Search by keyword
|
|
97
|
-
3. `list_frameworks` - List all
|
|
97
|
+
3. `list_frameworks` - List all 28 frameworks
|
|
98
98
|
4. `get_framework_controls` - Get all controls for a framework
|
|
99
99
|
5. `map_frameworks` - Map between frameworks
|
|
100
100
|
|
|
@@ -121,7 +121,7 @@ python verify_production_ready.py
|
|
|
121
121
|
|
|
122
122
|
All tests pass:
|
|
123
123
|
- ✅ 1,451 controls loaded
|
|
124
|
-
- ✅
|
|
124
|
+
- ✅ 28 frameworks mapped
|
|
125
125
|
- ✅ 5 tools functional
|
|
126
126
|
- ✅ MCP protocol working
|
|
127
127
|
- ✅ Claude Desktop compatible
|
|
@@ -153,7 +153,7 @@ Submit to: https://smithery.ai/submit
|
|
|
153
153
|
|
|
154
154
|
**Submission details:**
|
|
155
155
|
- Name: security-controls-mcp
|
|
156
|
-
- Description: "MCP server providing 1,451 security controls across
|
|
156
|
+
- Description: "MCP server providing 1,451 security controls across 28 frameworks (NIST, ISO, DORA, PCI DSS, SOC 2) for compliance mapping and gap analysis"
|
|
157
157
|
- Repository: https://github.com/Ansvar-Systems/security-controls-mcp
|
|
158
158
|
- Installation command: See INSTALL.md
|
|
159
159
|
- Category: Security / Compliance
|
|
@@ -203,7 +203,7 @@ GitHub: https://github.com/Ansvar-Systems/security-controls-mcp
|
|
|
203
203
|
I built an MCP server that brings security/compliance framework data directly into Claude conversations.
|
|
204
204
|
|
|
205
205
|
**What it does:**
|
|
206
|
-
- Access 1,451 security controls from
|
|
206
|
+
- Access 1,451 security controls from 28 frameworks
|
|
207
207
|
- Search controls by keyword
|
|
208
208
|
- Map between frameworks (ISO ↔ DORA, NIST ↔ SOC 2, etc.)
|
|
209
209
|
- Get control implementation details
|
|
@@ -6,7 +6,7 @@ This guide explains how to add your purchased security standards (ISO 27001, NIS
|
|
|
6
6
|
|
|
7
7
|
## Overview
|
|
8
8
|
|
|
9
|
-
The Security Controls MCP Server includes **1,451 free SCF controls** that map across
|
|
9
|
+
The Security Controls MCP Server includes **1,451 free SCF controls** that map across 28 frameworks. When you add your **purchased standards**, you get:
|
|
10
10
|
|
|
11
11
|
- ✅ **Official text** from your licensed copies
|
|
12
12
|
- ✅ **Full clauses** with page numbers
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: security-controls-mcp
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.1
|
|
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
|
-
License: Apache-2.0
|
|
6
|
+
License-Expression: Apache-2.0
|
|
7
7
|
Project-URL: Homepage, https://github.com/Ansvar-Systems/security-controls-mcp
|
|
8
8
|
Project-URL: Repository, https://github.com/Ansvar-Systems/security-controls-mcp
|
|
9
9
|
Project-URL: Issues, https://github.com/Ansvar-Systems/security-controls-mcp/issues
|
|
10
10
|
Keywords: mcp,security,compliance,iso27001,nist,dora,pci-dss
|
|
11
|
-
Classifier: Development Status ::
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
12
|
Classifier: Intended Audience :: Developers
|
|
13
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
14
13
|
Classifier: Programming Language :: Python :: 3
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.10
|
|
16
15
|
Classifier: Programming Language :: Python :: 3.11
|
|
@@ -43,7 +42,7 @@ Dynamic: license-file
|
|
|
43
42
|
|
|
44
43
|
**The universal translator for security frameworks.**
|
|
45
44
|
|
|
46
|
-
The Security Controls MCP Server is an open-source tool that makes 1,451 security controls across
|
|
45
|
+
The Security Controls MCP Server is an open-source tool that makes 1,451 security controls across 28 frameworks searchable and AI-accessible directly through Claude, Cursor, or any MCP-compatible client.
|
|
47
46
|
|
|
48
47
|
Built on the [Secure Controls Framework (SCF)](https://securecontrolsframework.com/) by ComplianceForge.
|
|
49
48
|
|
|
@@ -51,7 +50,7 @@ Built on the [Secure Controls Framework (SCF)](https://securecontrolsframework.c
|
|
|
51
50
|
|
|
52
51
|
**Coverage:**
|
|
53
52
|
- 1,451 security controls spanning governance, risk, compliance, and technical domains
|
|
54
|
-
-
|
|
53
|
+
- 28 major frameworks including ISO 27001, NIST CSF, DORA, PCI DSS, CMMC, Australian Essential Eight, Singapore MAS TRM, SWIFT CSCF, and more
|
|
55
54
|
- Bidirectional mapping between any two frameworks via SCF rosetta stone
|
|
56
55
|
- Optional integration with purchased standards (ISO, NIST 800-53) for official text
|
|
57
56
|
|
|
@@ -62,9 +61,6 @@ Built on the [Secure Controls Framework (SCF)](https://securecontrolsframework.c
|
|
|
62
61
|
- Control filtering by framework, domain, or keyword
|
|
63
62
|
- SCF control metadata including PPTDF categories and security domain weights
|
|
64
63
|
|
|
65
|
-
**Integration:**
|
|
66
|
-
- Works seamlessly with [EU Regulations MCP](https://github.com/Ansvar-Systems/eu-regulations-mcp) for complete EU compliance coverage
|
|
67
|
-
|
|
68
64
|
---
|
|
69
65
|
|
|
70
66
|
## Why This Exists
|
|
@@ -73,8 +69,6 @@ When you're implementing security controls, you face a common problem: different
|
|
|
73
69
|
|
|
74
70
|
This MCP server solves that by giving you instant **bidirectional mapping** between any two frameworks via the SCF rosetta stone. Ask Claude "What DORA controls does ISO 27001 A.5.15 map to?" and get an immediate, authoritative answer backed by ComplianceForge's comprehensive framework database.
|
|
75
71
|
|
|
76
|
-
**Works with:** [EU Regulations MCP](https://github.com/Ansvar-Systems/eu-regulations-mcp) for complete EU compliance coverage (DORA + NIS2 + AI Act + GDPR + more).
|
|
77
|
-
|
|
78
72
|
---
|
|
79
73
|
|
|
80
74
|
## 🔒 Add Your Purchased Standards (Optional)
|
|
@@ -229,37 +223,76 @@ Ask Claude these natural language questions:
|
|
|
229
223
|
|
|
230
224
|
---
|
|
231
225
|
|
|
232
|
-
## Available Frameworks (
|
|
226
|
+
## Available Frameworks (28 Total)
|
|
233
227
|
|
|
234
228
|
When you call `list_frameworks()`, you get:
|
|
235
229
|
|
|
236
230
|
```
|
|
237
|
-
Available Frameworks (
|
|
231
|
+
Available Frameworks (28 total)
|
|
238
232
|
|
|
239
233
|
- nist_800_53_r5: NIST SP 800-53 Revision 5 (777 controls)
|
|
240
234
|
- soc_2_tsc: SOC 2 (TSC 2017:2022) (412 controls)
|
|
241
235
|
- pci_dss_4.0.1: PCI DSS v4.0.1 (364 controls)
|
|
242
236
|
- fedramp_r5_moderate: FedRAMP Revision 5 (Moderate) (343 controls)
|
|
237
|
+
- australia_ism_2024: Australian ISM (June 2024) (336 controls)
|
|
238
|
+
- csa_ccm_4: CSA Cloud Controls Matrix v4 (334 controls)
|
|
243
239
|
- iso_27002_2022: ISO/IEC 27002:2022 (316 controls)
|
|
244
240
|
- nist_csf_2.0: NIST Cybersecurity Framework 2.0 (253 controls)
|
|
241
|
+
- germany_c5_2020: Germany C5:2020 (Cloud Controls) (239 controls)
|
|
245
242
|
- cis_csc_8.1: CIS Critical Security Controls v8.1 (234 controls)
|
|
243
|
+
- singapore_mas_trm_2021: Singapore MAS TRM 2021 (214 controls)
|
|
246
244
|
- cmmc_2.0_level_2: CMMC 2.0 Level 2 (198 controls)
|
|
245
|
+
- nist_privacy_framework_1_0: NIST Privacy Framework 1.0 (187 controls)
|
|
247
246
|
- hipaa_security_rule: HIPAA Security Rule (136 controls)
|
|
247
|
+
- swift_cscf_2023: SWIFT Customer Security Framework 2023 (127 controls)
|
|
248
248
|
- dora: Digital Operational Resilience Act (DORA) (103 controls)
|
|
249
|
+
- germany_bait: Germany BAIT (Banking IT Requirements) (91 controls)
|
|
249
250
|
- nis2: Network and Information Security Directive (NIS2) (68 controls)
|
|
250
251
|
- ncsc_caf_4.0: NCSC Cyber Assessment Framework 4.0 (67 controls)
|
|
251
252
|
- cmmc_2.0_level_1: CMMC 2.0 Level 1 (52 controls)
|
|
252
253
|
- iso_27001_2022: ISO/IEC 27001:2022 (51 controls)
|
|
253
254
|
- gdpr: General Data Protection Regulation (GDPR) (42 controls)
|
|
255
|
+
- australia_essential_8: Australian Essential Eight (37 controls)
|
|
256
|
+
- netherlands: Netherlands Cybersecurity Regulations (27 controls)
|
|
254
257
|
- uk_cyber_essentials: UK Cyber Essentials (26 controls)
|
|
258
|
+
- sweden: Sweden Cybersecurity Regulations (25 controls)
|
|
259
|
+
- norway: Norway Cybersecurity Regulations (23 controls)
|
|
260
|
+
- germany: Germany Cybersecurity Regulations (18 controls)
|
|
255
261
|
```
|
|
256
262
|
|
|
257
263
|
**Framework categories:**
|
|
258
|
-
- **Government:** NIST 800-53, NIST CSF, FedRAMP, CMMC
|
|
264
|
+
- **US Government:** NIST 800-53, NIST CSF, NIST Privacy, FedRAMP, CMMC
|
|
259
265
|
- **International Standards:** ISO 27001, ISO 27002, CIS CSC
|
|
260
|
-
- **Industry:** PCI DSS, SOC 2, HIPAA
|
|
261
|
-
- **
|
|
266
|
+
- **US Industry:** PCI DSS, SOC 2, HIPAA
|
|
267
|
+
- **APAC:** Australia Essential Eight, Australia ISM, Singapore MAS TRM
|
|
268
|
+
- **EU Regulations:** GDPR, DORA, NIS2
|
|
262
269
|
- **UK Standards:** NCSC CAF, Cyber Essentials
|
|
270
|
+
- **European National:** Netherlands, Norway, Sweden, Germany (general/BAIT/C5)
|
|
271
|
+
- **Financial:** SWIFT CSCF
|
|
272
|
+
- **Cloud:** CSA CCM
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## Framework Roadmap
|
|
277
|
+
|
|
278
|
+
**Not Yet Available (Waiting for SCF Coverage):**
|
|
279
|
+
|
|
280
|
+
These security frameworks are not currently included because the Secure Controls Framework (SCF) doesn't provide official mappings. We maintain data quality and compliance consulting credibility by using only ComplianceForge-vetted mappings.
|
|
281
|
+
|
|
282
|
+
- 🇳🇱 **Netherlands BIO** (Baseline Informatiebeveiliging Overheid) - Dutch government security baseline
|
|
283
|
+
- 🇫🇮 **Finland KATAKRI** - Finnish defense forces security audit criteria
|
|
284
|
+
- 🇳🇴 **Norway NSM** Grunnprinsipper - Norwegian NSA basic security principles
|
|
285
|
+
- 🇸🇪 **Sweden MSB** - Swedish Civil Contingencies Agency cybersecurity frameworks
|
|
286
|
+
- 🇩🇰 **Denmark CFCS** - Center for Cybersikkerhed guidelines
|
|
287
|
+
- 🇧🇪 **Belgium CCB** - Centre for Cybersecurity Belgium frameworks
|
|
288
|
+
- 🇫🇷 **France ANSSI** SecNumCloud - French cybersecurity agency cloud framework
|
|
289
|
+
|
|
290
|
+
**Note:** The European country frameworks we DO include (Netherlands, Norway, Sweden, Germany) map to national cybersecurity **laws and regulations** (article numbers from GDPR, NIS2, etc.), not the specific security baseline frameworks listed above.
|
|
291
|
+
|
|
292
|
+
**Want these frameworks?**
|
|
293
|
+
|
|
294
|
+
1. **For private use:** Fork this repository and use the [paid standards import feature](PAID_STANDARDS_GUIDE.md) to add your purchased frameworks
|
|
295
|
+
2. **For public benefit:** Contribute framework mappings to SCF at https://securecontrolsframework.com/contact/
|
|
263
296
|
|
|
264
297
|
---
|
|
265
298
|
|
|
@@ -272,7 +305,7 @@ Get details about a specific SCF control by ID.
|
|
|
272
305
|
get_control(control_id="GOV-01")
|
|
273
306
|
```
|
|
274
307
|
|
|
275
|
-
**Returns:** Full control details including description, domain, weight, PPTDF category, and mappings to all
|
|
308
|
+
**Returns:** Full control details including description, domain, weight, PPTDF category, and mappings to all 28 frameworks.
|
|
276
309
|
|
|
277
310
|
---
|
|
278
311
|
|
|
@@ -296,7 +329,7 @@ List all available frameworks with metadata.
|
|
|
296
329
|
list_frameworks()
|
|
297
330
|
```
|
|
298
331
|
|
|
299
|
-
**Returns:** All
|
|
332
|
+
**Returns:** All 28 frameworks with display names and control counts.
|
|
300
333
|
|
|
301
334
|
---
|
|
302
335
|
|
|
@@ -395,7 +428,7 @@ SCF JSON → In-memory index → MCP tools → AI response
|
|
|
395
428
|
Based on **SCF 2025.4** released December 29, 2025.
|
|
396
429
|
|
|
397
430
|
- **1,451 controls** across all domains
|
|
398
|
-
- **
|
|
431
|
+
- **580+ framework mappings** (28 frameworks × 18-777 controls each)
|
|
399
432
|
- Licensed under **Creative Commons** (data)
|
|
400
433
|
- Source: [ComplianceForge SCF](https://securecontrolsframework.com/)
|
|
401
434
|
|
|
@@ -417,6 +450,62 @@ Based on **SCF 2025.4** released December 29, 2025.
|
|
|
417
450
|
|
|
418
451
|
---
|
|
419
452
|
|
|
453
|
+
## Related Projects: Complete Compliance Suite
|
|
454
|
+
|
|
455
|
+
This server is part of **Ansvar's Compliance Suite** - three MCP servers that work together for end-to-end compliance coverage:
|
|
456
|
+
|
|
457
|
+
### 🇪🇺 [EU Regulations MCP](https://github.com/Ansvar-Systems/EU_compliance_MCP)
|
|
458
|
+
**Query 47 EU regulations directly from Claude**
|
|
459
|
+
- GDPR, AI Act, DORA, NIS2, MiFID II, PSD2, eIDAS, Medical Device Regulation, and 39 more
|
|
460
|
+
- Full regulatory text with article-level search
|
|
461
|
+
- Cross-regulation reference and comparison
|
|
462
|
+
- **Install:** `npx @ansvar/eu-regulations-mcp`
|
|
463
|
+
|
|
464
|
+
### 🇺🇸 [US Regulations MCP](https://github.com/Ansvar-Systems/US_Compliance_MCP)
|
|
465
|
+
**Query US federal and state compliance laws directly from Claude**
|
|
466
|
+
- HIPAA, CCPA, SOX, GLBA, FERPA, COPPA, FDA 21 CFR Part 11, and 8 more
|
|
467
|
+
- Federal and state privacy law comparison
|
|
468
|
+
- Breach notification timeline mapping
|
|
469
|
+
- **Install:** `npm install @ansvar/us-regulations-mcp`
|
|
470
|
+
|
|
471
|
+
### 🔐 Security Controls MCP (This Project)
|
|
472
|
+
**Query 1,451 security controls across 28 frameworks**
|
|
473
|
+
- ISO 27001, NIST CSF, DORA, PCI DSS, SOC 2, CMMC, FedRAMP, and 21 more
|
|
474
|
+
- Bidirectional framework mapping and gap analysis
|
|
475
|
+
- Import your purchased standards for official text
|
|
476
|
+
- **Install:** `pipx install security-controls-mcp`
|
|
477
|
+
|
|
478
|
+
### How They Work Together
|
|
479
|
+
|
|
480
|
+
**Regulations → Controls Implementation Workflow:**
|
|
481
|
+
|
|
482
|
+
```
|
|
483
|
+
1. "What DORA requirements apply to ICT risk management?"
|
|
484
|
+
→ EU Regulations MCP returns Article 6 full text
|
|
485
|
+
|
|
486
|
+
2. "What security controls satisfy DORA Article 6?"
|
|
487
|
+
→ Security Controls MCP maps to ISO 27001, NIST CSF, and SCF controls
|
|
488
|
+
|
|
489
|
+
3. "Show me ISO 27001 A.8.1 implementation details"
|
|
490
|
+
→ Security Controls MCP returns control requirements and framework mappings
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
**Complete compliance in one chat:**
|
|
494
|
+
- **EU/US Regulations MCPs** tell you WHAT compliance requirements you must meet
|
|
495
|
+
- **Security Controls MCP** tells you HOW to implement controls that satisfy those requirements
|
|
496
|
+
|
|
497
|
+
### Specialized: OT/ICS Security
|
|
498
|
+
|
|
499
|
+
### 🏭 [OT Security MCP](https://github.com/Ansvar-Systems/ot-security-mcp)
|
|
500
|
+
**Query IEC 62443, NIST 800-82/53, and MITRE ATT&CK for ICS**
|
|
501
|
+
- Specialized for OT/ICS environments (manufacturing, energy, critical infrastructure)
|
|
502
|
+
- Security levels, Purdue Model, zone/conduit architecture
|
|
503
|
+
- MITRE ATT&CK for ICS threat intelligence
|
|
504
|
+
- **Install:** `npm install @ansvar/ot-security-mcp`
|
|
505
|
+
- **Use case:** Industrial control systems, SCADA, PLCs, critical infrastructure
|
|
506
|
+
|
|
507
|
+
---
|
|
508
|
+
|
|
420
509
|
## Developer Information
|
|
421
510
|
|
|
422
511
|
**Built by:** [Ansvar Systems](https://ansvar.eu) (Stockholm, Sweden) — specializes in AI-accelerated threat modeling and compliance tools
|
|
@@ -63,7 +63,7 @@ List all available security frameworks
|
|
|
63
63
|
|
|
64
64
|
You should see output like:
|
|
65
65
|
```
|
|
66
|
-
**Available Frameworks (
|
|
66
|
+
**Available Frameworks (28 total)**
|
|
67
67
|
|
|
68
68
|
- **nist_800_53_r5**: NIST SP 800-53 Revision 5 (777 controls)
|
|
69
69
|
- **soc_2_tsc**: SOC 2 (TSC 2017:2022) (412 controls)
|