fedramp-20x-mcp 0.4.8__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.
- fedramp_20x_mcp/__init__.py +14 -0
- fedramp_20x_mcp/__main__.py +12 -0
- fedramp_20x_mcp/data_loader.py +673 -0
- fedramp_20x_mcp/prompts/__init__.py +62 -0
- fedramp_20x_mcp/prompts/api_design_guide.txt +432 -0
- fedramp_20x_mcp/prompts/ato_package_checklist.txt +75 -0
- fedramp_20x_mcp/prompts/audit_preparation.txt +592 -0
- fedramp_20x_mcp/prompts/authorization_boundary_review.txt +76 -0
- fedramp_20x_mcp/prompts/azure_ksi_automation.txt +997 -0
- fedramp_20x_mcp/prompts/continuous_monitoring_setup.txt +61 -0
- fedramp_20x_mcp/prompts/documentation_generator.txt +499 -0
- fedramp_20x_mcp/prompts/gap_analysis.txt +25 -0
- fedramp_20x_mcp/prompts/initial_assessment_roadmap.txt +202 -0
- fedramp_20x_mcp/prompts/ksi_implementation_priorities.txt +283 -0
- fedramp_20x_mcp/prompts/migration_from_rev5.txt +440 -0
- fedramp_20x_mcp/prompts/quarterly_review_checklist.txt +231 -0
- fedramp_20x_mcp/prompts/significant_change_assessment.txt +50 -0
- fedramp_20x_mcp/prompts/vendor_evaluation.txt +349 -0
- fedramp_20x_mcp/prompts/vulnerability_remediation_timeline.txt +45 -0
- fedramp_20x_mcp/server.py +270 -0
- fedramp_20x_mcp/templates/__init__.py +75 -0
- fedramp_20x_mcp/templates/bicep/afr.txt +33 -0
- fedramp_20x_mcp/templates/bicep/cna.txt +48 -0
- fedramp_20x_mcp/templates/bicep/generic.txt +47 -0
- fedramp_20x_mcp/templates/bicep/iam.txt +211 -0
- fedramp_20x_mcp/templates/bicep/mla.txt +82 -0
- fedramp_20x_mcp/templates/bicep/rpl.txt +44 -0
- fedramp_20x_mcp/templates/bicep/svc.txt +54 -0
- fedramp_20x_mcp/templates/code/generic_csharp.txt +65 -0
- fedramp_20x_mcp/templates/code/generic_powershell.txt +65 -0
- fedramp_20x_mcp/templates/code/generic_python.txt +63 -0
- fedramp_20x_mcp/templates/code/iam_csharp.txt +150 -0
- fedramp_20x_mcp/templates/code/iam_powershell.txt +162 -0
- fedramp_20x_mcp/templates/code/iam_python.txt +224 -0
- fedramp_20x_mcp/templates/code/mla_python.txt +124 -0
- fedramp_20x_mcp/templates/terraform/afr.txt +29 -0
- fedramp_20x_mcp/templates/terraform/cna.txt +50 -0
- fedramp_20x_mcp/templates/terraform/generic.txt +40 -0
- fedramp_20x_mcp/templates/terraform/iam.txt +219 -0
- fedramp_20x_mcp/templates/terraform/mla.txt +29 -0
- fedramp_20x_mcp/templates/terraform/rpl.txt +32 -0
- fedramp_20x_mcp/templates/terraform/svc.txt +46 -0
- fedramp_20x_mcp/tools/__init__.py +167 -0
- fedramp_20x_mcp/tools/definitions.py +154 -0
- fedramp_20x_mcp/tools/documentation.py +155 -0
- fedramp_20x_mcp/tools/enhancements.py +2256 -0
- fedramp_20x_mcp/tools/evidence.py +701 -0
- fedramp_20x_mcp/tools/export.py +753 -0
- fedramp_20x_mcp/tools/ksi.py +90 -0
- fedramp_20x_mcp/tools/requirements.py +163 -0
- fedramp_20x_mcp-0.4.8.dist-info/METADATA +877 -0
- fedramp_20x_mcp-0.4.8.dist-info/RECORD +55 -0
- fedramp_20x_mcp-0.4.8.dist-info/WHEEL +4 -0
- fedramp_20x_mcp-0.4.8.dist-info/entry_points.txt +2 -0
- fedramp_20x_mcp-0.4.8.dist-info/licenses/LICENSE +27 -0
|
@@ -0,0 +1,877 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: fedramp-20x-mcp
|
|
3
|
+
Version: 0.4.8
|
|
4
|
+
Summary: MCP server for querying FedRAMP 20x requirements
|
|
5
|
+
Project-URL: Homepage, https://github.com/KevinRabun/FedRAMP20xMCP
|
|
6
|
+
Project-URL: Documentation, https://github.com/KevinRabun/FedRAMP20xMCP#readme
|
|
7
|
+
Project-URL: Repository, https://github.com/KevinRabun/FedRAMP20xMCP
|
|
8
|
+
Project-URL: Issues, https://github.com/KevinRabun/FedRAMP20xMCP/issues
|
|
9
|
+
Author: FedRAMP 20x MCP Server Contributors
|
|
10
|
+
License: MIT
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Keywords: azure,compliance,fedramp,mcp,security
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Topic :: Security
|
|
21
|
+
Classifier: Topic :: System :: Systems Administration
|
|
22
|
+
Requires-Python: >=3.10
|
|
23
|
+
Requires-Dist: httpx>=0.27.0
|
|
24
|
+
Requires-Dist: mcp>=1.2.0
|
|
25
|
+
Requires-Dist: openpyxl>=3.1.0
|
|
26
|
+
Requires-Dist: python-docx>=1.1.0
|
|
27
|
+
Provides-Extra: dev
|
|
28
|
+
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
|
|
29
|
+
Requires-Dist: pytest-cov>=4.1.0; extra == 'dev'
|
|
30
|
+
Requires-Dist: pytest>=8.0.0; extra == 'dev'
|
|
31
|
+
Description-Content-Type: text/markdown
|
|
32
|
+
|
|
33
|
+
# FedRAMP 20x MCP Server
|
|
34
|
+
|
|
35
|
+
[](https://github.com/KevinRabun/FedRAMP20xMCP/actions/workflows/test.yml)
|
|
36
|
+
[](https://pypi.org/project/fedramp-20x-mcp/)
|
|
37
|
+
[](https://pypi.org/project/fedramp-20x-mcp/)
|
|
38
|
+
|
|
39
|
+
<!-- mcp-name: io.github.KevinRabun/FedRAMP20xMCP -->
|
|
40
|
+
|
|
41
|
+
An MCP (Model Context Protocol) server that provides access to FedRAMP 20x security requirements and controls with **Azure-first guidance**.
|
|
42
|
+
|
|
43
|
+
## Overview
|
|
44
|
+
|
|
45
|
+
This server loads FedRAMP 20x data from the official [FedRAMP documentation repository](https://github.com/FedRAMP/docs) and provides tools for querying requirements by control, family, or keyword.
|
|
46
|
+
|
|
47
|
+
**Data Sources:**
|
|
48
|
+
- **Requirements Data:** JSON files from [github.com/FedRAMP/docs/tree/main/data](https://github.com/FedRAMP/docs/tree/main/data)
|
|
49
|
+
- **Documentation:** Markdown files from [github.com/FedRAMP/docs/tree/main/docs](https://github.com/FedRAMP/docs/tree/main/docs)
|
|
50
|
+
|
|
51
|
+
**Azure Focus:** All implementation examples, architecture patterns, and vendor recommendations prioritize Microsoft Azure services (Azure Government, Microsoft Entra ID, Azure Key Vault, AKS, Azure Functions, Bicep, etc.) while remaining cloud-agnostic where appropriate.
|
|
52
|
+
|
|
53
|
+
### Complete Data Coverage
|
|
54
|
+
|
|
55
|
+
The server provides access to **329 requirements** across all 12 FedRAMP 20x documents:
|
|
56
|
+
- **ADS** - Authorization Data Sharing (22 requirements)
|
|
57
|
+
- **CCM** - Collaborative Continuous Monitoring (25 requirements)
|
|
58
|
+
- **FRD** - FedRAMP Definitions (50 definitions)
|
|
59
|
+
- **FSI** - FedRAMP Security Inbox (16 requirements)
|
|
60
|
+
- **ICP** - Incident Communications Procedures (9 requirements)
|
|
61
|
+
- **KSI** - Key Security Indicators (72 indicators)
|
|
62
|
+
- **MAS** - Minimum Assessment Scope (12 requirements)
|
|
63
|
+
- **PVA** - Persistent Validation and Assessment (22 requirements)
|
|
64
|
+
- **RSC** - Recommended Secure Configuration (10 requirements)
|
|
65
|
+
- **SCN** - Significant Change Notifications (26 requirements)
|
|
66
|
+
- **UCM** - Using Cryptographic Modules (4 requirements)
|
|
67
|
+
- **VDR** - Vulnerability Detection and Response (59 requirements)
|
|
68
|
+
|
|
69
|
+
## Features
|
|
70
|
+
|
|
71
|
+
- **Query by Control**: Get detailed information about specific FedRAMP requirements
|
|
72
|
+
- **Query by Family**: List all requirements within a family
|
|
73
|
+
- **Keyword Search**: Search across all requirements using keywords
|
|
74
|
+
- **FedRAMP Definitions**: Look up official FedRAMP term definitions
|
|
75
|
+
- **Key Security Indicators**: Access and query FedRAMP Key Security Indicators (KSI)
|
|
76
|
+
- **Documentation Search**: Search and retrieve official FedRAMP documentation markdown files
|
|
77
|
+
- **Dynamic Content**: Automatically discovers and loads all markdown documentation files
|
|
78
|
+
- **Implementation Planning**: Generate strategic interview questions to help product managers and engineers think through FedRAMP 20x implementation considerations
|
|
79
|
+
|
|
80
|
+
**Important Clarification: OSCAL Format**
|
|
81
|
+
FedRAMP 20x requires **machine-readable** formats (JSON, XML, or structured data) for Authorization Data Sharing. **OSCAL is NOT mentioned in FedRAMP 20x requirements** - it's a NIST standard that can be used as one potential implementation approach. The actual requirement is simply "machine-readable" - you can use custom JSON/XML or OSCAL based on your implementation needs.
|
|
82
|
+
|
|
83
|
+
📄 **See [OSCAL_CLARIFICATION.md](OSCAL_CLARIFICATION.md) for detailed guidance on format requirements and implementation approaches.**
|
|
84
|
+
|
|
85
|
+
## Installation
|
|
86
|
+
|
|
87
|
+
### Prerequisites
|
|
88
|
+
|
|
89
|
+
- Python 3.10 or higher
|
|
90
|
+
- pip (included with Python)
|
|
91
|
+
- Python must be in your system PATH
|
|
92
|
+
|
|
93
|
+
### Setup
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# Clone the repository
|
|
97
|
+
git clone https://github.com/KevinRabun/FedRAMP20xMCP.git
|
|
98
|
+
cd FedRAMP20xMCP
|
|
99
|
+
|
|
100
|
+
# Create virtual environment and install
|
|
101
|
+
python -m venv .venv
|
|
102
|
+
source .venv/bin/activate # On Windows: .venv\Scripts\activate
|
|
103
|
+
pip install -e .
|
|
104
|
+
|
|
105
|
+
# If using uv (alternative package manager):
|
|
106
|
+
uv pip install -e .
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**Dependencies:**
|
|
110
|
+
- `mcp>=1.2.0` - Model Context Protocol SDK
|
|
111
|
+
- `httpx>=0.27.0` - HTTP client for fetching FedRAMP data
|
|
112
|
+
- `openpyxl>=3.1.0` - Excel file generation for export features
|
|
113
|
+
- `python-docx>=1.1.0` - Word document generation for KSI specifications
|
|
114
|
+
|
|
115
|
+
**Troubleshooting:** If you get "Python was not found" errors:
|
|
116
|
+
1. Ensure Python is installed and added to PATH
|
|
117
|
+
2. Try using `python3` instead of `python`
|
|
118
|
+
3. Or use the full path to python.exe in `.vscode/mcp.json`
|
|
119
|
+
|
|
120
|
+
## Usage
|
|
121
|
+
|
|
122
|
+
### With VS Code and GitHub Copilot
|
|
123
|
+
|
|
124
|
+
1. **Install the VS Code MCP extension** (if not already installed)
|
|
125
|
+
|
|
126
|
+
2. **Configure the MCP server** - Choose one of the following scopes:
|
|
127
|
+
|
|
128
|
+
**Option A: Workspace-level (Recommended for sharing)**
|
|
129
|
+
|
|
130
|
+
Add to `.vscode/mcp.json` in your project:
|
|
131
|
+
```jsonc
|
|
132
|
+
{
|
|
133
|
+
"servers": {
|
|
134
|
+
"fedramp-20x-mcp": {
|
|
135
|
+
"type": "stdio",
|
|
136
|
+
"command": "python",
|
|
137
|
+
"args": ["-m", "fedramp_20x_mcp"]
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**If Python is not in PATH**, update the command to use your virtual environment's Python:
|
|
144
|
+
```jsonc
|
|
145
|
+
{
|
|
146
|
+
"servers": {
|
|
147
|
+
"fedramp-20x-mcp": {
|
|
148
|
+
"type": "stdio",
|
|
149
|
+
"command": "${workspaceFolder}/.venv/Scripts/python.exe", // Windows
|
|
150
|
+
// "command": "${workspaceFolder}/.venv/bin/python", // macOS/Linux
|
|
151
|
+
"args": ["-m", "fedramp_20x_mcp"]
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**Option B: User-level (Global across all projects)**
|
|
158
|
+
|
|
159
|
+
Add to VS Code User Settings (`settings.json`):
|
|
160
|
+
```jsonc
|
|
161
|
+
{
|
|
162
|
+
"github.copilot.chat.mcp.servers": {
|
|
163
|
+
"fedramp-20x-mcp": {
|
|
164
|
+
"type": "stdio",
|
|
165
|
+
"command": "python",
|
|
166
|
+
"args": ["-m", "fedramp_20x_mcp"]
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**Security Note:** Do NOT use `"alwaysAllow"` in configuration. VS Code will prompt you to grant permissions on first use, which is a security best practice.
|
|
173
|
+
|
|
174
|
+
3. **Optional: Configure VS Code settings** by copying `.vscode/settings.json.example` to `.vscode/settings.json`
|
|
175
|
+
|
|
176
|
+
4. **Reload VS Code** to activate the MCP server
|
|
177
|
+
|
|
178
|
+
5. **Grant permissions** when prompted by VS Code (first use only)
|
|
179
|
+
|
|
180
|
+
6. **Use with GitHub Copilot Chat**:
|
|
181
|
+
- Open Copilot Chat
|
|
182
|
+
- Ask questions about FedRAMP 20x requirements
|
|
183
|
+
- Use `@workspace` to query specific controls or families
|
|
184
|
+
- Access all 24 tools and 9 prompts
|
|
185
|
+
|
|
186
|
+
### With Claude Desktop
|
|
187
|
+
|
|
188
|
+
Add this server to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS or `%APPDATA%\Claude\claude_desktop_config.json` on Windows):
|
|
189
|
+
|
|
190
|
+
```json
|
|
191
|
+
{
|
|
192
|
+
"mcpServers": {
|
|
193
|
+
"fedramp-20x": {
|
|
194
|
+
"command": "uv",
|
|
195
|
+
"args": [
|
|
196
|
+
"--directory",
|
|
197
|
+
"/absolute/path/to/FedRAMP20xMCP",
|
|
198
|
+
"run",
|
|
199
|
+
"fedramp-20x-mcp"
|
|
200
|
+
]
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
**Note:** Replace `/absolute/path/to/FedRAMP20xMCP` with your actual installation path.
|
|
207
|
+
|
|
208
|
+
### With MCP Inspector
|
|
209
|
+
|
|
210
|
+
Test the server using the MCP Inspector:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
npx @modelcontextprotocol/inspector python -m fedramp_20x_mcp
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## Recommended MCP Server Setup
|
|
217
|
+
|
|
218
|
+
For the best FedRAMP 20x compliance workflow, combine this server with other MCP servers that provide Azure and Microsoft context. Here's a complete configuration that includes Azure integration, Microsoft documentation, and GitHub access.
|
|
219
|
+
|
|
220
|
+
### Complete .vscode/mcp.json Configuration
|
|
221
|
+
|
|
222
|
+
Create or update `.vscode/mcp.json` in your project with this configuration:
|
|
223
|
+
|
|
224
|
+
```jsonc
|
|
225
|
+
{
|
|
226
|
+
"servers": {
|
|
227
|
+
// FedRAMP 20x Requirements & Documentation
|
|
228
|
+
"fedramp-20x-mcp": {
|
|
229
|
+
"type": "stdio",
|
|
230
|
+
"command": "${workspaceFolder}/.venv/Scripts/python.exe", // Windows
|
|
231
|
+
// "command": "${workspaceFolder}/.venv/bin/python", // macOS/Linux
|
|
232
|
+
"args": ["-m", "fedramp_20x_mcp"]
|
|
233
|
+
},
|
|
234
|
+
|
|
235
|
+
// Azure Resources & Operations (Official Microsoft MCP Server)
|
|
236
|
+
"azure-mcp": {
|
|
237
|
+
"type": "stdio",
|
|
238
|
+
"command": "npx",
|
|
239
|
+
"args": [
|
|
240
|
+
"-y",
|
|
241
|
+
"@azure/mcp-server-azure"
|
|
242
|
+
],
|
|
243
|
+
"env": {
|
|
244
|
+
"AZURE_SUBSCRIPTION_ID": "your-subscription-id-here"
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
|
|
248
|
+
// Microsoft Documentation (Learn, Azure Docs, API References)
|
|
249
|
+
"microsoft-docs": {
|
|
250
|
+
"type": "stdio",
|
|
251
|
+
"command": "npx",
|
|
252
|
+
"args": [
|
|
253
|
+
"-y",
|
|
254
|
+
"@microsoft/mcp-server-docs"
|
|
255
|
+
]
|
|
256
|
+
},
|
|
257
|
+
|
|
258
|
+
// GitHub (for Azure samples, Bicep templates, FedRAMP examples)
|
|
259
|
+
"github": {
|
|
260
|
+
"type": "stdio",
|
|
261
|
+
"command": "npx",
|
|
262
|
+
"args": [
|
|
263
|
+
"-y",
|
|
264
|
+
"@modelcontextprotocol/server-github"
|
|
265
|
+
],
|
|
266
|
+
"env": {
|
|
267
|
+
"GITHUB_PERSONAL_ACCESS_TOKEN": "your-github-token-here"
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
### What Each Server Provides
|
|
275
|
+
|
|
276
|
+
**fedramp-20x-mcp** (This Server)
|
|
277
|
+
- 329 FedRAMP 20x requirements
|
|
278
|
+
- 72 Key Security Indicators
|
|
279
|
+
- 50 official definitions
|
|
280
|
+
- Official markdown documentation files
|
|
281
|
+
- Implementation examples and Azure guidance
|
|
282
|
+
- Evidence collection automation tools
|
|
283
|
+
- Compliance validation tools
|
|
284
|
+
|
|
285
|
+
**azure-mcp** (Microsoft Official)
|
|
286
|
+
- Query Azure resources (VMs, databases, networks)
|
|
287
|
+
- Check Azure Policy compliance
|
|
288
|
+
- Review Security Center/Defender alerts
|
|
289
|
+
- Validate configurations against FedRAMP requirements
|
|
290
|
+
- Real-time Azure resource inventory
|
|
291
|
+
|
|
292
|
+
**microsoft-docs**
|
|
293
|
+
- Azure service documentation
|
|
294
|
+
- API references
|
|
295
|
+
- Best practices guides
|
|
296
|
+
- Architecture patterns
|
|
297
|
+
- Security baselines
|
|
298
|
+
|
|
299
|
+
**github**
|
|
300
|
+
- Access Azure Quick Start templates
|
|
301
|
+
- FedRAMP Bicep/Terraform examples
|
|
302
|
+
- Azure sample applications
|
|
303
|
+
- Community compliance patterns
|
|
304
|
+
|
|
305
|
+
### Setup Steps
|
|
306
|
+
|
|
307
|
+
1. **Configure Azure Authentication** (for azure-mcp):
|
|
308
|
+
```bash
|
|
309
|
+
# Install Azure CLI if not already installed
|
|
310
|
+
# Login to Azure
|
|
311
|
+
az login
|
|
312
|
+
|
|
313
|
+
# Set your subscription
|
|
314
|
+
az account set --subscription "your-subscription-id"
|
|
315
|
+
|
|
316
|
+
# Add subscription ID to mcp.json
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
2. **Configure GitHub Token** (for github):
|
|
320
|
+
- Go to https://github.com/settings/tokens
|
|
321
|
+
- Create a Personal Access Token with `repo` scope
|
|
322
|
+
- Add token to mcp.json `GITHUB_PERSONAL_ACCESS_TOKEN`
|
|
323
|
+
|
|
324
|
+
3. **Reload VS Code** to activate all servers
|
|
325
|
+
|
|
326
|
+
4. **Grant Permissions** when VS Code prompts (first use)
|
|
327
|
+
|
|
328
|
+
### Example Workflow with Multiple Servers
|
|
329
|
+
|
|
330
|
+
```
|
|
331
|
+
User: "Check if my Azure Key Vault configuration meets FedRAMP KSI-IAM-06 requirements"
|
|
332
|
+
|
|
333
|
+
AI Assistant uses:
|
|
334
|
+
1. fedramp-20x-mcp → Get KSI-IAM-06 requirements
|
|
335
|
+
2. azure-mcp → Query actual Key Vault configuration
|
|
336
|
+
3. microsoft-docs → Get Azure Key Vault security best practices
|
|
337
|
+
4. Returns compliance analysis with gaps and remediation steps
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
### Simplified Setup (FedRAMP Only)
|
|
341
|
+
|
|
342
|
+
If you only want FedRAMP requirements without Azure integration:
|
|
343
|
+
|
|
344
|
+
```jsonc
|
|
345
|
+
{
|
|
346
|
+
"servers": {
|
|
347
|
+
"fedramp-20x-mcp": {
|
|
348
|
+
"type": "stdio",
|
|
349
|
+
"command": "${workspaceFolder}/.venv/Scripts/python.exe",
|
|
350
|
+
"args": ["-m", "fedramp_20x_mcp"]
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
## Available Tools
|
|
357
|
+
|
|
358
|
+
The server provides **26 tools** organized into the following categories:
|
|
359
|
+
|
|
360
|
+
**Core Tools (8):** Query requirements, definitions, and KSIs
|
|
361
|
+
**Documentation Tools (3):** Search and retrieve FedRAMP documentation
|
|
362
|
+
**Enhancement Tools (6):** Implementation examples, dependencies, effort estimation
|
|
363
|
+
**Export Tools (3):** Excel/CSV export and KSI specification generation
|
|
364
|
+
**Planning Tools (1):** Generate strategic implementation questions
|
|
365
|
+
**Evidence Collection Automation Tools (3):** Infrastructure code, collection code, architecture guidance
|
|
366
|
+
**Implementation Mapping Tools (2):** KSI family matrices and step-by-step implementation checklists
|
|
367
|
+
|
|
368
|
+
### get_control
|
|
369
|
+
Get detailed information about a specific FedRAMP requirement or control.
|
|
370
|
+
|
|
371
|
+
**Parameters:**
|
|
372
|
+
- `control_id` (string): The requirement identifier (e.g., "FRD-ALL-01", "KSI-AFR-01")
|
|
373
|
+
|
|
374
|
+
### list_family_controls
|
|
375
|
+
List all requirements within a specific family.
|
|
376
|
+
|
|
377
|
+
**Parameters:**
|
|
378
|
+
- `family` (string): The family identifier (e.g., "FRD", "KSI", "MAS")
|
|
379
|
+
|
|
380
|
+
### search_requirements
|
|
381
|
+
Search for requirements containing specific keywords.
|
|
382
|
+
|
|
383
|
+
**Parameters:**
|
|
384
|
+
- `keywords` (string): Keywords to search for in requirement text
|
|
385
|
+
|
|
386
|
+
### get_definition
|
|
387
|
+
Get the FedRAMP definition for a specific term.
|
|
388
|
+
|
|
389
|
+
**Parameters:**
|
|
390
|
+
- `term` (string): The term to look up (e.g., "vulnerability", "cloud service offering")
|
|
391
|
+
|
|
392
|
+
### list_definitions
|
|
393
|
+
List all FedRAMP definitions with their terms.
|
|
394
|
+
|
|
395
|
+
**Returns:** Complete list of all FedRAMP definition terms
|
|
396
|
+
|
|
397
|
+
### search_definitions
|
|
398
|
+
Search FedRAMP definitions by keywords.
|
|
399
|
+
|
|
400
|
+
**Parameters:**
|
|
401
|
+
- `keywords` (string): Keywords to search for in definitions
|
|
402
|
+
|
|
403
|
+
### get_ksi
|
|
404
|
+
Get detailed information about a specific Key Security Indicator.
|
|
405
|
+
|
|
406
|
+
**Parameters:**
|
|
407
|
+
- `ksi_id` (string): The KSI identifier (e.g., "KSI-AFR-01")
|
|
408
|
+
|
|
409
|
+
### list_ksi
|
|
410
|
+
List all Key Security Indicators.
|
|
411
|
+
|
|
412
|
+
**Returns:** Complete list of all Key Security Indicators with their names
|
|
413
|
+
|
|
414
|
+
### compare_with_rev4
|
|
415
|
+
Compare FedRAMP 20x with Rev 4/Rev 5 requirements for specific areas.
|
|
416
|
+
|
|
417
|
+
**Parameters:**
|
|
418
|
+
- `requirement_area` (string): Area to compare (e.g., "continuous monitoring", "vulnerability management", "authorization boundary", "evidence collection", "change management", "incident response")
|
|
419
|
+
|
|
420
|
+
### get_implementation_examples
|
|
421
|
+
Get practical implementation examples for specific requirements.
|
|
422
|
+
|
|
423
|
+
**Parameters:**
|
|
424
|
+
- `requirement_id` (string): The requirement identifier (e.g., "KSI-IAM-01", "FRR-VDR-01")
|
|
425
|
+
|
|
426
|
+
### check_requirement_dependencies
|
|
427
|
+
Check dependencies between FedRAMP 20x requirements.
|
|
428
|
+
|
|
429
|
+
**Parameters:**
|
|
430
|
+
- `requirement_id` (string): The requirement identifier to check dependencies for
|
|
431
|
+
|
|
432
|
+
### estimate_implementation_effort
|
|
433
|
+
Estimate implementation effort for specific requirements.
|
|
434
|
+
|
|
435
|
+
**Parameters:**
|
|
436
|
+
- `requirement_id` (string): The requirement identifier to estimate effort for
|
|
437
|
+
|
|
438
|
+
### get_cloud_native_guidance
|
|
439
|
+
Get cloud-native implementation guidance for specific Azure and multi-cloud technologies.
|
|
440
|
+
|
|
441
|
+
**Parameters:**
|
|
442
|
+
- `technology` (string): Technology to get guidance for (e.g., "kubernetes", "containers", "serverless", "terraform")
|
|
443
|
+
|
|
444
|
+
**Note:** All cloud examples and best practices prioritize Azure services (AKS, Azure Functions, Key Vault, Bicep, etc.)
|
|
445
|
+
|
|
446
|
+
### validate_architecture
|
|
447
|
+
Validate a system architecture against FedRAMP 20x requirements.
|
|
448
|
+
|
|
449
|
+
**Parameters:**
|
|
450
|
+
- `architecture_description` (string): Description of the architecture to validate
|
|
451
|
+
|
|
452
|
+
### search_documentation
|
|
453
|
+
Search FedRAMP official documentation markdown files for specific keywords.
|
|
454
|
+
|
|
455
|
+
**Parameters:**
|
|
456
|
+
- `keywords` (string): Keywords to search for in documentation
|
|
457
|
+
|
|
458
|
+
**Returns:** Matching documentation sections with context from all available markdown files
|
|
459
|
+
|
|
460
|
+
**Note:** Automatically loads all markdown files from the docs directory, so new documentation is always searchable.
|
|
461
|
+
|
|
462
|
+
### get_documentation_file
|
|
463
|
+
Get the full content of a specific FedRAMP documentation file.
|
|
464
|
+
|
|
465
|
+
**Parameters:**
|
|
466
|
+
- `filename` (string): The markdown filename (e.g., "overview.md", "key-security-indicators.md")
|
|
467
|
+
|
|
468
|
+
**Returns:** Full markdown content of the documentation file
|
|
469
|
+
|
|
470
|
+
### list_documentation_files
|
|
471
|
+
List all available FedRAMP documentation files.
|
|
472
|
+
|
|
473
|
+
**Returns:** Complete list of all markdown documentation files dynamically discovered from the repository
|
|
474
|
+
|
|
475
|
+
### export_to_excel
|
|
476
|
+
Export FedRAMP 20x data to Excel files for offline analysis and reporting.
|
|
477
|
+
|
|
478
|
+
**Parameters:**
|
|
479
|
+
- `export_type` (string): Type of data to export:
|
|
480
|
+
- `"ksi"` - All 72 Key Security Indicators
|
|
481
|
+
- `"all_requirements"` - All 329 requirements across all families
|
|
482
|
+
- `"definitions"` - All FedRAMP term definitions
|
|
483
|
+
- `output_path` (string, optional): Custom output path. If not provided, saves to Downloads folder
|
|
484
|
+
|
|
485
|
+
**Returns:** Path to the generated Excel file with professional formatting (styled headers, borders, frozen panes)
|
|
486
|
+
|
|
487
|
+
**KSI Export Columns:**
|
|
488
|
+
1. **KSI ID** - Unique identifier (e.g., KSI-AFR-01)
|
|
489
|
+
2. **Name** - KSI name
|
|
490
|
+
3. **Category** - Control family category
|
|
491
|
+
4. **Status** - Active or Retired
|
|
492
|
+
5. **Statement** - Full requirement statement
|
|
493
|
+
6. **Note** - Additional information (e.g., supersession notes for retired KSIs)
|
|
494
|
+
7. **NIST 800-53 Controls** - Related security controls with titles
|
|
495
|
+
8. **Reference** - Reference document name (if applicable)
|
|
496
|
+
9. **Reference URL** - Link to FedRAMP documentation (if applicable)
|
|
497
|
+
10. **Impact Levels** - Applicable levels (Low, Moderate, High)
|
|
498
|
+
|
|
499
|
+
**All Requirements Export Columns:**
|
|
500
|
+
1. **Requirement ID** - Unique identifier
|
|
501
|
+
2. **Family** - Control family
|
|
502
|
+
3. **Term/Name** - Requirement name
|
|
503
|
+
4. **Description** - Full description
|
|
504
|
+
5. **Document** - Source document
|
|
505
|
+
|
|
506
|
+
**Definitions Export Columns:**
|
|
507
|
+
1. **Term** - FedRAMP term
|
|
508
|
+
2. **Definition** - Term definition
|
|
509
|
+
3. **Notes** - Additional context
|
|
510
|
+
4. **References** - Related documentation
|
|
511
|
+
|
|
512
|
+
**Example usage:**
|
|
513
|
+
- Export all KSIs: `export_to_excel("ksi")`
|
|
514
|
+
- Export all requirements: `export_to_excel("all_requirements")`
|
|
515
|
+
- Export definitions: `export_to_excel("definitions")`
|
|
516
|
+
|
|
517
|
+
### export_to_csv
|
|
518
|
+
Export FedRAMP 20x data to CSV files for data analysis and spreadsheet imports.
|
|
519
|
+
|
|
520
|
+
**Parameters:**
|
|
521
|
+
- `export_type` (string): Type of data to export:
|
|
522
|
+
- `"ksi"` - All 72 Key Security Indicators
|
|
523
|
+
- `"all_requirements"` - All 329 requirements across all families
|
|
524
|
+
- `"definitions"` - All FedRAMP term definitions
|
|
525
|
+
- `output_path` (string, optional): Custom output path. If not provided, saves to Downloads folder
|
|
526
|
+
|
|
527
|
+
**Returns:** Path to the generated CSV file
|
|
528
|
+
|
|
529
|
+
**Columns:** Same structure as Excel export (see above for detailed column descriptions)
|
|
530
|
+
|
|
531
|
+
**Example usage:**
|
|
532
|
+
- Export all KSIs: `export_to_csv("ksi")`
|
|
533
|
+
- Export all requirements: `export_to_csv("all_requirements")`
|
|
534
|
+
- Export definitions: `export_to_csv("definitions")`
|
|
535
|
+
|
|
536
|
+
### generate_ksi_specification
|
|
537
|
+
Generate a comprehensive product specification Word document for a KSI to guide engineering implementation and planning.
|
|
538
|
+
|
|
539
|
+
**Parameters:**
|
|
540
|
+
- `ksi_id` (string): The KSI identifier (e.g., "KSI-AFR-01")
|
|
541
|
+
- `evidence_collection_strategy` (string): High-level evidence collection strategy description provided by the user
|
|
542
|
+
- `output_path` (string, optional): Custom output path. If not provided, saves to Downloads folder
|
|
543
|
+
|
|
544
|
+
**Returns:** Path to the generated Word (.docx) document
|
|
545
|
+
|
|
546
|
+
**Document Contents:**
|
|
547
|
+
- **Metadata**: KSI ID, category, impact levels, status, date
|
|
548
|
+
- **Overview**: Purpose and scope aligned with FedRAMP 20x
|
|
549
|
+
- **Requirement Statement**: Full KSI requirement text
|
|
550
|
+
- **NIST 800-53 Controls**: Related security controls with titles
|
|
551
|
+
- **Azure-First Implementation**: Recommended Azure services, IaC guidance, automation strategies
|
|
552
|
+
- **Evidence Collection**: User-defined strategy + recommended evidence types and flexible collection schedule
|
|
553
|
+
- **5-Phase Implementation Plan**: Requirements analysis → Design → Implementation → Testing → Documentation (engineering teams determine timelines)
|
|
554
|
+
- **Team Roles**: Cloud architect, DevOps, security engineer, compliance specialist, etc.
|
|
555
|
+
- **Success Criteria**: Measurable outcomes for implementation validation
|
|
556
|
+
- **Risks and Mitigation**: Common risks with Azure-specific mitigation strategies
|
|
557
|
+
- **Resources**: Links to FedRAMP, NIST, Azure documentation
|
|
558
|
+
|
|
559
|
+
**Azure Services Recommended** (context-aware based on KSI category):
|
|
560
|
+
- Microsoft Entra ID, Azure Policy, Azure Monitor (all KSIs)
|
|
561
|
+
- Microsoft Defender for Cloud, Azure Key Vault, Azure Firewall (category-specific)
|
|
562
|
+
- Microsoft Sentinel, Azure Automation, Log Analytics (control-specific)
|
|
563
|
+
|
|
564
|
+
**Example usage:**
|
|
565
|
+
```
|
|
566
|
+
Generate specification for KSI-AFR-01:
|
|
567
|
+
> generate_ksi_specification with ksi_id="KSI-AFR-01"
|
|
568
|
+
and evidence_collection_strategy="Collect Azure Policy compliance reports quarterly using Azure Automation runbooks. Store evidence in Azure Blob Storage with immutable storage policy."
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
### generate_implementation_questions
|
|
572
|
+
Generate strategic interview questions for product managers and engineers to facilitate thoughtful planning discussions.
|
|
573
|
+
|
|
574
|
+
**Parameters:**
|
|
575
|
+
- `requirement_id` (string): The requirement or KSI identifier (e.g., "FRR-CCM-01", "KSI-IAM-01")
|
|
576
|
+
|
|
577
|
+
**Returns:** Comprehensive set of strategic questions organized by stakeholder role
|
|
578
|
+
|
|
579
|
+
**Question Categories:**
|
|
580
|
+
1. **Strategic Questions for Product Managers** (10 questions):
|
|
581
|
+
- Business Impact & ROI
|
|
582
|
+
- Customer Value & Competitive Position
|
|
583
|
+
- Resource Allocation & Prioritization
|
|
584
|
+
- Dependencies & Phasing
|
|
585
|
+
- Cost-Benefit Analysis
|
|
586
|
+
|
|
587
|
+
2. **Technical Questions for Engineers** (15 questions):
|
|
588
|
+
- Architecture & Design Decisions
|
|
589
|
+
- Azure Service Selection
|
|
590
|
+
- Automation Opportunities
|
|
591
|
+
- Monitoring & Evidence Collection
|
|
592
|
+
- Operations & Maintenance
|
|
593
|
+
|
|
594
|
+
3. **Cross-Functional Questions** (10 questions):
|
|
595
|
+
- Security & Compliance Integration
|
|
596
|
+
- User Experience Impact
|
|
597
|
+
- Training & Support Needs
|
|
598
|
+
- Incident Response Alignment
|
|
599
|
+
|
|
600
|
+
4. **Azure-Specific Considerations** (dynamic, up to 20 questions):
|
|
601
|
+
- Microsoft Entra ID configuration
|
|
602
|
+
- Azure RBAC and Conditional Access
|
|
603
|
+
- Log Analytics and Sentinel integration
|
|
604
|
+
- Azure Policy and governance
|
|
605
|
+
- Defender for Cloud setup
|
|
606
|
+
- Key Vault and encryption strategy
|
|
607
|
+
|
|
608
|
+
**Additional Guidance:**
|
|
609
|
+
- Decision Framework (5 must-answer questions before implementation)
|
|
610
|
+
- Success Criteria (5 measurable outcomes)
|
|
611
|
+
- Red Flags (5 warning signs to watch for)
|
|
612
|
+
- Next Steps (9-phase implementation approach)
|
|
613
|
+
- Recommended Resources (Microsoft docs, FedRAMP resources, community)
|
|
614
|
+
|
|
615
|
+
**Purpose:** Help teams think deeply about implementation considerations, trade-offs, and success criteria before committing resources. Questions are designed to facilitate planning sessions, design reviews, and stakeholder alignment.
|
|
616
|
+
|
|
617
|
+
### get_infrastructure_code_for_ksi
|
|
618
|
+
Generate Infrastructure as Code templates (Bicep or Terraform) for automated evidence collection infrastructure.
|
|
619
|
+
|
|
620
|
+
**Parameters:**
|
|
621
|
+
- `ksi_id` (string): The Key Security Indicator identifier (e.g., "KSI-IAM-01", "KSI-MLA-01")
|
|
622
|
+
- `infrastructure_type` (string): Either "bicep" or "terraform"
|
|
623
|
+
|
|
624
|
+
**Returns:** Complete IaC templates for deploying evidence collection infrastructure
|
|
625
|
+
|
|
626
|
+
**Supported KSI Families:**
|
|
627
|
+
- **IAM (Identity and Access Management)**: Microsoft Entra ID, Log Analytics workspaces, diagnostic settings, automation accounts
|
|
628
|
+
- **MLA (Monitoring, Logging, and Auditing)**: Log Analytics workspaces, Azure Sentinel, diagnostic settings, alert rules
|
|
629
|
+
- **AFR (Audit and Financial Reporting)**: Storage accounts with immutability, event subscriptions, audit logs
|
|
630
|
+
- **CNA (Change Notification and Approval)**: Event Grid topics, Logic Apps, DevOps pipelines, change tracking
|
|
631
|
+
- **RPL (Release Pipeline)**: Azure DevOps pipelines, deployment slots, rollback capabilities, approval gates
|
|
632
|
+
- **SVC (Service and Vulnerability Management)**: Defender for Cloud, security assessments, compliance dashboards
|
|
633
|
+
|
|
634
|
+
**Example Usage:**
|
|
635
|
+
```
|
|
636
|
+
> get_infrastructure_code_for_ksi with ksi_id="KSI-IAM-01" and infrastructure_type="bicep"
|
|
637
|
+
```
|
|
638
|
+
|
|
639
|
+
**Output Includes:**
|
|
640
|
+
- Azure resource definitions (Log Analytics, Storage, Event Grid, etc.)
|
|
641
|
+
- Diagnostic settings for evidence collection
|
|
642
|
+
- Retention policies and immutability
|
|
643
|
+
- Integration with Azure Monitor and Sentinel
|
|
644
|
+
- Automation for evidence gathering
|
|
645
|
+
- RBAC roles and permissions
|
|
646
|
+
|
|
647
|
+
### get_evidence_collection_code
|
|
648
|
+
Generate business logic code (Python, C#, or PowerShell) for collecting and storing KSI evidence programmatically.
|
|
649
|
+
|
|
650
|
+
**Parameters:**
|
|
651
|
+
- `ksi_id` (string): The Key Security Indicator identifier (e.g., "KSI-IAM-01")
|
|
652
|
+
- `language` (string): Either "python", "csharp", or "powershell"
|
|
653
|
+
|
|
654
|
+
**Returns:** Complete code examples with authentication, evidence collection, and storage
|
|
655
|
+
|
|
656
|
+
**Code Features:**
|
|
657
|
+
- **Authentication**: Azure DefaultAzureCredential pattern for managed identity or local development
|
|
658
|
+
- **Evidence Collection**: SDKs for Microsoft Graph API, Azure Resource Manager, Azure Monitor
|
|
659
|
+
- **Evidence Storage**: Save to Azure Blob Storage with immutability and metadata tagging
|
|
660
|
+
- **Error Handling**: Comprehensive try-catch patterns and logging
|
|
661
|
+
- **Documentation**: Inline comments explaining each step
|
|
662
|
+
|
|
663
|
+
**Supported Languages:**
|
|
664
|
+
- **Python**: Uses azure-identity, azure-storage-blob, azure-monitor-query, msgraph-sdk
|
|
665
|
+
- **C#**: Uses Azure.Identity, Azure.Storage.Blobs, Azure.Monitor.Query, Microsoft.Graph
|
|
666
|
+
- **PowerShell**: Uses Az.Accounts, Az.Storage, Az.Monitor, Microsoft.Graph modules
|
|
667
|
+
|
|
668
|
+
**Example Usage:**
|
|
669
|
+
```
|
|
670
|
+
> get_evidence_collection_code with ksi_id="KSI-MLA-01" and language="python"
|
|
671
|
+
```
|
|
672
|
+
|
|
673
|
+
**Output Includes:**
|
|
674
|
+
- SDK imports and authentication setup
|
|
675
|
+
- Evidence collection logic specific to the KSI
|
|
676
|
+
- JSON formatting and metadata tagging
|
|
677
|
+
- Blob storage upload with immutability
|
|
678
|
+
- Error handling and retry logic
|
|
679
|
+
|
|
680
|
+
### get_evidence_automation_architecture
|
|
681
|
+
Get comprehensive architecture guidance for automated evidence collection systems.
|
|
682
|
+
|
|
683
|
+
**Parameters:**
|
|
684
|
+
- `scope` (string): Architecture scope - "minimal", "single-ksi", "category", or "all"
|
|
685
|
+
|
|
686
|
+
**Returns:** Complete architecture patterns with components, data flows, and implementation guidance
|
|
687
|
+
|
|
688
|
+
**Architecture Scopes:**
|
|
689
|
+
1. **minimal**: Quick-start architecture for pilot projects
|
|
690
|
+
- Single Log Analytics workspace
|
|
691
|
+
- Azure Function for scheduled evidence collection
|
|
692
|
+
- Blob storage with basic retention
|
|
693
|
+
- Event Grid for notifications
|
|
694
|
+
- Estimated ~$100-200/month
|
|
695
|
+
|
|
696
|
+
2. **single-ksi**: Production architecture for one KSI
|
|
697
|
+
- Dedicated evidence collection infrastructure
|
|
698
|
+
- Azure Functions with monitoring
|
|
699
|
+
- Managed identities for security
|
|
700
|
+
- Sentinel integration
|
|
701
|
+
- Estimated ~$300-500/month
|
|
702
|
+
|
|
703
|
+
3. **category**: Enterprise architecture for one KSI category (IAM, MLA, etc.)
|
|
704
|
+
- Category-specific evidence collectors
|
|
705
|
+
- Centralized evidence storage
|
|
706
|
+
- Automated reporting dashboards
|
|
707
|
+
- Integration with Azure Policy
|
|
708
|
+
- Estimated ~$1,000-2,000/month
|
|
709
|
+
|
|
710
|
+
4. **all**: Complete enterprise architecture for all 72 KSIs
|
|
711
|
+
- Multi-region evidence collection
|
|
712
|
+
- High-availability design
|
|
713
|
+
- Automated compliance reporting
|
|
714
|
+
- Integration with GRC tools
|
|
715
|
+
- Estimated ~$5,000-10,000/month
|
|
716
|
+
|
|
717
|
+
**Example Usage:**
|
|
718
|
+
```
|
|
719
|
+
> get_evidence_automation_architecture with scope="all"
|
|
720
|
+
```
|
|
721
|
+
|
|
722
|
+
**Output Includes:**
|
|
723
|
+
- Component diagram and descriptions
|
|
724
|
+
- Data flow architecture
|
|
725
|
+
- Security and identity patterns
|
|
726
|
+
- Monitoring and alerting strategy
|
|
727
|
+
- Evidence storage and retention
|
|
728
|
+
- Disaster recovery considerations
|
|
729
|
+
- Integration patterns with Azure services
|
|
730
|
+
- Scaling recommendations
|
|
731
|
+
- Implementation steps
|
|
732
|
+
|
|
733
|
+
## Available Prompts
|
|
734
|
+
|
|
735
|
+
The server provides **9 prompts** for FedRAMP compliance workflows:
|
|
736
|
+
> generate_implementation_questions with requirement_id="FRR-CCM-01"
|
|
737
|
+
### Major Comprehensive Prompts
|
|
738
|
+
**control_implementation** - Detailed guidance for implementing specific NIST 800-53 controls
|
|
739
|
+
|
|
740
|
+
**risk_assessment** - Framework for conducting FedRAMP-aligned risk assessments
|
|
741
|
+
|
|
742
|
+
**continuous_monitoring** - Guide for establishing continuous monitoring programs
|
|
743
|
+
|
|
744
|
+
**boundary_definition** - Help define authorization boundaries and interconnections
|
|
745
|
+
|
|
746
|
+
### Major Comprehensive Prompts
|
|
747
|
+
|
|
748
|
+
**initial_assessment_roadmap** - Complete 6-phase roadmap for FedRAMP 20x authorization with checklists, deliverables, and critical success factors (engineering teams determine timelines)
|
|
749
|
+
|
|
750
|
+
**quarterly_review_checklist** - Comprehensive checklist for FedRAMP 20x quarterly reviews (FRR-CCM-QR) covering all 72 KSIs, vulnerability review, and change review
|
|
751
|
+
|
|
752
|
+
**api_design_guide** - Complete guide for Authorization Data Sharing API (FRR-ADS) with endpoints, authentication, OSCAL formats, and examples
|
|
753
|
+
|
|
754
|
+
**ksi_implementation_priorities** - Prioritized guide for implementing all 72 Key Security Indicators across 8 priority phases with dependency mapping (engineering teams determine rollout timelines)
|
|
755
|
+
|
|
756
|
+
**vendor_evaluation** - Comprehensive vendor assessment framework with category-specific questions, scorecard template, and evaluation criteria
|
|
757
|
+
|
|
758
|
+
**documentation_generator** - OSCAL SSP templates, procedure templates (VDR, ICP, SCN), and KSI implementation documentation templates
|
|
759
|
+
|
|
760
|
+
**migration_from_rev5** - Detailed migration plan from FedRAMP Rev 5 to 20x with 7-phase approach, gap analysis, and requirement mapping (teams determine timelines and budgets)
|
|
761
|
+
|
|
762
|
+
**audit_preparation** - Comprehensive guide for FedRAMP 20x assessment preparation with evidence gathering, common findings, and interview prep (teams determine preparation timeline)
|
|
763
|
+
|
|
764
|
+
**azure_ksi_automation** - **Complete guide for implementing all 72 KSIs using Microsoft, Azure, and M365 capabilities** including PowerShell scripts, Azure CLI commands, Microsoft Graph API integration, KQL queries, Azure Functions/Logic Apps, evidence collection framework, and integration with Defender suite, Entra ID, Key Vault, and Sentinel
|
|
765
|
+
|
|
766
|
+
## Data Source
|
|
767
|
+
|
|
768
|
+
Data is fetched from the official FedRAMP repository:
|
|
769
|
+
https://github.com/FedRAMP/docs/tree/main/data
|
|
770
|
+
|
|
771
|
+
## Development
|
|
772
|
+
|
|
773
|
+
### Running Tests
|
|
774
|
+
|
|
775
|
+
The project includes comprehensive test coverage across all functionality:
|
|
776
|
+
|
|
777
|
+
```bash
|
|
778
|
+
# Run all tests
|
|
779
|
+
pytest
|
|
780
|
+
|
|
781
|
+
# Run with coverage report
|
|
782
|
+
pytest --cov=src --cov-report=html
|
|
783
|
+
|
|
784
|
+
# Run specific test suites
|
|
785
|
+
python tests/test_loader.py # Data loading (329 requirements)
|
|
786
|
+
python tests/test_definitions.py # Definitions & KSIs (50 + 72)
|
|
787
|
+
python tests/test_docs_integration.py # Documentation (15 files)
|
|
788
|
+
python tests/test_implementation_questions.py # Strategic questions
|
|
789
|
+
python tests/test_tool_registration.py # Architecture validation (24 tools)
|
|
790
|
+
python tests/test_evidence_automation.py # IaC generation (Bicep/Terraform/Code)
|
|
791
|
+
python tests/test_all_tools.py # All tools comprehensive test
|
|
792
|
+
```
|
|
793
|
+
|
|
794
|
+
**Test Coverage:**
|
|
795
|
+
- ✅ **Data Loading:** 329 requirements from 12 documents
|
|
796
|
+
- ✅ **Definitions:** 50 FedRAMP terms
|
|
797
|
+
- ✅ **KSIs:** 72 Key Security Indicators
|
|
798
|
+
- ✅ **Documentation:** 15 official FedRAMP markdown files
|
|
799
|
+
- ✅ **Tool Registration:** All 24 tools across 7 modules
|
|
800
|
+
- ✅ **IaC Generation:** Bicep & Terraform templates for IAM, MLA, AFR families
|
|
801
|
+
- ✅ **Code Generation:** Python, C#, PowerShell evidence collection code
|
|
802
|
+
- ✅ **Template Variations:** Family-specific customization validated
|
|
803
|
+
|
|
804
|
+
### Project Structure
|
|
805
|
+
|
|
806
|
+
```
|
|
807
|
+
FedRAMP20xMCP/
|
|
808
|
+
├── src/
|
|
809
|
+
│ └── fedramp_20x_mcp/ # Main package
|
|
810
|
+
│ ├── __init__.py # Package initialization
|
|
811
|
+
│ ├── __main__.py # Entry point for python -m
|
|
812
|
+
│ ├── server.py # MCP server entry point (270 lines, 15 prompts)
|
|
813
|
+
│ ├── data_loader.py # FedRAMP data fetching and caching
|
|
814
|
+
│ ├── templates/ # Infrastructure & code templates
|
|
815
|
+
│ │ ├── __init__.py # Template loader functions
|
|
816
|
+
│ │ ├── bicep/ # Bicep IaC templates (7 files)
|
|
817
|
+
│ │ ├── terraform/ # Terraform IaC templates (6 files)
|
|
818
|
+
│ │ └── code/ # Code generation templates (7 files)
|
|
819
|
+
│ ├── prompts/ # Prompt templates (15 files)
|
|
820
|
+
│ │ └── __init__.py # Prompt loader function
|
|
821
|
+
│ ├── tools/ # Tool modules (24 tools across 7 modules)
|
|
822
|
+
│ │ ├── __init__.py # Tool registration system
|
|
823
|
+
│ │ ├── requirements.py # Core requirements tools (3)
|
|
824
|
+
│ │ ├── definitions.py # Definition lookup tools (3)
|
|
825
|
+
│ │ ├── ksi.py # KSI tools (2)
|
|
826
|
+
│ │ ├── documentation.py # Documentation tools (3)
|
|
827
|
+
│ │ ├── export.py # Export tools (3)
|
|
828
|
+
│ │ ├── enhancements.py # Enhancement tools (7)
|
|
829
|
+
│ │ └── evidence.py # Evidence automation tools (3)
|
|
830
|
+
│ └── __fedramp_cache__/ # Runtime cache for FedRAMP data
|
|
831
|
+
├── tests/ # Test suite
|
|
832
|
+
│ ├── __init__.py
|
|
833
|
+
│ ├── test_loader.py # Data loader tests (329 requirements)
|
|
834
|
+
│ ├── test_definitions.py # Definition tool tests (50 definitions, 72 KSIs)
|
|
835
|
+
│ ├── test_docs_integration.py # Documentation integration tests (15 files)
|
|
836
|
+
│ ├── test_implementation_questions.py # Implementation questions tests
|
|
837
|
+
│ ├── test_tool_registration.py # Tool architecture validation (24 tools, 7 modules)
|
|
838
|
+
│ ├── test_evidence_automation.py # IaC generation tests (Bicep/Terraform/Python/C#/PowerShell)
|
|
839
|
+
│ └── test_all_tools.py # Comprehensive tool tests (all 24 tools)
|
|
840
|
+
├── .github/
|
|
841
|
+
│ ├── workflows/ # CI/CD workflows
|
|
842
|
+
│ │ ├── test.yml # Test workflow (multi-platform)
|
|
843
|
+
│ │ ├── publish.yml # PyPI & MCP Registry publishing
|
|
844
|
+
│ │ └── release.yml # GitHub release workflow
|
|
845
|
+
│ └── copilot-instructions.md # GitHub Copilot context
|
|
846
|
+
├── .vscode/
|
|
847
|
+
│ ├── mcp.json # VS Code MCP configuration
|
|
848
|
+
│ └── settings.json.example
|
|
849
|
+
├── pyproject.toml # Project metadata and dependencies
|
|
850
|
+
├── server.json # MCP Registry metadata
|
|
851
|
+
├── uv.lock # UV dependency lock file
|
|
852
|
+
├── LICENSE # MIT License
|
|
853
|
+
├── README.md # This file
|
|
854
|
+
├── CONTRIBUTING.md # Contribution guidelines
|
|
855
|
+
└── .gitignore # Git exclusions (includes MCP tokens)
|
|
856
|
+
```
|
|
857
|
+
|
|
858
|
+
**Architecture Highlights:**
|
|
859
|
+
- **Modular Design:** Tools organized into 7 logical modules by functionality
|
|
860
|
+
- **Template System:** Reusable Bicep/Terraform templates for IaC generation
|
|
861
|
+
- **Prompt Templates:** External prompt files for easy updates without code changes
|
|
862
|
+
- **Clean Separation:** 97.2% reduction in main server.py (9,810 → 270 lines)
|
|
863
|
+
- **Registration Pattern:** Tools use `*_impl` functions with centralized registration
|
|
864
|
+
|
|
865
|
+
## License
|
|
866
|
+
|
|
867
|
+
MIT License - see [LICENSE](LICENSE) file for details.
|
|
868
|
+
|
|
869
|
+
This project is open source and contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
870
|
+
|
|
871
|
+
The FedRAMP data is provided by the U.S. General Services Administration as public domain content.
|
|
872
|
+
|
|
873
|
+
## References
|
|
874
|
+
|
|
875
|
+
- [Model Context Protocol Documentation](https://modelcontextprotocol.io/)
|
|
876
|
+
- [FedRAMP Official Website](https://www.fedramp.gov/)
|
|
877
|
+
- [FedRAMP Data Repository](https://github.com/FedRAMP/docs)
|