
Fedramp Docs Mcp
io.github.ethanolivertroy由 GitHub 帳號 ethanolivertroy 發布v0.2.2更新於 Oct 24, 2026
Query FedRAMP 20x KSIs, NIST controls, and compliance docs via 20 MCP tools.
概覽
一個本機 MCP 伺服器,為 FedRAMP 文件建立索引,讓助理查詢 KSI、NIST 控制項對應、定義與合規指引。
- 可以做什麼
- 列出並讀取已索引的 FRMR 文件及其版本,查看各文件類型的摘要,並檢查索引健康狀態。依 ID、影響等級或主題瀏覽關鍵安全指標(KSI),並取得合規證據範例建議。將要求對應到 NIST 控制項,列出某個控制項對應的要求,並分析各控制族在 FedRAMP 中的涵蓋情況。對 FedRAMP Markdown 文件做全文檢索與閱讀,檢索定義,並依 ID 取得任一要求。比較不同版本的 FRMR 資料集,在 Markdown 中定位控制項引用,並取得整理好的重大變更指引。依關鍵字或類別探索伺服器自身的工具,並強制重新整理快取的文件。
- 適用情境
- 適合處理 FedRAMP 20x 合規工作、希望助理依據官方文件而非記憶來回答 KSI、控制項對應、定義或重大變更指引問題的情境。適用於合規分析師、稽核人員與準備授權證據的工程師。
- 執行需求
- 以 npm 套件形式透過 stdio 在本機執行,需要 Node.js 18 或以上版本以及 npm 8 或以上版本。不需帳號或 API 金鑰。啟動時會將 FedRAMP 文件儲存庫複製到快取目錄,除非以 FEDRAMP_DOCS_PATH 指向既有的檢出副本,因此首次複製與更新需要網路存取。可透過 FEDRAMP_DOCS_PATH、FEDRAMP_DOCS_AUTO_UPDATE 與 FEDRAMP_DOCS_UPDATE_CHECK_HOURS 調整行為。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Fedramp Docs Mcp,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
FedRAMP Docs MCP Server
⚠️ This project is sunsetting
This MCP server is no longer under active development. The FedRAMP search and FRMR parsing capabilities are being folded into GRC Clanker and myctrl.tools, where they live inside an actual GRC workflow instead of as a standalone subprocess.
The npm package and this repository remain available for existing users, but no new features will land here. For the reasoning and post-mortem, see the project writeup.
— Ethan (2026-04-15)
Disclaimer: This is an unofficial, community project and is not affiliated with, endorsed by, or associated with FedRAMP or the U.S. federal government. The author is not officially affiliated with FedRAMP. The FedRAMP name and any related marks are property of their respective owners.
Custom Model Context Protocol (MCP) server that makes the FedRAMP/docs repository queryable with FRMR-aware tooling. The server scans FRMR JSON datasets and supporting markdown guidance, exposes structured tools for analysis, and can optionally clone and cache the upstream repository for you.
Demo
See the FedRAMP Docs MCP Server in action with Claude Desktop:
https://github.com/user-attachments/assets/653c3956-0bfb-46c4-9e72-8a6d75e3a80d
Documentation
Additional resources:
- Local Development - Build from source
- Docker Setup - Container deployment
- Security Hardening - Production configurations
- Contributing - How to contribute
Prerequisites
- Node.js 18 or higher
- npm 8 or higher
Features
- Auto-detects all 12 FRMR JSON document types and builds typed metadata.
- Extracts KSI entries, flattened control mappings, and Significant Change references.
- Fast markdown search via an inverted index backed by Lunr with snippets and line numbers.
- Indexes 62+ markdown files from
tools/site/content/(Zensical static site content). - Structured diffing between FRMR versions, including per-item change detection.
- Health check, version listing, and curated Significant Change guidance aggregator.
- Claude Plugin with slash commands, agent skills, and compliance analyst agent.
- Docker support with security hardening following 2025 best practices.
Supported Document Types
Getting Started
Local Development
- Install dependencies:
- Build the project:
- Run the server:
Global Installation
To install globally and use the fedramp-docs-mcp command:
Note: Global installation is required if you want to use fedramp-docs-mcp as the command in MCP client configurations (Claude Desktop, Goose, etc.). Alternatively, you can use the full path to the built server: node /path/to/fedramp-docs-mcp/dist/index.js
CLI Commands
The package includes helpful CLI commands:
During startup the server ensures a FedRAMP/docs repository is available, indexes FRMR JSON and markdown content, then begins serving requests on MCP stdio.
Configuration
Environment variables control repository discovery and indexing behaviour:
Set FEDRAMP_DOCS_PATH if you maintain a local clone. Otherwise leave it unset and allow the server to create a shallow cached copy.
Keeping Data Up-to-Date
The server includes automatic update checking to keep the FedRAMP docs current:
Automatic Updates (Default Behavior):
- Every 24 hours (configurable), the server checks if the cached repository needs updating
- If updates are available, they're fetched automatically on server startup
- This ensures you always have recent FedRAMP data without manual intervention
Manual Updates:
- Use the
update_repositorytool to force an immediate update - Example query in Claude Desktop: "Update the FedRAMP docs repository"
- Useful when you know new requirements or guidance has been published
Disabling Auto-Update:
Custom Update Frequency (check every 6 hours):
Available Tools
The server provides 21 tools organized into categories. All tools follow the error model and respond with JSON payloads.
Document Discovery
KSI (Key Security Indicators)
Control Mapping
Search & Lookup
Analysis
System
Evidence Collection Suggestions
The get_evidence_examples tool provides community-suggested evidence examples for each KSI. These are automation-friendly suggestions showing how to programmatically collect compliance evidence via APIs, CLI commands, and security tools.
Important: These are NOT official FedRAMP guidance. Always verify requirements with official FedRAMP documentation.
What's Included
For each of the 72 KSI indicators, we provide:
- Evidence types: API calls, reports, scans, logs, configurations, documentation
- Automation sources: AWS, Azure, GCP, Okta, Splunk, Terraform, GitHub Actions, etc.
- Example commands: Ready-to-use CLI commands and API endpoints
Example Evidence Sources by Theme
Usage Example
See src/tools/ for the precise schemas implemented with Zod. Each tool returns either a successful object or an error payload containing code, message, and optional hint.
Usage Examples
When using the MCP server with Claude Desktop or other MCP clients, here are some example queries:
Getting KSI Information:
Searching Documentation:
Working with Controls:
Analyzing Changes:
Advanced Queries: Dashboard & Architecture Insights
These prompts combine FedRAMP data with Claude's analytical capabilities to help you design compliance dashboards and features:
Dashboard Architecture:
Visualization Design:
Feature Planning:
Data Modeling:
Executive Reporting:
Tool Search & Deferred Loading
With 21 tools, this MCP server is a great candidate for deferred tool loading (also known as tool search). Instead of loading all tools upfront, clients can load a small set of essential tools and discover the rest on demand via the search_tools tool.
The search_tools Tool
The search_tools tool lets clients discover available tools by keyword or category:
Recommended Non-Deferred Tools
When using deferred loading, keep these 5 tools always loaded:
Claude API Configuration with Deferred Loading
When using the Claude API with mcp_toolset, you can configure deferred loading:
The Claude API will use tool annotations (readOnlyHint, destructiveHint, etc.) to make informed decisions about tool selection. All 21 tools include annotations.
MCP Client Configuration
The FedRAMP Docs MCP server works with any MCP-compatible client. Below are setup instructions for the most popular and reliable clients.
Recommended clients:
- Claude Desktop - Most mature MCP integration, excellent tool discovery
- Claude Code CLI - Official Anthropic CLI tool, great for terminal workflows
- Cursor - AI-powered IDE with native MCP support
- VS Code + GitHub Copilot - Native MCP support, no extensions required
- Windsurf - AI-powered IDE with native MCP support
- Codex (OpenAI) - Open-source coding agent with MCP support
- Gemini CLI - Google's command-line AI agent with MCP support
- LM Studio - Native MCP support, works with local models for privacy
- OpenCode - Terminal-based coding agent with MCP support
- Goose - Experimental support, may have tool discovery issues
Claude Desktop
Add the server to your Claude Desktop configuration file:
Location: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Option 1: Using npx (Recommended - no install required)
Option 2: Global installation
After updating the config, restart Claude Desktop. The FedRAMP Docs tools will appear in your conversations.
Claude Code CLI
Claude Code is Anthropic's official CLI tool with built-in MCP support.
Method 1: Using CLI (Recommended)
Method 2: Configuration File
Claude Code supports three configuration scopes:
- Project-scoped (recommended for teams):
.mcp.jsonin project root - User-scoped:
~/.claude/settings.local.json - Project-local:
.claude/settings.local.jsonin project root
Example .mcp.json (project-scoped, can be version-controlled):
With environment variable expansion:
Testing:
- Restart Claude Code after configuration changes
- Use
/mcpcommand for interactive management - Use
--mcp-debugflag for troubleshooting:claude --mcp-debug - Verify with:
claude mcp list
Note: Project-scoped configurations in .mcp.json enable team collaboration by ensuring all team members have access to the same MCP tools.
LM Studio
LM Studio (v0.3.17+) has native MCP support and works great with local models for privacy-focused workflows.
Setup Instructions
- Open LM Studio and click the Program tab (terminal icon >_) in the right sidebar
- Click "Edit mcp.json" under the Install section
- Add the FedRAMP Docs configuration:
Config file location:
- macOS/Linux:
~/.lmstudio/mcp.json - Windows:
%USERPROFILE%\.lmstudio\mcp.json
Basic configuration:
Using full path (recommended if command not found):
- Save the file - LM Studio will automatically load the server
- Start chatting - Open a chat with any local model
- Test it - Ask: "List all FedRAMP FRMR documents"
- Approve tool calls - LM Studio will show a confirmation dialog before executing each tool
Note: Requires global installation (npm install -g .) or use the full path to the executable. Find your path with: which fedramp-docs-mcp
OpenCode
OpenCode is a powerful AI coding agent built for the terminal with native MCP support.
Setup Instructions
- Create or edit your OpenCode configuration file:
Config file location:
- Global:
~/.config/opencode/opencode.json - Project:
opencode.json(in your project root)
- Add the FedRAMP Docs MCP server:
Basic configuration:
With full path:
With environment variables:
- Restart OpenCode to load the MCP server
- Test it - The FedRAMP tools will be automatically available alongside built-in tools
Note: MCP servers add to your context, so enable only the ones you need. Use "enabled": false to temporarily disable a server without removing it.
Goose
Goose is Block's open-source AI agent. You can add the FedRAMP Docs MCP server using any of these methods:
Method 1: Via Goose CLI (Recommended)
Then select:
Add ExtensionCommand-line Extension- Enter the following details:
- Name:
FedRAMP Docs - Command:
fedramp-docs-mcp - Timeout:
300
- Name:
Method 2: Via Goose Desktop App
- Open Goose Desktop
- Click Extensions in the sidebar
- Click Add custom extension
- Fill in the form:
- Extension Name:
FedRAMP Docs - Type:
STDIO - Command:
fedramp-docs-mcp - Timeout:
300 - Environment Variables: (optional)
FEDRAMP_DOCS_PATH:/path/to/FedRAMP/docsFEDRAMP_DOCS_AUTO_UPDATE:true
- Extension Name:
Method 3: Via Config File
Edit ~/.config/goose/config.yaml (Linux/macOS) or %USERPROFILE%\.config\goose\config.yaml (Windows):
After configuration, restart Goose or reload extensions. You can test by asking: "What FedRAMP tools are available?"
Note: Goose's MCP support is still maturing and may have issues discovering tools from stdio servers. If you experience problems with tool discovery, consider using Claude Desktop, Claude Code CLI, LM Studio, or OpenCode instead.
Kiro
Kiro is AWS's spec-driven IDE with native MCP support.
Setup Instructions
-
Open Kiro MCP settings:
- Global:
~/.kiro/settings/mcp.json - Project:
.kiro/settings/mcp.json(takes precedence)
- Global:
-
Add the FedRAMP Docs configuration:
With global installation:
- Save the file - Kiro automatically loads MCP servers on config change
- Test it - Ask Kiro: "List all FedRAMP FRMR documents"
Note: Requires global installation (npm install -g fedramp-docs-mcp) or use npx. Find your path with: which fedramp-docs-mcp
Cursor
Cursor supports MCP servers via project or global configuration.
Config file location: .cursor/mcp.json (project) or ~/.cursor/mcp.json (global)
Restart Cursor after saving. You can also configure via Cursor Settings > MCP.
VS Code + GitHub Copilot
VS Code has native MCP support through GitHub Copilot (no extensions required).
Config file location: .vscode/mcp.json (workspace-scoped)
Note: VS Code uses servers (not mcpServers) and requires "type": "stdio".
After saving, Copilot will detect the new server automatically. Manage MCP servers from the Command Palette (Ctrl+Shift+P > "MCP: List Servers").
Windsurf
Windsurf is an AI-powered IDE with native MCP support.
Config file location: ~/.codeium/windsurf/mcp_config.json
Restart Windsurf after saving.
Codex (OpenAI)
Codex is OpenAI's open-source coding agent with MCP support via TOML configuration.
Config file location: ~/.codex/config.toml (global) or .codex/config.toml (project)
You can also manage MCP servers via codex mcp.
Gemini CLI
Gemini CLI is Google's command-line AI agent with MCP support.
Config file location: ~/.gemini/settings.json (global) or .gemini/settings.json (project)
Restart Gemini CLI after saving.
MCP Inspector (Debugging)
The MCP Inspector is an official tool for testing and debugging MCP servers. It provides a visual UI to interactively call tools and explore resources.
Requirements: Node.js 22.7.5 or later
Interactive UI:
Open http://localhost:6274 to access the UI, then test tools like:
health_check- Verify the server is workinglist_frmr_documents- See all indexed FedRAMP documentslist_ksi- Browse Key Security Indicators
CLI Mode (Quick Testing):
Export Configuration: The Inspector UI includes buttons to copy server configurations for Claude Desktop, Cursor, and other MCP clients.
Claude Plugin
The repository includes a Claude Code plugin that provides slash commands, agent skills, and a specialized compliance analyst agent.
Quick Install
In Claude Code, run:
That's it! The plugin is ready to use.
Alternative: Manual Installation
Or add an alias to your shell profile:
Available Commands
Agent Skills
- frmr-analysis - Automatically invoked when analyzing FRMR documents or control mappings
- control-mapping - Automatically invoked when mapping NIST controls to FedRAMP requirements
See plugin/README.md for full documentation.
Docker
Run the MCP server in a security-hardened Docker container.
Quick Start
Docker Compose
Claude Desktop with Docker
Configure Claude Desktop to use the Docker container:
Security Features
The Docker setup follows 2025 MCP security best practices:
- Non-root user: Runs as
mcpuser(UID 1001) - Read-only filesystem: Prevents unauthorized modifications
- Dropped capabilities:
--cap-drop ALLremoves all Linux capabilities - No new privileges: Prevents privilege escalation
- Resource limits: Memory and CPU constraints
- Network isolation: Internal network with no external access by default
Development
Running in Development Mode
Use tsx for rapid iteration without building:
This runs the TypeScript source directly, automatically recompiling on changes.
Running Tests
The repository includes Vitest-based unit and contract tests with small fixtures:
Tests set FEDRAMP_DOCS_PATH to tests/fixtures/repo, ensuring the indexer, search, and diff logic run deterministically without needing the real FedRAMP repo.
Integration tests validate the indexer against the real upstream FedRAMP/docs clone:
These tests clone and index the actual upstream repository, verifying that the parser handles current upstream data correctly. Set FEDRAMP_DOCS_PATH to skip the clone and use an existing checkout. When using your own checkout, also set FEDRAMP_DOCS_AUTO_UPDATE=false to prevent the test from modifying it.
Code Structure
The codebase uses:
- TypeScript 5.4+ with strict mode enabled
- ES Modules (
"type": "module"in package.json) - Node.js module resolution (
moduleResolution: "NodeNext") - Zod for runtime schema validation
- MCP SDK v1.24+ for server implementation
Project Structure
Fixtures live under tests/fixtures, while Vitest specs reside in tests/.
Version History
Tracks FedRAMP FRMR v0.9.2-beta documents. See CHANGELOG.md for full details.
Troubleshooting
Build Errors
Error: Cannot find module '@modelcontextprotocol/sdk'
Ensure you have the correct SDK version installed:
Error: Module not found or import errors
The project uses ES modules with NodeNext resolution. Make sure you're using Node.js 18+ and that your TypeScript configuration matches:
Runtime Errors
Error: REPO_CLONE_FAILED
The server couldn't clone the FedRAMP docs repository. Check:
- Network connectivity
- Set
FEDRAMP_DOCS_PATHto an existing local clone, or - Ensure
FEDRAMP_DOCS_ALLOW_AUTO_CLONE=true(default)
Server starts but no tools appear
Verify the build completed successfully:
Development Issues
TypeScript errors about missing types
Install all development dependencies:
Required type packages:
@types/node@types/fs-extra@types/lunr@types/glob
來源:README.md,提交 bb0ff93
工具
0版本歷史
1- v0.2.2最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分