fedramp-docs-mcp について
fedramp-docs-mcpは、FedRAMPのFRMRデータセットと文書を検索するMCPサーバーです。コンプライアンス分析に使えますが、現在は積極的に開発されていません。
主な機能
- 01FRMR文書とバージョンの確認
- 02KSI指標と定義の検索
- 03要件と管理策の対応付け
- 04FRMRデータセットのバージョン比較
- 05Markdownガイダンスの検索と閲覧
活用シーン
- 01特定のKSIに関する要件の確認
- 02管理策に対応するFedRAMP要件の確認
- 03FRMRバージョン間の変更比較
MCP 対応
FRMR JSONデータセットの探索・分析と、関連するMarkdown文書の検索に使えるツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y fedramp-docs-mcpFEDRAMP_DOCS_PATHPath to an existing FedRAMP/docs checkout (default: ~/.cache/fedramp-docs)FEDRAMP_DOCS_AUTO_UPDATEAutomatically check for and fetch repository updates (default: true)FEDRAMP_DOCS_UPDATE_CHECK_HOURSHours between automatic update checks (default: 24)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
FedRAMP Docs MCP Server
⚠️ このプロジェクトは終了予定です
この MCP サーバーは現在、積極的な開発を行っていません。FedRAMP の検索機能と FRMR の解析機能は、スタンドアロンのサブプロセスではなく、実際の GRC ワークフローに統合される GRC Clanker と myctrl.tools に統合されます。
npm パッケージとこのリポジトリは既存のユーザー向けに引き続き利用できますが、ここに新機能が追加されることはありません。背景にある理由と振り返りについては、プロジェクトの解説をご覧ください。
— Ethan(2026-04-15)
免責事項: これは非公式のコミュニティプロジェクトであり、FedRAMP や米国連邦政府との提携、推奨、関係はありません。作者は FedRAMP と公式な関係にありません。FedRAMP の名称および関連する標章は、それぞれの所有者に帰属します。
FedRAMP/docs リポジトリを FRMR 対応ツールで検索可能にする、カスタムの Model Context Protocol(MCP)サーバーです。このサーバーは FRMR JSON データセットと関連する Markdown ガイダンスをスキャンし、分析用の構造化ツールを提供します。また、必要に応じて上流リポジトリをクローンしてキャッシュできます。
デモ
Claude Desktop で FedRAMP Docs MCP Server を使用している様子をご覧ください。
https://github.com/user-attachments/assets/653c3956-0bfb-46c4-9e72-8a6d75e3a80d
ドキュメント
| リソース | 説明 |
|---|---|
| クイックスタートガイド | 5 分以内に利用を開始できます |
| 完全なドキュメント | ガイドとリファレンスの完全版 |
| MCP クライアントのセットアップ | Claude Desktop、Cursor、VS Code を設定します |
| ツールリファレンス | 21 個すべての MCP ツールとパラメーター |
| トラブルシューティング | よくある問題と解決策 |
その他のリソース:
- ローカル開発 - ソースからビルドします
- Docker のセットアップ - コンテナーをデプロイします
- セキュリティ強化 - 本番環境の設定
- 貢献 - 貢献方法
前提条件
- Node.js 18 以上
- npm 8 以上
機能
- 12 種類すべての FRMR JSON ドキュメントタイプを自動検出し、型付きメタデータを構築します。
- KSI エントリー、フラット化されたコントロールマッピング、および Significant Change の参照を抽出します。
- Lunr を基盤とする転置インデックスにより、スニペットと行番号を含む高速な Markdown 検索を実現します。
tools/site/content/(Zensical 静的サイトのコンテンツ)にある 62 以上の Markdown ファイルをインデックス化します。- 項目ごとの変更検出を含む、FRMR バージョン間の構造化差分を提供します。
- ヘルスチェック、バージョン一覧、および厳選された Significant Change ガイダンスの集約機能を備えています。
- Claude Plugin にスラッシュコマンド、エージェントスキル、コンプライアンスアナリストエージェントが含まれます。
- Docker に対応し、2025 年のベストプラクティスに従ったセキュリティ強化を行っています。
対応ドキュメントタイプ
| タイプ | 正式名称 |
|---|---|
| KSI | Key Security Indicators |
| MAS | Minimum Assessment Scope |
| VDR | Vulnerability Detection and Response |
| SCN | Significant Change Notifications |
| FRD | FedRAMP Definitions |
| ADS | Authorization Data Sharing |
| CCM | Collaborative Continuous Monitoring |
| FSI | FedRAMP Security Inbox |
| ICP | Incident Communications Procedures |
| PVA | Persistent Validation and Assessment |
| SCG | Secure Configuration Guide |
| UCM | Using Cryptographic Modules |
はじめに
ローカル開発
- 依存関係をインストールします:
npm install
- プロジェクトをビルドします:
npm run build
- サーバーを起動します:
node dist/index.js
グローバルインストール
グローバルにインストールして、fedramp-docs-mcp コマンドを使用するには:
npm install -g .
fedramp-docs-mcp
注: MCP クライアントの設定(Claude Desktop、Goose など)でコマンドとして fedramp-docs-mcp を使用する場合は、グローバルインストールが必要です。または、ビルド済みサーバーのフルパスを使用できます: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 でリクエストの受け付けを開始します。
設定
環境変数で、リポジトリの検出とインデックス化の動作を制御します:
| Variable | Default | Description |
|---|---|---|
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 docs リポジトリを更新してください」
- 新しい要件やガイダンスが公開されたと把握している場合に便利です
自動更新を無効にする:
{
"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 ペイロードを返します。
ドキュメントの検出
| Tool | Description |
|---|---|
list_frmr_documents | インデックス化された FRMR JSON ドキュメントを列挙します |
get_frmr_document | ドキュメントの完全な JSON と概要を返します |
list_versions | FRMR ドキュメントの種類ごとにバージョンのメタデータをまとめます |
KSI(主要セキュリティ指標)
| Tool | Description |
|---|---|
list_ksi | 主要セキュリティ指標を絞り込み、確認します |
get_ksi | ID を指定して特定の KSI 項目を取得します |
filter_by_impact | 影響度(low/moderate/high)で KSI 項目を絞り込みます |
get_theme_summary | KSI テーマ(IAM、CNA など)の包括的なガイダンスを取得します |
get_evidence_examples | KSI 準拠のための自動化に適した証拠の提案を取得します(コミュニティからの提案であり、FedRAMP の公式情報ではありません) |
コントロールのマッピング
| Tool | Description |
|---|---|
list_controls | FRMR からコントロールへのマッピングをフラット化します |
get_control_requirements | 特定のコントロールにマッピングされたすべての要件を取得します |
analyze_control_coverage | FedRAMP 要件があるコントロールファミリーを報告します |
検索と照会
| Tool | Description |
|---|---|
search_markdown | ドキュメント全体を全文検索します |
read_markdown | 指定された Markdown ファイルの内容を読み取ります |
search_definitions | 用語を指定して FedRAMP の定義(FRD)を検索します |
get_requirement_by_id | ID(KSI-, FRR-, FRD-*)を指定して FRMR 要件を取得します |
分析
| ツール | 説明 |
|---|---|
diff_frmr | 2 つの 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 エンドポイント
テーマ別の証拠ソースの例
| テーマ | ソースの例 |
|---|---|
| IAM | Okta/Entra MFA ポリシー、AWS IAM 認証情報レポート、PAM ツール(CyberArk、Vault) |
| CNA | AWS Security Groups、VPC Flow Logs、コンテナースキャン(Trivy)、CSPM(Wiz、Prisma) |
| MLA | SIEM 設定(Splunk、Sentinel)、CloudTrail、IaC スキャン(Checkov、tfsec) |
| CMT | Git 履歴、CI/CD パイプライン(GitHub Actions)、変更チケット(ServiceNow、Jira) |
| SVC | TLS スキャン(SSL Labs)、Secrets Manager のローテーション、パッチコンプライアンス(SSM) |
| INR | PagerDuty インシデント、事後分析(Blameless)、ServiceNow チケット |
| RPL | AWS Backup レポート、DR テストログ、カオスエンジニアリングの結果 |
| TPR | ベンダー評価(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
Zod で実装された正確なスキーマについては、src/tools/を参照してください。各ツールは、成功時のオブジェクト、またはcode、message、および任意のhintを含むerrorペイロードのいずれかを返します。
使用例
Claude Desktop やその他の MCP クライアントで 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."
ツール検索と遅延読み込み
21 個のツールを備えるこの MCP サーバーは、ツールの遅延読み込み(ツール検索とも呼ばれます)に最適です。すべてのツールを最初に読み込むのではなく、クライアントは少数の必須ツールを読み込み、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 の設定
mcp_toolset で Claude API を使用する場合、遅延読み込みを設定できます。
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": "..."}],
)
Claude API はツールの選択について適切な判断を行うために、ツールのアノテーション(readOnlyHint、destructiveHint など)を使用します。21 個のツールすべてにアノテーションが含まれています。
MCP クライアントの設定
FedRAMP Docs MCP サーバーは、MCP 互換のクライアントであればどれでも使用できます。以下では、最も人気があり信頼性の高いクライアントの設定方法を紹介します。
おすすめのクライアント:
- Claude Desktop - 最も成熟した MCP 統合機能を備え、ツールの検出に優れています
- Claude Code CLI - Anthropic 公式の CLI ツールで、ターミナルでのワークフローに最適です
- Cursor - MCP をネイティブサポートする AI 搭載 IDE です
- VS Code + GitHub Copilot - MCP をネイティブサポートし、拡張機能は不要です
- Windsurf - MCP をネイティブサポートする AI 搭載 IDE です
- Codex (OpenAI) - MCP をサポートするオープンソースのコーディングエージェントです
- Gemini CLI - MCP をサポートする Google のコマンドライン AI エージェントです
- LM Studio - MCP をネイティブサポートし、プライバシーを重視したローカルモデルで使用できます
- OpenCode - MCP をサポートするターミナルベースのコーディングエージェントです
- Goose - 実験的なサポートのため、ツールの検出に問題が発生する場合があります
Claude Desktop
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 Docs のツールが会話に表示されます。
Claude Code CLI
Claude Code は、MCP サポートを内蔵した Anthropic 公式の CLI ツールです。
方法 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 は、次の 3 つの設定スコープをサポートしています。
- プロジェクトスコープ(チームに推奨):プロジェクトのルートにある
.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 Code を再起動します
- インタラクティブな管理には
/mcpコマンドを使用します - トラブルシューティングには
--mcp-debugフラグを使用します:claude --mcp-debug - 次のコマンドで確認します:
claude mcp list
注: .mcp.json のプロジェクトスコープ設定を使うと、チームメンバー全員が同じ MCP ツールにアクセスできるようになり、チームでの共同作業が可能になります。
LM Studio
LM Studio(v0.3.17 以降)は MCP をネイティブサポートしており、プライバシーを重視したワークフローでローカルモデルを活用できます。
設定手順
- LM Studio を開き、右側のサイドバーにある Program タブ(ターミナルアイコン >_)をクリックします
- Install セクションの 「Edit mcp.json」 をクリックします
- FedRAMP Docs の設定を追加します:
設定ファイルの場所:
- macOS/Linux:
~/.lmstudio/mcp.json - Windows:
%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 は、MCP をネイティブサポートする、ターミナル向けに構築された高機能な AI コーディングエージェントです。
セットアップ手順
- OpenCode の設定ファイルを作成または編集します:
設定ファイルの場所:
- グローバル:
~/.config/opencode/opencode.json - プロジェクト:
opencode.json(プロジェクトのルートディレクトリ)
- FedRAMP Docs 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"
}
}
}
}
- MCP サーバーを読み込むため、OpenCode を再起動します
- 動作を確認します — FedRAMP ツールは組み込みツールとともに自動的に利用可能になります
注: MCP サーバーはコンテキストを追加するため、必要なものだけを有効にしてください。サーバーを削除せずに一時的に無効にするには、"enabled": false を使用します。
Goose
Goose は、Block のオープンソース AI エージェントです。以下のいずれかの方法で FedRAMP Docs MCP サーバーを追加できます。
方法 1:Goose CLI 経由(推奨)
goose configure
次に、以下を選択します:
Add ExtensionCommand-line Extension- 次の詳細を入力します:
- 名前:
FedRAMP Docs - コマンド:
fedramp-docs-mcp - タイムアウト:
300
- 名前:
方法 2:Goose デスクトップアプリ経由
- Goose Desktop を開きます
- サイドバーの Extensions をクリックします
- Add custom extension をクリックします
- フォームに入力します:
- 拡張機能名:
FedRAMP Docs - タイプ:
STDIO - コマンド:
fedramp-docs-mcp - タイムアウト:
300 - 環境変数:(任意)
FEDRAMP_DOCS_PATH:/path/to/FedRAMP/docsFEDRAMP_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 の使用を検討してください。
Kiro
Kiro は、MCP をネイティブサポートする、仕様駆動型の AWS 製 IDE です。
セットアップ手順
-
Kiro の MCP 設定を開きます:
- グローバル:
~/.kiro/settings/mcp.json - プロジェクト:
.kiro/settings/mcp.json(こちらが優先されます)
- グローバル:
-
FedRAMP Docs の設定を追加します:
{
"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 でパスを確認してください。
Cursor
Cursor は、プロジェクト単位またはグローバル設定で MCP サーバーをサポートします。
設定ファイルの場所: .cursor/mcp.json(プロジェクト)または ~/.cursor/mcp.json(グローバル)
{
"mcpServers": {
"fedramp-docs": {
"command": "npx",
"args": ["-y", "fedramp-docs-mcp"],
"env": {
"FEDRAMP_DOCS_AUTO_UPDATE": "true"
}
}
}
}
保存後、Cursor を再起動します。Cursor Settings > MCP から設定することもできます。
VS Code + GitHub Copilot
VS Code は、GitHub Copilot を通じて MCP をネイティブサポートします(拡張機能は不要です)。
設定ファイルの場所: .vscode/mcp.json(ワークスペース単位)
注: VS Code では mcpServers ではなく servers を使用し、"type": "stdio" が必要です。
{
"servers": {
"fedramp-docs": {
"type": "stdio",
"command": "npx",
"args": ["-y", "fedramp-docs-mcp"]
}
}
}
保存後、Copilot は新しいサーバーを自動的に検出します。コマンドパレット(Ctrl+Shift+P > "MCP: List Servers")から MCP サーバーを管理できます。
Windsurf
Windsurf は、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 を再起動します。
Codex (OpenAI)
Codex は、TOML 設定を通じて MCP をサポートする OpenAI のオープンソースコーディングエージェントです。
設定ファイルの場所: ~/.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"
codex mcp から MCP サーバーを管理することもできます。
Gemini CLI
Gemini CLI は、MCP をサポートする Google のコマンドライン AI エージェントです。
設定ファイルの場所: ~/.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 Inspector(デバッグ)
MCP Inspector は、MCP サーバーのテストとデバッグに使用する公式ツールです。ツールの呼び出しやリソースの探索を、ビジュアル UI で対話的に行えます。
要件: Node.js 22.7.5 以降
対話型 UI:
# 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- Key Security Indicators を確認します
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 Plugin
このリポジトリには、スラッシュコマンド、エージェントスキル、コンプライアンス分析に特化したエージェントを提供する Claude Code プラグインが含まれています。
クイックインストール
Claude Code で次を実行します。
/plugin marketplace add hackIDLE/fedramp-docs-mcp
/plugin install fedramp-docs
これで完了です。プラグインを使用できます。
別の方法:手動インストール
# One-command setup
npx fedramp-docs-mcp setup
# Then start Claude Code with the plugin
claude --plugin-dir ~/.fedramp-docs-mcp/plugin
または、シェルのプロファイルにエイリアスを追加します。
alias claude-fedramp='claude --plugin-dir ~/.fedramp-docs-mcp/plugin'
利用可能なコマンド
| コマンド | 説明 |
|---|---|
/fedramp-docs:search <query> | FedRAMP のドキュメントを検索します |
/fedramp-docs:search-definitions <term> | FedRAMP の定義を検索します |
/fedramp-docs:list-controls [family] | NIST 管理策を一覧表示します |
/fedramp-docs:control-requirements <control> | NIST 管理策の要件を取得します |
/fedramp-docs:control-coverage | NIST 管理策の適用範囲を分析します |
/fedramp-docs:list-ksi [filter] | Key Security Indicators を一覧表示します |
/fedramp-docs:filter-impact <level> | 影響レベルで KSI を絞り込みます |
/fedramp-docs:theme-summary <theme> | テーマに関するガイダンスを取得します |
/fedramp-docs:evidence-checklist [theme] | エビデンスのチェックリストを取得します |
/fedramp-docs:get-requirement <id> | ID で要件を取得します |
/fedramp-docs:list-documents | FRMR ドキュメントをすべて一覧表示します |
/fedramp-docs:compare <doc1> <doc2> | ドキュメントのバージョンを比較します |
/fedramp-docs:health | MCP サーバーのステータスを確認します |
エージェントスキル
- frmr-analysis - FRMR ドキュメントまたは管理策のマッピングを分析すると自動的に呼び出されます
- control-mapping - NIST 管理策を FedRAMP 要件にマッピングすると自動的に呼び出されます
詳しくは、plugin/README.md をご覧ください。
Docker
セキュリティを強化した 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-mcp
Docker Compose
# Start with docker-compose (security hardening included)
docker compose up -d
Docker を使用した Claude Desktop
Docker コンテナを使用するよう Claude Desktop を設定します。
{
"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+(strict モードを有効化)
- ES Modules(package.json で
"type": "module"を指定) - Node.js のモジュール解決(
moduleResolution: "NodeNext") - ランタイムのスキーマ検証に Zod
- サーバー実装に 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 のドキュメントを追跡しています。詳細については CHANGELOG.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 | Cisco の MCP Scanner を使用した MCP Security Scan CI |
| 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 docs リポジトリをクローンできませんでした。次の項目を確認してください。
- ネットワーク接続
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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。