FedRAMP文档MCP服务器
## ⚠️ 这个项目正在进行中 npm包和这个存储库仍然可供现有用户使用,但不会有新功能出现在这里。有关推理和验尸,请参阅 项目综述. --伊森(2026-04-15)
______________________________________________________________________

免责声明: 这是一个非官方的社区项目,不隶属于FedRAMP或美国联邦政府,也不受其认可或与之相关。作者与FedRAMP没有正式联系。FedRAMP名称和任何相关标记均为其各自所有者的财产。
自定义模型上下文协议(MCP)服务器,使FedRAMP/docs存储库可以使用FRMR感知工具进行查询。服务器扫描FRMR JSON数据集并支持标记指导,公开结构化工具进行分析,并可以选择为您克隆和缓存上游存储库。
演示
请参阅FedRAMP Docs MCP服务器与Claude Desktop的操作:
https://github.com/user-attachments/assets/653c3956-0bfb-46c4-9e72-8a6d75e3a80d
文档
额外资源:
先决条件
- Node.js 18或更高版本
- npm 8或更高版本
特性
- 自动检测所有12种FRMR JSON文档类型并构建类型化元数据。
- 提取KSI条目、扁平化控件映射和重大变更引用。
- 通过Lunr支持的倒排索引,使用代码段和行号进行快速降价搜索。
- 索引62多个markdown文件
tools/site/content/(Zensical静态网站内容)。 - FRMR版本之间的结构化差异,包括每个项目的变化检测。
- 健康检查、版本列表和策划的重大变化指导聚合器。
- 克劳德插件 具有斜线命令、代理技能和合规性分析代理。
- Docker支持 随着2025年最佳实践之后的安全强化。
支持的文档类型
| 类型 | 全名 |
|---|---|
| KSI | 关键安全指标 |
| MAS | 最低评估范围 |
| VDR | 漏洞检测和响应 |
| SCN | 重大变更通知 |
| FRD | FedRAMP定义 |
| ADS | 授权数据共享 |
| CCM | 协同持续监控 |
| FSI | FedRAMP安全收件箱 |
| ICP | 事故沟通程序 |
| PVA | 持续验证和评估 |
| SCG | 安全配置指南 |
| UCM | 使用加密模块 |
入门指南
本地开发
- 安装依赖项:
npm install- 构建项目:
npm run build- 运行服务器:
node dist/index.js全球安装
要全局安装并使用 fedramp-docs-mcp 命令:
npm install -g .
fedramp-docs-mcp注: 如果要使用,则需要全局安装 fedramp-docs-mcp 作为MCP客户端配置(Claude Desktop、Goose等)中的命令。或者,您可以使用构建服务器的完整路径: node /path/to/fedramp-docs-mcp/dist/index.js
CLI命令
该软件包包括有用的CLI命令:
# Show help and usage information
npx fedramp-docs-mcp help
# Install Claude Code plugin
npx fedramp-docs-mcp setup
# Print MCP server configuration for Claude Desktop/Code
npx fedramp-docs-mcp mcp-config
# Start MCP server (used by MCP clients)
npx fedramp-docs-mcp在启动期间,服务器确保FedRAMP/docs存储库可用,对FRMR JSON和markdown内容进行索引,然后开始在MCP stdio上处理请求。
配置
环境变量控制存储库发现和索引行为:
| 变量 | 默认值 | 描述 |
|---|---|---|
FEDRAMP_DOCS_PATH | ~/.cache/fedramp-docs | 现有FedRAMP/docs签出的路径。 |
FEDRAMP_DOCS_REMOTE | https://github.com/FedRAMP/docs | 克隆时使用远程。 |
FEDRAMP_DOCS_BRANCH | main | 克隆时分支到签出。 |
FEDRAMP_DOCS_ALLOW_AUTO_CLONE | true | 路径丢失时自动克隆。 |
FEDRAMP_DOCS_AUTO_UPDATE | true | 自动检查并获取存储库更新。 |
FEDRAMP_DOCS_UPDATE_CHECK_HOURS | 24 | 自动更新检查之间的时间间隔(启用自动更新时)。 |
FEDRAMP_DOCS_INDEX_PERSIST | true | 将内存中的索引持久化 ~/.cache/fedramp-docs/index-v1.json. |
集 FEDRAMP_DOCS_PATH 如果您维护本地克隆。否则,将其保留为未设置状态,并允许服务器创建浅缓存副本。
保持数据最新
服务器包括自动更新检查,以保持FedRAMP文档的最新状态:
自动更新(默认行为):
- 每24小时(可配置),服务器检查缓存的存储库是否需要更新
- 如果更新可用,则会在服务器启动时自动获取更新
- 这确保您始终拥有最新的FedRAMP数据,无需手动干预
手动更新:
- 使用
update_repository强制立即更新的工具 - Claude Desktop中的示例查询:“更新FedRAMP文档存储库”
- 当你知道新的要求或指导已经发布时,这很有用
禁用自动更新:
{
"mcpServers": {
"fedramp-docs": {
"command": "fedramp-docs-mcp",
"env": {
"FEDRAMP_DOCS_AUTO_UPDATE": "false"
}
}
}
}自定义更新频率(每6小时检查一次):
{
"mcpServers": {
"fedramp-docs": {
"command": "fedramp-docs-mcp",
"env": {
"FEDRAMP_DOCS_UPDATE_CHECK_HOURS": "6"
}
}
}
}可用工具
该服务器提供21种按类别组织的工具。所有工具都遵循错误模型,并使用JSON有效载荷进行响应。
文档发现
| 工具 | 说明 |
|---|---|
list_frmr_documents | 枚举索引的FRMR JSON文档 |
get_frmr_document | 返回文档的完整JSON和摘要 |
list_versions | 按FRMR文档类型整理版本元数据 |
KSI(关键安全指标)
| 工具 | 说明 |
|---|---|
list_ksi | 过滤并检查关键安全指标 |
get_ksi | 按ID获取特定的KSI项目 |
filter_by_impact | 按影响程度(低/中/高)筛选KSI项目 |
get_theme_summary | 获得KSI主题的全面指导(IAM、CNA等) |
get_evidence_examples | 获取KSI合规性的自动化友好证据建议(社区建议,而非官方FedRAMP) |
控制映射
| 工具 | 说明 |
|---|---|
list_controls | 扁平FRMR→ 控制映射 |
get_control_requirements | 将所有需求映射到特定控件 |
analyze_control_coverage | 报告哪些控制家族有FedRAMP要求 |
搜索和查找
| 工具 | 说明 |
|---|---|
search_markdown | 文档全文搜索 |
read_markdown | 读取特定的markdown文件内容 |
search_definitions | 按术语搜索FedRAMP定义(FRD) |
get_requirement_by_id | 通过ID(KSI)获取任何FRMR要求-*FRR-*,FRD-\*) |
分析
| 工具 | 说明 |
|---|---|
diff_frmr | 两个FRMR数据集的结构化差异 |
grep_controls_in_markdown | 在markdown中查找控件引用 |
get_significant_change_guidance | 精心策划的重大变革参考 |
系统
| 工具 | 说明 |
|---|---|
search_tools | 按关键字或类别搜索和发现可用工具 |
health_check | 确认服务器索引成功 |
update_repository | 强制更新缓存的FedRAMP文档 |
证据收集建议
这 get_evidence_examples 工具提供 社区建议 每个KSI的证据示例。这些是自动化友好的建议,展示了如何通过API、CLI命令和安全工具以编程方式收集合规性证据。
重要提示: 这些不是FedRAMP的官方指导。始终通过以下方式验证要求 FedRAMP官方文件.
包含什么
对于72个KSI指标中的每一个,我们提供:
- 证据类型:API调用、报告、扫描、日志、配置、文档
- 自动化源:AWS、Azure、GCP、Okta、Splunk、Terraform、GitHub Actions等。
- 示例命令:随时可用的CLI命令和API端点
按主题分类的证据来源示例
| 主题 | 示例源 |
|---|---|
| 身份和访问管理 | Okta/Entra MFA政策、AWS IAM证书报告、PAM工具(CyberArk、Vault) |
| 中国新闻社 | AWS安全组、VPC流日志、容器扫描(Trivy)、CSPM(Wiz、Prisma) |
| 现代语言协会 | SIEM配置(Splunk、Sentinel)、CloudTrail、IaC扫描(Checkov、tfsec) |
| 主磁带电路 | Git历史、CI/CD管道(GitHub操作)、更改票证(ServiceNow、Jira) |
| 支持向量分类 | TLS扫描(SSL实验室)、密钥管理器轮换、补丁合规性(SSM) |
| 印度卢比 | PagerDuty事件、验尸(无过错)、ServiceNow门票 |
| RPL | AWS备份报告、灾难恢复测试日志、Chaos工程结果 |
| 总外周阻力 | 供应商评级(SecurityScorecard)、依赖性扫描(Dependabot、Snyk) |
使用示例
"What evidence do I need for KSI-IAM-01 (Phishing-Resistant MFA)?"
→ Returns suggested API calls, CLI commands, and artifacts to collect
"Get evidence checklist for the CNA theme"
→ Returns automation sources for all Cloud Native Architecture indicators看 src/tools/ 对于用Zod实现的精确模式。每个工具返回一个成功的对象或 error 有效载荷包含 code, message,可选 hint.
使用示例
当将MCP服务器与Claude Desktop或其他MCP客户端一起使用时,以下是一些示例查询:
获取KSI信息:
"List all available FedRAMP documents"
→ Uses list_frmr_documents
"Show me all KSI items for moderate impact systems"
→ Uses filter_by_impact with impact='moderate'
"Give me a summary of the IAM theme requirements"
→ Uses get_theme_summary with theme='IAM'
"What evidence do I need for IAM compliance?"
→ Uses get_evidence_examples with theme='IAM'搜索文档:
"Search for information about continuous monitoring"
→ Uses search_markdown with query 'continuous monitoring'
"What does 'federal customer data' mean in FedRAMP?"
→ Uses search_definitions with term='federal customer data'
"Get the details for requirement KSI-IAM-01"
→ Uses get_requirement_by_id with id='KSI-IAM-01'使用控件:
"What FedRAMP requirements map to control AY-01?"
→ Uses get_control_requirements with control='AY-01'
"Which control families have the most FedRAMP coverage?"
→ Uses analyze_control_coverage
"Find all markdown files that reference AC-2"
→ Uses grep_controls_in_markdown with control='AC-2'分析更改:
"What's new in the latest KSI release?"
→ Uses list_versions then diff_frmr to compare versions
"Show significant change guidance"
→ Uses get_significant_change_guidance高级查询:仪表板和架构洞察
这些提示将FedRAMP数据与Claude的分析能力相结合,帮助您设计合规仪表板和功能:
仪表板架构:
"Using the FedRAMP KSI data, design a compliance dashboard architecture.
What components would I need? How should I structure the data for real-time monitoring?"
"Get all KSI themes and their indicators. Then recommend how to organize
them into a dashboard with drill-down navigation."可视化设计:
"Analyze the FedRAMP control coverage data. What would be the best
chart types to visualize control family coverage? Suggest a color
scheme for compliance status."
"List the KSIs filtered by impact level. Design a risk heat map
visualization showing low/moderate/high impact requirements."功能规划:
"Get the evidence checklist from FedRAMP. How would you build a
feature that tracks evidence collection progress with percentage
completion per KSI theme?"
"What are the requirements for AC-2 (Account Management)? Design a
feature that helps users track their implementation status against
these requirements."数据建模:
"Analyze the structure of KSI indicators and their control mappings.
What database schema would you recommend for a compliance tracking app?"
"Get a theme summary for IAM. How would you model the relationship
between KSIs, NIST controls, and evidence in a graph database?"执行报告:
"Using the control coverage analysis, design an executive summary
dashboard that shows compliance posture at a glance."
"Analyze all high-impact KSI requirements and create a prioritized
remediation roadmap template."工具搜索和延迟加载
这款MCP服务器有21个工具,非常适合 延迟工具加载 (也称为工具搜索)。客户可以加载一小部分基本工具,并通过 search_tools 工具。
这 search_tools 工具
这 search_tools 工具允许客户端按关键字或类别发现可用工具:
"What tools help with KSI compliance?"
→ search_tools(query="ksi compliance")
→ Returns: list_ksi, get_ksi, filter_by_impact, get_theme_summary, get_evidence_examples
"What analysis tools are available?"
→ search_tools(category="Analysis")
→ Returns: diff_frmr, grep_controls_in_markdown, get_significant_change_guidance推荐的非延迟工具
使用延迟加载时,请始终加载以下5个工具:
| 工具 | 为什么总是加载 |
|---|---|
search_tools | 发现其他工具所需 |
search_markdown | 文档查询的最常见入口点 |
list_frmr_documents | FRMR数据勘探的起点 |
health_check | 诊断和状态验证 |
get_requirement_by_id | 跨所有文档类型的通用ID查找 |
带延迟加载的Claude API配置
使用Claude API时 mcp_toolset,您可以配置延迟加载:
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
mcp_servers=[
{
"type": "stdio",
"command": "fedramp-docs-mcp",
"name": "fedramp-docs",
}
],
messages=[{"role": "user", "content": "..."}],
)API将使用工具注释(readOnlyHint, destructiveHint等等)以做出关于工具选择的明智决定。所有21个工具都包含注释。
MCP客户端配置
FedRAMP Docs MCP服务器可与任何兼容MCP的客户端配合使用。以下是最受欢迎和最可靠的客户端的设置说明。
推荐客户:
- 克劳德桌面版 -最成熟的MCP集成,出色的工具发现
- 克劳德代码CLI -官方Anthropic CLI工具,非常适合终端工作流程
- 光标 -支持原生MCP的AI驱动IDE
- VS代码+GitHub副本 -原生MCP支持,无需扩展
- 帆板运动 -支持原生MCP的AI驱动IDE
- 食品法典委员会(OpenAI) -支持MCP的开源编码代理
- Gemini CLI -支持MCP的Google命令行AI代理
- LM工作室 -原生MCP支持,与本地模型配合使用以保护隐私
- OpenCode -支持MCP的基于终端的编码代理
- 鹅 -实验支持,可能存在工具发现问题
克劳德桌面版
将服务器添加到Claude Desktop配置文件中:
地点: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows)
选项1:使用npx(推荐-无需安装)
{
"mcpServers": {
"fedramp-docs": {
"command": "npx",
"args": ["fedramp-docs-mcp"],
"env": {
"FEDRAMP_DOCS_AUTO_UPDATE": "true"
}
}
}
}选项2:全局安装
npm install -g fedramp-docs-mcp{
"mcpServers": {
"fedramp-docs": {
"command": "fedramp-docs-mcp",
"env": {
"FEDRAMP_DOCS_PATH": "/path/to/FedRAMP/docs"
}
}
}
}更新配置后,重新启动Claude Desktop。FedRAMP文档工具将出现在您的对话中。
克劳德代码CLI
克劳德代码 是Anthropic的官方CLI工具,内置MCP支持。
方法1:使用CLI(推荐)
# Add the FedRAMP Docs MCP server
claude mcp add --transport stdio fedramp-docs fedramp-docs-mcp
# With full path
claude mcp add --transport stdio fedramp-docs /path/to/node/bin/fedramp-docs-mcp
# List configured servers
claude mcp list
# Remove if needed
claude mcp remove fedramp-docs方法2:配置文件
Claude Code支持三种配置范围:
- 项目范围 (推荐给团队):
.mcp.json在项目根中 - 用户范围:
~/.claude/settings.local.json - 项目本地:
.claude/settings.local.json在项目根中
示例 .mcp.json (项目范围,可以进行版本控制):
{
"mcpServers": {
"fedramp-docs": {
"command": "fedramp-docs-mcp",
"args": [],
"env": {
"FEDRAMP_DOCS_AUTO_UPDATE": "true"
}
}
}
}随着环境变量的扩展:
{
"mcpServers": {
"fedramp-docs": {
"command": "fedramp-docs-mcp",
"args": [],
"env": {
"FEDRAMP_DOCS_PATH": "${HOME}/fedramp-docs",
"FEDRAMP_DOCS_AUTO_UPDATE": "true"
}
}
}
}测试:
- 配置更改后重新启动Claude代码
- 使用
/mcp交互式管理命令 - 使用
--mcp-debug故障排除标志:claude --mcp-debug - 通过以下方式进行验证:
claude mcp list
注: 中的项目范围配置 .mcp.json 通过确保所有团队成员都可以访问相同的MCP工具来实现团队协作。
LM工作室
LM工作室 (v0.3.17+)具有本机MCP支持,可与本地模型配合使用,用于以隐私为中心的工作流。
安装说明
- 打开LM工作室 然后单击 程序 右侧边栏中的选项卡(终端图标>\_)
- 点击“编辑mcp.json” 在安装部分下
- 添加FedRAMP文档配置:
配置文件位置:
- macOS/Linux:
~/.lmstudio/mcp.json - 窗户:
%USERPROFILE%\.lmstudio\mcp.json
基本配置:
{
"mcpServers": {
"fedramp-docs": {
"command": "fedramp-docs-mcp",
"args": [],
"env": {
"FEDRAMP_DOCS_AUTO_UPDATE": "true"
}
}
}
}使用完整路径(如果找不到命令,建议使用):
{
"mcpServers": {
"fedramp-docs": {
"command": "/path/to/node/bin/fedramp-docs-mcp",
"args": [],
"env": {
"FEDRAMP_DOCS_AUTO_UPDATE": "true",
"FEDRAMP_DOCS_PATH": "/path/to/FedRAMP/docs"
}
}
}
}- 保存文件 -LM Studio将自动加载服务器
- 开始聊天 -与任何本地模特聊天
- 测试它 -询问:“列出所有FedRAMP FRMR文件”
- 批准工具调用 -LM Studio将在执行每个工具之前显示一个确认对话框
注: 需要全局安装(npm install -g .)或者使用可执行文件的完整路径。通过以下方式找到你的路: which fedramp-docs-mcp
OpenCode
OpenCode 是一个为终端构建的强大的AI编码代理,具有原生MCP支持。
安装说明
- 创建或编辑您的OpenCode配置文件:
配置文件位置:
- 全球的:
~/.config/opencode/opencode.json - 项目:
opencode.json(在项目根目录中)
- 添加FedRAMP文档MCP服务器:
基本配置:
{
"mcp": {
"fedramp-docs": {
"type": "local",
"command": ["fedramp-docs-mcp"],
"enabled": true
}
}
}完整路径:
{
"mcp": {
"fedramp-docs": {
"type": "local",
"command": ["/path/to/node/bin/fedramp-docs-mcp"],
"enabled": true
}
}
}对于环境变量:
{
"mcp": {
"fedramp-docs": {
"type": "local",
"command": ["fedramp-docs-mcp"],
"enabled": true,
"env": {
"FEDRAMP_DOCS_AUTO_UPDATE": "true",
"FEDRAMP_DOCS_PATH": "/path/to/FedRAMP/docs"
}
}
}
}- 重新启动OpenCode 加载MCP服务器
- 测试它 -FedRAMP工具将与内置工具一起自动可用
注: MCP服务器会添加到您的上下文中,因此只启用您需要的服务器。使用 "enabled": false 临时禁用服务器而不将其删除。
鹅
鹅 是Block的开源人工智能代理。您可以使用以下任何方法添加FedRAMP Docs MCP服务器:
方法1:通过Goose CLI(推荐)
goose configure然后选择:
Add ExtensionCommand-line Extension- 输入以下详细信息:
- 姓名: FedRAMP Docs - 命令: fedramp-docs-mcp - 超时: 300
方法2:通过Goose桌面应用程序
- 打开Goose桌面
- 点击 扩展 在侧边栏中
- 点击 添加自定义扩展名
- 填写表格:
- 扩展名: FedRAMP Docs - 类型: STDIO - 命令: fedramp-docs-mcp - 超时: 300 - 环境变量: (可选) - FEDRAMP_DOCS_PATH: /path/to/FedRAMP/docs - FEDRAMP_DOCS_AUTO_UPDATE: true
方法3:通过配置文件
编辑 ~/.config/goose/config.yaml (Linux/macOS)或 %USERPROFILE%\.config\goose\config.yaml (Windows):
extensions:
fedramp-docs:
name: FedRAMP Docs
cmd: fedramp-docs-mcp
enabled: true
type: stdio
timeout: 300
envs:
FEDRAMP_DOCS_PATH: "/path/to/FedRAMP/docs" # optional
FEDRAMP_DOCS_AUTO_UPDATE: "true" # optional配置后,重新启动Goose或重新加载扩展。您可以通过以下问题进行测试:“有哪些FedRAMP工具可用?”
注: Goose的MCP支持仍在成熟,可能在从stdio服务器发现工具时遇到问题。如果您在工具发现方面遇到问题,请考虑使用Claude Desktop、Claude Code CLI、LM Studio或OpenCode。
基罗
基罗 是AWS的规范驱动IDE,支持原生MCP。
安装说明
- 打开Kiro MCP设置:
- 全球的: ~/.kiro/settings/mcp.json - 项目: .kiro/settings/mcp.json (优先)
- 添加FedRAMP文档配置:
{
"mcpServers": {
"fedramp-docs": {
"command": "npx",
"args": ["-y", "fedramp-docs-mcp"],
"env": {
"FEDRAMP_DOCS_AUTO_UPDATE": "true"
}
}
}
}全球安装:
{
"mcpServers": {
"fedramp-docs": {
"command": "fedramp-docs-mcp",
"args": [],
"env": {
"FEDRAMP_DOCS_AUTO_UPDATE": "true"
}
}
}
}- 保存文件 -Kiro在配置更改时自动加载MCP服务器
- 测试它 -问Kiro:“列出所有FedRAMP FRMR文件”
注: 需要全局安装(npm install -g fedramp-docs-mcp)或者使用npx。通过以下方式找到你的路: which fedramp-docs-mcp
光标
光标 通过项目或全局配置支持MCP服务器。
配置文件位置: .cursor/mcp.json (项目)或 ~/.cursor/mcp.json (全球)
{
"mcpServers": {
"fedramp-docs": {
"command": "npx",
"args": ["-y", "fedramp-docs-mcp"],
"env": {
"FEDRAMP_DOCS_AUTO_UPDATE": "true"
}
}
}
}保存后重新启动Cursor。您还可以通过以下方式进行配置 光标设置>MCP.
VS代码+GitHub副本
VS Code通过GitHub Copilot提供原生MCP支持(无需扩展)。
配置文件位置: .vscode/mcp.json (工作区范围)
注: VS代码使用 servers (不是 mcpServers)并要求 "type": "stdio".
{
"servers": {
"fedramp-docs": {
"type": "stdio",
"command": "npx",
"args": ["-y", "fedramp-docs-mcp"]
}
}
}保存后,Copilot将自动检测新服务器。从管理MCP服务器 命令面板 (Ctrl+Shift+P >“MCP:列出服务器”)。
帆板运动
帆板运动 是一个具有原生MCP支持的AI驱动IDE。
配置文件位置: ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"fedramp-docs": {
"command": "npx",
"args": ["-y", "fedramp-docs-mcp"],
"env": {
"FEDRAMP_DOCS_AUTO_UPDATE": "true"
}
}
}
}保存后重新启动Windsurf。
食品法典委员会(OpenAI)
法典 是OpenAI的开源编码代理,通过TOML配置支持MCP。
配置文件位置: ~/.codex/config.toml (全球)或 .codex/config.toml (项目)
[mcp_servers.fedramp-docs]
command = "npx"
args = ["-y", "fedramp-docs-mcp"]
[mcp_servers.fedramp-docs.env]
FEDRAMP_DOCS_AUTO_UPDATE = "true"您还可以通过以下方式管理MCP服务器 codex mcp.
Gemini CLI
Gemini CLI 是谷歌的命令行人工智能代理,支持MCP。
配置文件位置: ~/.gemini/settings.json (全球)或 .gemini/settings.json (项目)
{
"mcpServers": {
"fedramp-docs": {
"command": "npx",
"args": ["-y", "fedramp-docs-mcp"],
"env": {
"FEDRAMP_DOCS_AUTO_UPDATE": "true"
}
}
}
}保存后重新启动Gemini CLI。
MCP检查员(调试)
这 MCP检查员 是用于测试和调试MCP服务器的官方工具。它提供了一个可视化用户界面,用于交互式调用工具和探索资源。
要求: Node.js 22.7.5或更高版本
交互式用户界面:
# Start the inspector with fedramp-docs-mcp
npx @modelcontextprotocol/inspector node dist/index.js
# Or if installed globally
npx @modelcontextprotocol/inspector fedramp-docs-mcp打开 http://localhost:6274 要访问UI,请使用以下测试工具:
health_check-验证服务器是否正常工作list_frmr_documents-查看所有已索引的FedRAMP文档list_ksi-浏览关键安全指标
CLI模式(快速测试):
# List all available tools
npx @modelcontextprotocol/inspector --cli node dist/index.js --method tools/list
# Call a specific tool
npx @modelcontextprotocol/inspector --cli node dist/index.js \
--method tools/call --tool-name health_check导出配置: Inspector UI包括用于复制Claude Desktop、Cursor和其他MCP客户端的服务器配置的按钮。
克劳德插件
该存储库包括一个Claude Code插件,该插件提供斜线命令、代理技能和一个专门的合规性分析代理。
快速安装
在Claude Code中,运行:
/plugin marketplace add hackIDLE/fedramp-docs-mcp
/plugin install fedramp-docs就是这样!插件已准备好使用。
Alternative: Manual Installation
# One-command setup
npx fedramp-docs-mcp setup
# Then start Claude Code with the plugin
claude --plugin-dir ~/.fedramp-docs-mcp/plugin或者在shell配置文件中添加别名:
alias claude-fedramp='claude --plugin-dir ~/.fedramp-docs-mcp/plugin'可用命令
| 命令 | 描述 |
|---|---|
/fedramp-docs:search | 搜索FedRAMP文档 |
/fedramp-docs:search-definitions | 搜索FedRAMP定义 |
/fedramp-docs:list-controls [family] | 列出NIST控制措施 |
/fedramp-docs:control-requirements | 获取NIST控制要求 |
/fedramp-docs:control-coverage | 分析NIST控制覆盖范围 |
/fedramp-docs:list-ksi [filter] | 列出关键安全指标 |
/fedramp-docs:filter-impact | 按影响程度过滤KSI |
/fedramp-docs:theme-summary | 获取主题指导 |
/fedramp-docs:evidence-checklist [theme] | 获取证据清单 |
/fedramp-docs:get-requirement | 按ID获取需求 |
/fedramp-docs:list-documents | 列出所有FRMR文件 |
/fedramp-docs:compare | 比较文档版本 |
/fedramp-docs:health | 检查MCP服务器状态 |
代理技能
- frmr分析 -在分析FRMR文档或控制映射时自动调用
- 控制映射 -将NIST控件映射到FedRAMP要求时自动调用
看 插件/README.md 获取完整文档。
码头工人
在安全强化的Docker容器中运行MCP服务器。
快速开始
# Build the image
docker build -t fedramp-docs-mcp .
# Run interactively (for MCP stdio)
docker run --rm -i \
--security-opt no-new-privileges:true \
--cap-drop ALL \
--read-only \
--memory 512m \
-v fedramp-cache:/home/mcpuser/.cache/fedramp-docs \
fedramp-docs-mcpDocker Compose
# Start with docker-compose (security hardening included)
docker compose up -dClaude桌面与Docker
配置Claude Desktop以使用Docker容器:
{
"mcpServers": {
"fedramp-docs": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"--security-opt", "no-new-privileges:true",
"--cap-drop", "ALL",
"--read-only",
"--memory", "512m",
"-v", "fedramp-cache:/home/mcpuser/.cache/fedramp-docs",
"fedramp-docs-mcp:latest"
]
}
}
}安全特性
Docker设置遵循2025 MCP安全最佳实践:
- 非root用户:运行方式
mcpuser(UID 1001) - 只读文件系统:防止未经授权的修改
- 能力下降:
--cap-drop ALL删除所有Linux功能 - 没有新特权:防止特权升级
- 资源限制:内存和CPU限制
- 网络隔离:默认情况下,内部网络没有外部访问权限
发展
以开发模式运行
使用 tsx 无需构建即可快速迭代:
npm run dev这将直接运行TypeScript源代码,并在发生更改时自动重新编译。
运行测试
该存储库包括基于Vitest的小型夹具单元和合同测试:
npm test测试集 FEDRAMP_DOCS_PATH 到 tests/fixtures/repo,确保索引器、搜索和差异逻辑确定性地运行,而不需要真正的FedRAMP仓库。
集成测试根据真实的上游FedRAMP/docs克隆验证索引器:
npm run test:integration这些测试克隆并索引实际的上游存储库,验证解析器是否正确处理当前的上游数据。集 FEDRAMP_DOCS_PATH 跳过克隆并使用现有的签出。使用自己的结账时,也设置 FEDRAMP_DOCS_AUTO_UPDATE=false 以防止测试对其进行修改。
代码结构
代码库使用:
- TypeScript 5.4+ 启用严格模式
- ES模块 (
"type": "module"在package.json中) - Node.js模块解析 (
moduleResolution: "NodeNext") - 黄道带 用于运行时模式验证
- MCP SDK v1.24+ 用于服务器实现
项目结构
src/
index.ts # MCP bootstrap
repo.ts # repo discovery and cloning
indexer.ts # FRMR + markdown indexing logic
frmr.ts # FRMR-centric helpers
search.ts # markdown search + aggregations
diff.ts # structured FRMR diff engine
tools/ # individual MCP tool handlers固定装置在下面 tests/fixtures,而Vitest规范位于 tests/.
版本历史
跟踪FedRAMP FRMR v0.9.2 beta文档。看 更改日志.md 了解全部细节。
| 版本 | 日期 | 亮点 |
|---|---|---|
| v0.2.5 | 2026-02-15 | 用于Codex、Cursor、Windsurf、VS Code+Copilot、Gemini CLI的MCP客户端说明 |
| v0.2.4 | 2026-02-15 | 自动化上游同步工作流程,集成测试套件 |
| v0.2.3 | 2026-02-15 | MCP安全扫描CI与思科MCP扫描仪 |
| v0.2.1 | 2025-12-30 | Okta/Duo MFA证据来源,增强 health_check |
| v0.2.0 | 2025-12-28 | 7个新工具,Claude Code插件,Docker支持,12种FRMR类型 |
| v0.1.0 | 2025-10-10 | 13核MCP工具的初始版本 |
故障排除
构建错误
错误: Cannot find module '@modelcontextprotocol/sdk'
确保您安装了正确的SDK版本:
npm install @modelcontextprotocol/sdk@^1.20.0错误: Module not found 或导入错误
该项目使用具有NodeNext分辨率的ES模块。确保你使用的是Node.js 18+,并且你的TypeScript配置匹配:
{
"compilerOptions": {
"module": "NodeNext",
"moduleResolution": "NodeNext"
}
}运行期错误
错误: REPO_CLONE_FAILED
服务器无法克隆FedRAMP文档存储库。检查:
- 网络连接
- 集
FEDRAMP_DOCS_PATH到现有的本地克隆,或 - 确保
FEDRAMP_DOCS_ALLOW_AUTO_CLONE=true(默认)
服务器已启动,但未显示任何工具
验证构建是否成功完成:
npm run build
ls dist/ # Should contain index.js, tools/, etc.发展问题
关于缺失类型的TypeScript错误
安装所有开发依赖项:
npm install所需类型包:
@types/node@types/fs-extra@types/lunr@types/glob
