mcpField
F
fedramp-docs-mcp

fedramp-docs-mcp

ローカル
github.com/ethanolivertroy法務・行政1728 週間前に更新

fedramp-docs-mcp について

fedramp-docs-mcpは、FedRAMPのFRMRデータセットと文書を検索するMCPサーバーです。コンプライアンス分析に使えますが、現在は積極的に開発されていません。

主な機能

  1. 01FRMR文書とバージョンの確認
  2. 02KSI指標と定義の検索
  3. 03要件と管理策の対応付け
  4. 04FRMRデータセットのバージョン比較
  5. 05Markdownガイダンスの検索と閲覧

活用シーン

  1. 01特定のKSIに関する要件の確認
  2. 02管理策に対応するFedRAMP要件の確認
  3. 03FRMRバージョン間の変更比較

MCP 対応

FRMR JSONデータセットの探索・分析と、関連するMarkdown文書の検索に使えるツールをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"ethanolivertroy-fedramp-docs": {
"command": "npx",
"args": [
"-y",
"fedramp-docs-mcp"
],
"env": {
"FEDRAMP_DOCS_PATH": "<FEDRAMP_DOCS_PATH>",
"FEDRAMP_DOCS_AUTO_UPDATE": "<FEDRAMP_DOCS_AUTO_UPDATE>",
"FEDRAMP_DOCS_UPDATE_CHECK_HOURS": "<FEDRAMP_DOCS_UPDATE_CHECK_HOURS>"
}
}
}
}
起動コマンドnpx -y fedramp-docs-mcp
設定が必要な環境変数
FEDRAMP_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmfedramp-docs-mcp0.2.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

FedRAMP Docs MCP Server

⚠️ このプロジェクトは終了予定です

この MCP サーバーは現在、積極的な開発を行っていません。FedRAMP の検索機能と FRMR の解析機能は、スタンドアロンのサブプロセスではなく、実際の GRC ワークフローに統合される GRC Clanker と myctrl.tools に統合されます。

npm パッケージとこのリポジトリは既存のユーザー向けに引き続き利用できますが、ここに新機能が追加されることはありません。背景にある理由と振り返りについては、プロジェクトの解説をご覧ください。

— Ethan(2026-04-15)


MCP Security Scan

免責事項: これは非公式のコミュニティプロジェクトであり、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 ツールとパラメーター
トラブルシューティングよくある問題と解決策

その他のリソース:

前提条件

  • 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 年のベストプラクティスに従ったセキュリティ強化を行っています。
対応ドキュメントタイプ
タイプ正式名称
KSIKey Security Indicators
MASMinimum Assessment Scope
VDRVulnerability Detection and Response
SCNSignificant Change Notifications
FRDFedRAMP Definitions
ADSAuthorization Data Sharing
CCMCollaborative Continuous Monitoring
FSIFedRAMP Security Inbox
ICPIncident Communications Procedures
PVAPersistent Validation and Assessment
SCGSecure Configuration Guide
UCMUsing Cryptographic Modules

はじめに

ローカル開発
  1. 依存関係をインストールします:
npm install
  1. プロジェクトをビルドします:
npm run build
  1. サーバーを起動します:
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 でリクエストの受け付けを開始します。

設定

環境変数で、リポジトリの検出とインデックス化の動作を制御します:

VariableDefaultDescription
FEDRAMP_DOCS_PATH~/.cache/fedramp-docs既存の FedRAMP/docs チェックアウトへのパスです。
FEDRAMP_DOCS_REMOTEhttps://github.com/FedRAMP/docsクローン時に使用するリモートです。
FEDRAMP_DOCS_BRANCHmainクローン時にチェックアウトするブランチです。
FEDRAMP_DOCS_ALLOW_AUTO_CLONEtrueパスが存在しない場合に自動でクローンします。
FEDRAMP_DOCS_AUTO_UPDATEtrueリポジトリの更新を自動で確認し、取得します。
FEDRAMP_DOCS_UPDATE_CHECK_HOURS24自動更新チェックの間隔(時間)です(自動更新が有効な場合)。
FEDRAMP_DOCS_INDEX_PERSISTtrueメモリ内のインデックスを ~/.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 ペイロードを返します。

