项目简介

NIST CSF 2.0 MCP 服务器是一个功能全面的后端应用,专注于提供 NIST 网络安全框架 2.0 的核心功能,并以 Model Context Protocol (MCP) 标准向大型语言模型 (LLM) 客户端提供服务。它不仅包含强大的安全评估工具、风险分析、差距识别、实施规划和报告生成功能,还支持多用户会话管理和实时更新,是构建智能网络安全助手和自动化评估平台的理想选择。

主要功能点

  • 资源管理: 托管和管理 NIST CSF 2.0 的所有元素,包括功能、类别、子类别、实施示例等,提供结构化的数据访问能力。
  • 工具集: 提供超过 40 种 MCP 工具,涵盖网络安全评估、成熟度计算、风险评分、差距分析、实施计划制定、审计证据上传、合规性报告生成等,支持 LLM 调用外部功能。
  • Prompt 模板: 定义和渲染 Prompt 模板,支持可定制的 LLM 交互模式,实现更灵活的对话和任务执行。
  • 会话管理: 支持持久性会话,允许用户在评估过程中暂停、恢复或跟踪进度。
  • 多种传输协议: 通过 JSON-RPC 协议与客户端通信,支持 Stdio (标准输入/输出) 和 WebSocket 等传输协议,实现实时交互。
  • 安全与性能: 内置多层认证机制、输入验证和速率限制,确保数据安全和高并发下的稳定响应。

安装步骤

该 MCP 服务器通常通过 Docker 部署。

  1. 克隆仓库:

    git clone https://github.com/rocklambros/nist-csf-2-mcp-server.git
    cd nist-csf-2-mcp-server
  2. 构建和运行 Docker 镜像: 如果您计划将此 MCP 服务器与 LLM 客户端(如 Claude Desktop)集成,可以直接运行已发布的 Docker 镜像。

    • 直接运行 MCP 服务器:

      docker run -it --rm -p 3001:3001 rocklambros/nist-csf-2-mcp-server:latest node dist/index.js

      此命令将在前台启动 MCP 服务器。为了与 LLM 客户端集成,通常不需要显式映射端口,因为 LLM 客户端会通过 stdin/stdout 与服务器进程通信。

    • 开发模式 (包含 GUI 客户端): 如果您也想体验其专业的评估 GUI 平台,可以使用 'docker-compose' 启动。这会同时启动 MCP 服务器和其配套的 Web GUI。

      cd gui-platform
      docker-compose up

      然后通过 'http://localhost:3000' 访问评估界面,'http://localhost:3001/health' 检查后端健康状态。

服务器配置

MCP 客户端需要配置服务器的启动命令。以下是 'Claude Desktop' 客户端的配置示例(JSON 格式,请勿直接在终端运行,而是将其添加到您的 Claude Desktop 配置中):

{
  "mcpServers": {
    "nist-csf": {
      "command": "sh",
      "args": ["-c", "docker run -i --rm ghcr.io/rocklambros/nist-csf-2-mcp-server:latest node dist/index.js 2>/dev/null"],
      "env": {"MCP_SERVER": "true"},
      "description": "NIST CSF 2.0 评估平台 MCP 服务器,用于 AI 集成。",
      "capabilities": [
        "resources/read",
        "tools/call/start_assessment_workflow",
        "tools/call/assess_maturity",
        "tools/call/calculate_risk_score",
        "tools/call/generate_gap_analysis",
        "tools/call/create_implementation_plan",
        "tools/call/generate_executive_report",
        "tools/call/get_assessment_questions",
        "tools/call/persistent_comprehensive_assessment",
        "tools/call/*"
      ]
    }
  }
}

配置参数注释:

  • 'nist-csf': 您为此 MCP 服务器定义的名称。
  • 'command': 启动 MCP 服务器进程的 shell 命令。
  • 'args': 传递给 'command' 的参数,此处为实际的 Docker 运行命令,它会启动容器内的 Node.js 应用作为 MCP 服务器。'2>/dev/null' 用于抑制标准错误输出。
  • 'env': 环境变量,'MCP_SERVER: "true"' 确保服务器以 MCP 模式启动。
  • 'description': MCP 服务器的简要说明。
  • 'capabilities': 服务器公开的功能列表,LLM 客户端可以通过这些声明了解服务器可以执行的操作(读取资源、调用工具)。'tools/call/*' 表示可以调用所有工具。

基本使用方法

一旦 MCP 服务器通过上述方式启动并被 LLM 客户端(如 Claude Desktop)配置和连接,LLM 即可开始与服务器交互:

  1. 创建评估档案 (Profile): LLM 客户端可以通过调用 'create_profile' 工具,为组织创建新的评估档案,提供组织名称、行业、规模等信息。
  2. 启动评估流程: 调用 'start_assessment_workflow' 或 'persistent_comprehensive_assessment' 工具来启动一个新的或恢复一个现有的 NIST CSF 评估流程。LLM 客户端可以获取评估问题并提交回答。
  3. 获取评估结果: 调用 'assess_maturity' 或 'calculate_risk_score' 等工具,获取组织的网络安全成熟度、风险评分和功能性差距等详细评估结果。
  4. 生成报告: 利用 'generate_executive_report'、'generate_compliance_report' 等工具,根据评估数据生成各种类型的专业报告,供决策者参考。
  5. 实施规划: 调用 'create_implementation_plan' 和 'generate_priority_matrix' 来制定改进计划和优先级。

LLM 客户端会以自然语言与您交互,您可以通过对话引导其调用这些后端 MCP 工具来完成网络安全评估和管理任务。

信息

分类

商业系统