Skip to main content
Glama

これは何か

ensmcp は、ENS Navegable(RD 311/2022 附属書II)のセキュリティ対策を Claude Desktop、Claude Code、その他のMCPクライアントで利用できるようにする MCP(Model Context Protocol)サーバーです。これは独立したサーバーであり、CCN、CCN-CERT、CNIとは提携・支援・保守の関係はありません。

データはスナップショットとしてパッケージに同梱されているため、サーバーは即座に応答し、オフラインでも動作します。デフォルトモードは offline で、Chromeを起動せずネットワークにもアクセスしません。--check-updates はスナップショットを置き換えずに公式ソースを確認し、--live はライブデータを一時的に採用できます。

附属書IIに加えて、CCN-STIC 808ガイド(RD 311/2022版)の検証質問票も組み込んでいます:対策ごとの監査質問、RDの条文に関するチェック、監査人が要求できる文書的証拠です。

主な特徴

特徴

説明

stdio上のMCPサーバー

Claude Desktop、Claude Code、その他のMCPクライアントに統合可能

オフラインで動作

完全なコーパスがスナップショットとしてパッケージに同梱

決定的スナップショット

デフォルトモードは常にパッケージ化されたコーパスを提供

明示的な確認

--check-updates は提供データを置き換えずに変更を検出

適用可能性マトリックス

適用可能性宣言の準備のための規範的基盤を計算

CCN-STIC 808監査

監査項目、必須要件、RDの条文、文書的証拠

Related MCP server: nist-mcp

利用可能なツール

附属書IIの照会

Tool

Args

説明

list_categories

附属書IIのカテゴリをグループ(orgopmp)付きで返す。

list_measures

category_code?, dimension?, level?

カテゴリ、セキュリティ次元、またはレベルでフィルタリングした対策。

get_measure

code

正確なコードによる対策(例:"org.1")。RDの本文、強化策、レベル付き。

search_measures

query

コード、タイトル、説明、RDの条文のテキスト検索(大文字小文字とアクセントを無視)。

適用可能性宣言と監査

Tool

Args

説明

declaracion_aplicabilidad

confidencialidad?, integridad?, disponibilidad?, autenticidad?, trazabilidad?

DdA準備のための規範的マトリックス基盤:各次元(bajo/medio/alto、または省略)を評価し、強化策付きの要求される対策を返す。

alcance_auditoria

DdAと同じ

システムの監査項目:適用可能な対策と、その累積された検証質問、および要求される最低成熟度レベル。

requisitos_auditoria

code?, level?

CCN-STIC 808質問票の生データ。対策別または区分別で、必須要件をマーク。

requisitos_articulos

RDの条文に関する監査チェック(正式なDdA、カテゴリ分類、INES...)。

evidencias_auditoria

code?

監査人が要求できる文書。対策別。

ステータスと更新

Tool

Args

説明

refresh_live_page

公式サイトを今すぐ確認し、データが変更されていれば更新する。

snapshot_status

提供中のデータの出所と鮮度。

対策が返す内容

各対策には2つのテキストが含まれ、両方が必要です:norm_text はRD 311/2022の条文(対策が要求する内容)、description はCCN-STIC 808の質問票(監査人が質問する内容)です。強化策は、それを要求するレベルとRDの条文とペアになっています:

{
  "code": "mp.s.4",
  "title": "Protección frente a denegación de servicio",
  "description": "Categoría Media 1.1 ¿Se ha planificado y dotado al sistema de capacidad suficiente ...?",
  "norm_text": "Se establecerán medidas preventivas frente a ataques de denegación de servicio ...",
  "category_code": "mp.s",
  "dimensions": ["disponibilidad"],
  "levels": ["medio", "alto"],
  "reinforcements": [
    { "code": "R1", "level": "alto", "alternative": false, "text": "R1-Detección y reacción. ..." }
  ],
  "raw_levels": { "bajo": "n.a.", "medio": "aplica", "alto": "+ R1" }
}

alternative は必須の強化策(+ R1 + R2)と代替の強化策(+ [R1 o R2]、いずれか1つで十分)を区別します:これらを混同すると、実装すべき内容が変わります。

適用可能性宣言

ENSはシステム全体に1つのレベルを適用するのではなく、次元ごとに1つ適用します。各次元を評価し、ツールはそのシステムが満たすべき内容を返します:

{
  "categoria_sistema": "alta",
  "measures": [
    { "code": "op.acc.5", "title": "Mecanismo de autenticación (usuarios externos)",
      "required_level": "alto",
      "required_reinforcements": [
        { "code": "R2", "alternative": true,  "text": "R2-..." },
        { "code": "R5", "alternative": false, "text": "R5-..." }
      ] }
  ]
}

この規則はRD 311/2022に基づきます:システムのカテゴリは評価されたレベルの最大値(附属書I、第4項)、「Categoría」とマークされた対策はシステムのカテゴリに応じて要求され、次元を保護する対策はその次元のレベルに応じて要求され、評価されていない次元はそれを保護する対策のみを除外します。

監査範囲