ドキュメントの検出
ToolDescription
list_frmr_documentsインデックス化された FRMR JSON ドキュメントを列挙します
get_frmr_documentドキュメントの完全な JSON と概要を返します
list_versionsFRMR ドキュメントの種類ごとにバージョンのメタデータをまとめます
KSI(主要セキュリティ指標)
ToolDescription
list_ksi主要セキュリティ指標を絞り込み、確認します
get_ksiID を指定して特定の KSI 項目を取得します
filter_by_impact影響度(low/moderate/high)で KSI 項目を絞り込みます
get_theme_summaryKSI テーマ(IAM、CNA など)の包括的なガイダンスを取得します
get_evidence_examplesKSI 準拠のための自動化に適した証拠の提案を取得します(コミュニティからの提案であり、FedRAMP の公式情報ではありません)
コントロールのマッピング
ToolDescription
list_controlsFRMR からコントロールへのマッピングをフラット化します
get_control_requirements特定のコントロールにマッピングされたすべての要件を取得します
analyze_control_coverageFedRAMP 要件があるコントロールファミリーを報告します
検索と照会
ToolDescription
search_markdownドキュメント全体を全文検索します
read_markdown指定された Markdown ファイルの内容を読み取ります
search_definitions用語を指定して FedRAMP の定義(FRD)を検索します
get_requirement_by_idID(KSI-, FRR-, FRD-*)を指定して FRMR 要件を取得します
分析
ツール説明
diff_frmr2 つの FRMR データセットの構造化差分
grep_controls_in_markdownMarkdown 内のコントロール参照を検索
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 エンドポイント
テーマ別の証拠ソースの例
テーマソースの例
IAMOkta/Entra MFA ポリシー、AWS IAM 認証情報レポート、PAM ツール(CyberArk、Vault)
CNAAWS Security Groups、VPC Flow Logs、コンテナースキャン(Trivy)、CSPM(Wiz、Prisma)
MLASIEM 設定(Splunk、Sentinel)、CloudTrail、IaC スキャン(Checkov、tfsec)
CMTGit 履歴、CI/CD パイプライン(GitHub Actions)、変更チケット(ServiceNow、Jira)
SVCTLS スキャン(SSL Labs)、Secrets Manager のローテーション、パッチコンプライアンス(SSM)
INRPagerDuty インシデント、事後分析(Blameless)、ServiceNow チケット
RPLAWS 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_documentsFRMR データの探索を始めるためのツール
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 つの設定スコープをサポートしています。

  1. プロジェクトスコープ(チームに推奨):プロジェクトのルートにある .mcp.json
  2. ユーザースコープ:~/.claude/settings.local.json
  3. プロジェクトローカル:プロジェクトのルートにある .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 をネイティブサポートしており、プライバシーを重視したワークフローでローカルモデルを活用できます。

設定手順
  1. LM Studio を開き、右側のサイドバーにある Program タブ(ターミナルアイコン >_)をクリックします
  2. Install セクションの 「Edit mcp.json」 をクリックします
  3. 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"
      }
    }
  }
}
  1. ファイルを保存します - LM Studio がサーバーを自動的に読み込みます
  2. チャットを開始します - 任意のローカルモデルでチャットを開きます
  3. 動作を確認します - 「すべての FedRAMP FRMR ドキュメントを一覧表示して」と尋ねます
  4. ツール呼び出しを承認します - LM Studio は各ツールを実行する前に確認ダイアログを表示します

注: グローバルインストール(npm install -g .)が必要です。または、実行ファイルへのフルパスを使用してください。which fedramp-docs-mcp でパスを確認できます。

OpenCode

OpenCode は、MCP をネイティブサポートする、ターミナル向けに構築された高機能な AI コーディングエージェントです。

セットアップ手順
  1. OpenCode の設定ファイルを作成または編集します:

設定ファイルの場所:

  • グローバル:~/.config/opencode/opencode.json
  • プロジェクト:opencode.json(プロジェクトのルートディレクトリ)
  1. 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"
      }
    }
  }
}
  1. MCP サーバーを読み込むため、OpenCode を再起動します
  2. 動作を確認します — FedRAMP ツールは組み込みツールとともに自動的に利用可能になります

注: MCP サーバーはコンテキストを追加するため、必要なものだけを有効にしてください。サーバーを削除せずに一時的に無効にするには、"enabled": false を使用します。

Goose

Goose は、Block のオープンソース AI エージェントです。以下のいずれかの方法で FedRAMP Docs MCP サーバーを追加できます。

方法 1:Goose CLI 経由(推奨)
goose configure

次に、以下を選択します:

  1. Add Extension
  2. Command-line Extension
  3. 次の詳細を入力します:
    • 名前: FedRAMP Docs
    • コマンド: fedramp-docs-mcp
    • タイムアウト: 300
方法 2:Goose デスクトップアプリ経由
  1. Goose Desktop を開きます
  2. サイドバーの Extensions をクリックします
  3. Add custom extension をクリックします
  4. フォームに入力します:
    • 拡張機能名: 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 の使用を検討してください。

Kiro

Kiro は、MCP をネイティブサポートする、仕様駆動型の AWS 製 IDE です。

セットアップ手順
  1. Kiro の MCP 設定を開きます:

    • グローバル:~/.kiro/settings/mcp.json
    • プロジェクト:.kiro/settings/mcp.json(こちらが優先されます)
  2. 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"
      }
    }
  }
}
  1. ファイルを保存します — Kiro は設定変更時に MCP サーバーを自動的に読み込みます
  2. 動作を確認します — 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-coverageNIST 管理策の適用範囲を分析します
/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-documentsFRMR ドキュメントをすべて一覧表示します
/fedramp-docs:compare <doc1> <doc2>ドキュメントのバージョンを比較します
/fedramp-docs:healthMCP サーバーのステータスを確認します
エージェントスキル
  • 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.52026-02-15Codex、Cursor、Windsurf、VS Code + Copilot、Gemini CLI 向け MCP クライアントの手順
v0.2.42026-02-15アップストリームとの自動同期ワークフロー、統合テストスイート
v0.2.32026-02-15Cisco の MCP Scanner を使用した MCP Security Scan CI
v0.2.12025-12-30Okta/Duo MFA のエビデンスソース、強化された health_check
v0.2.02025-12-287 つの新しいツール、Claude Code プラグイン、Docker サポート、12 種類の FRMR
v0.1.02025-10-1013 個のコア 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。