DdAが*「何を実装すべきか?」に答えるなら、alcance_auditoria「監査人は何を質問するか?」*に答えます。適用可能な各対策について、要求されるレベルまでの累積された検証要件と、ガイドが要求する最低成熟度レベルを返します:

カテゴリ

最低成熟度レベル

BÁSICA

L2 — 再現可能だが直感的

MEDIA

L3 — 定義されたプロセス

ALTA

L4 — 管理・測定されている

このニュアンスは重要です:ENS Navegableが「Categoría Básica / Media / Alta」とラベル付けする区分は、CCN-STIC 808 §5によると累積的です —「Categoría Básica」はすべてのカテゴリに要求されることを意味し、基本システムのみではありません。中カテゴリのシステムは、基本の質問中レベルの質問の両方に回答します。C=alto、I=medio、D=bajo、A=medio、T=medioのシステムの場合、実際の監査項目は382問(うち136問は必須で、不履行は認証をブロックします)であり、その区分の73問ではありません。

requisitos_articulosevidencias_auditoria は監査の残りの半分をカバーします:RDの条文に関するチェック(DdAが存在し署名されているか、システムが正式にカテゴリ分類されているか、INESに報告されているか...)と、ガイドが提案する365の文書的証拠です。これらのデータはCCN-STIC 808から取得されます。ENS Navegableはこれらを公開していません。

データの出所

  • src/ensmcp/data/anexo_ii.json — ENS Navegableのコーパス(対策、RDの条文、質問票、レベル別適用可能性)。公式サイトから取得。各クエリはメモリ内ルックアップです。

  • src/ensmcp/data/guia_808.json — CCN-STIC 808ガイドから抽出したデータとその帰属(ガイド自体は再配布されません)。snapshot_status がどの版から来たかを示します。

スナップショットを再生成するには:

python scripts/build_snapshot.py

サーバーはデフォルトではChromeを起動せず、ネットワークも使用しません。変更を明示的に確認するには:

ensmcp --offline
ensmcp --check-updates
ensmcp --live

ENSMCP_MODE=offline|check-updates|live で設定することもできます。

要件

  • Python 3.12-3.14

スナップショットの更新のみ(refresh_live_page、起動時チェック、scripts/build_snapshot.py)には、さらに以下が必要です:

  • Google Chromeがインストールされていること

  • ディスプレイ(またはディスプレイのないサーバーでは xvfb

インストール

PyPIからサーバーを使用するには:

pip install ensmcp
ensmcp --offline

ライブチェックを有効にするには:

pip install "ensmcp[live]"
ensmcp --check-updates

開発

git clone https://github.com/seifreed/ensmcp.git
cd ensmcp
python3 -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r pylock.toml   # versiones exactas, verificadas por hash
pip install -e . --no-deps   # el propio paquete, sin re-resolver
patchright install chromium

新しくインストールしたLinuxでは、さらに以下が必要な場合があります:

patchright install-deps chromium

pyproject.toml は依存関係が宣言される唯一の場所です。pylock.toml はそこから生成される成果物(PEP 751)で、すべての依存関係(ランタイムと開発を合わせて)を正確なバージョンとハッシュに固定し、Windows、Linux、macOSのx64およびARM用のマーカーを含みます。依存関係を更新するには、pyproject.toml の範囲を編集して再生成します:

uv pip compile pyproject.toml --all-extras --universal --python-version 3.12 \
  --format pylock.toml -o pylock.toml

クイックスタート

python -m ensmcp

仮想環境のインタープリタを指すようにMCPクライアント(例:Claude Desktop / Claude Code)で設定します:

{
  "mcpServers": {
    "ensmcp": { "command": "ensmcp", "args": ["--offline"] }
  }
}

他に設定は不要です:クエリはパッケージのスナップショットから応答されます。

適合性の判断については、BOE、技術セキュリティ指示、現行の公式ガイド、および対応する監査・認証機関の判断が優先されます。

手動で検査するには:

npx @modelcontextprotocol/inspector venv/bin/python -m ensmcp

コントリビューション

コントリビューションを歓迎します。

  1. リポジトリをフォークする

  2. 機能ブランチを作成する(git checkout -b feature/nueva-funcionalidad

  3. 変更をコミットする(git commit -m 'Añade nueva funcionalidad'

  4. ブランチをプッシュする(git push origin feature/nueva-funcionalidad

  5. Pull Requestを開く

PRを送信する前に、すべての品質・セキュリティゲートがエラーや警告なしで通過することを確認してください。

プロジェクトを支援する

このプロジェクトが役に立つと思ったら、開発を支援できます:

著者


A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
1wRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides instant access to authoritative security documentation from organizations like OWASP, NIST, and major cloud providers through natural language semantic search. It enables users to retrieve security best practices, frameworks, and vulnerability information directly from a locally cached knowledge base.
    4
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides structured access to the full NIST cybersecurity catalog, including SP 800/1800 publications, security controls, CSF 2.0, and the NVD database. It enables AI assistants to search and retrieve cybersecurity standards, CVEs, and compliance guidance directly from a local SQLite index.
    20
    1
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/seifreed/ensmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server