网络安全风险评估服务器

UpGuard CyberRisk MCP Server是一个用于集成UpGuard CyberRisk API的模型上下文协议服务器,提供标准化的安全风险评估和管理功能。

  • by leroylim
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 leroylim/upguard-cyberrisk-mcp-server-nodejs

使用说明

UpGuard网络风险MCP服务器

用于与UpGuard的CyberRisk API集成的模型上下文协议(MCP)服务器。该服务器通过标准化的接口提供全面的安全风险评估和管理功能。

特性

  • 67 API工具 涵盖13个类别,用于全面的安全管理
  • 25综合提示 包括8个用于复杂操作的高级工作流提示
  • 实时风险评估 具有供应商监控和违规检测功能
  • 自动化文档生成 具有多种输出格式
  • 交互式API资源管理器 具有Swagger UI和Redoc界面
  • 全面的模式验证 有22个Zod模式定义
  • CI/CD集成 通过自动化文档部署

增强提示(v1.4.0中的新功能)

服务器现在包括 25个全面提示 (8个增强版+17个现有版),为复杂的安全操作提供指导工作流程:

🔴 风险管理提示

  • upguard_comprehensive_risk_assessment -完整的风险评估工作流程
  • upguard_risk_trend_analysis -多期风险趋势分析
  • upguard_account_risk_dashboard:为您的账户创建风险仪表板。
  • upguard_risk_trend_analysis_original:分析特定时期的风险趋势。
  • upguard_risk_severity_analysis:按严重程度分析风险。
  • upguard_critical_risk_prioritization:优先考虑关键风险。
  • upguard_risk_type_analysis:按类型分析风险。
  • upguard_monthly_risk_report:生成月度风险报告。
  • upguard_risk_mitigation_planning:制定风险缓解计划。
  • upguard_executive_risk_summary:创建高管级风险总结。

📊 合规与报告

  • upguard_compliance_reporting_suite -自动生成合规报告

🌐 资产管理

  • upguard_domain_lifecycle_management -完成域生命周期工作流
  • upguard_bulk_asset_management -大规模资产管理业务
  • upguard_network_security_assessment -全面的网络安全分析
  • upguard_check_domain_risks:检查特定域的风险。
  • upguard_review_typosquatting_for_domain:查看域的拼写信息。
  • upguard_manage_bulk_hostnames_simple:批量添加和删除主机名的简单工作流程。

🪝 运营与监控

  • upguard_setup_comprehensive_alerting -完成警报基础架构设置
  • upguard_security_dashboard_setup -基于角色的安全仪表板配置

🏢 供应商和组织提示

  • upguard_get_my_organization_risks:获取贵组织的所有风险清单。
  • upguard_monitor_new_vendor:开始监视新供应商。
  • upguard_assess_vendor_risks:对特定供应商进行风险评估。
  • upguard_get_my_organization_details:检索您组织的详细信息。
  • upguard_list_vendors_with_critical_risks:列出所有存在重大风险的供应商。
  • upguard_full_vendor_risk_profile:获取供应商的完整风险简介。
  • upguard_monitor_new_vendor_and_send_questionnaire:监控新供应商并向他们发送问卷。

🚨 违规和报告提示

  • upguard_investigate_breaches:调查特定域的违规行为。
  • upguard_generate_report:生成报告。
  • upguard_investigate_identity_breach_for_domain:调查域的身份泄露。
  • upguard_generate_vendor_report_and_track:生成供应商报告并跟踪其状态。

优点:

  • 分步指导 用于复杂的安全工作流程
  • 多工具编排 组合多个API端点
  • 基于角色的工作流 针对不同的利益相关者(首席信息安全官、分析师、合规性)
  • 最佳实践集成 内置安全建议

📖 看 增强_ MPTS.md 查看详细的文档和示例。

快速开始

先决条件

  • Node.js 18+
  • npm或纱线
  • UpGuard CyberRisk API证书

安装

git clone https://github.com/leroylim/upguard-cyberrisk-mcp-server-nodejs.git
cd upguard-cyberrisk-mcp-server-nodejs
npm install

配置

创建一个 .env 使用您的UpGuard凭据文件:

UPGUARD_API_KEY=your_api_key_here

运行服务器

npm start

MCP配置

要将此服务器与Claude Desktop或其他MCP兼容客户端一起使用,您需要将其添加到MCP配置文件中。

适用于克劳德桌面(Windows/Mac/Linux)

将以下配置添加到您的 claude_desktop_config.json 文件:

窗户: %APPDATA%\Claude\claude_desktop_config.json 雨衣: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "upguard-mcp": {
      "command": "node",
      "args": [
        "/path/to/your/upguard-cyberrisk-mcp-server/src/index.js"
      ],
      "env": {
        "UPGUARD_API_KEY": "your_upguard_api_key_here"
      }
    }
  }
}

用于游标IDE

将以下配置添加到您的 mcp.json Cursor设置目录中的文件:

窗户: %APPDATA%\Cursor\User\mcp.json 雨衣: ~/Library/Application Support/Cursor/User/mcp.json
Linux: ~/.config/Cursor/User/mcp.json

{
  "mcpServers": {
    "upguard-mcp": {
      "command": "node",
      "args": [
        "/path/to/your/upguard-cyberrisk-mcp-server/src/index.js"
      ],
      "env": {
        "UPGUARD_API_KEY": "your_upguard_api_key_here"
      }
    }
  }
}

配置说明

  • 替换路径:更新 /path/to/your/upguard-cyberrisk-mcp-server/src/index.js 安装的实际路径
  • 更换API键:更新 your_upguard_api_key_here 使用实际的UpGuard API密钥
  • 服务器名称:您可以更改 upguard-mcp 你喜欢的任何名字

获取UpGuard API密钥

先决条件:

  • 具有管理员访问权限的UpGuard帐户(只有管理员才能访问API令牌)
  • 进入UpGuard平台 cyber-risk.upguard.com

分步说明:

  1. 登录您的UpGuard帐户 在 https://cyber-risk.upguard.com
  2. 单击设置图标 在UpGuard的右上角
  3. 导航到API选项卡 在设置菜单中
  4. 创建或管理API密钥:
    • 此处将列出任何现有的API密钥
    • 点击 “创建新的API密钥” 生成新密钥
    • 如果需要,您还可以从该选项卡中删除现有密钥
  5. 复制API密钥 -它将是一个字母数字字符串
  6. 粘贴密钥 进入MCP配置文件

测试API密钥(可选): 您可以通过使用curl测试API密钥来验证它的工作原理:

curl -H "Authorization: YOUR_API_KEY" "https://cyber-risk.upguard.com/api/public/vendors"

安全说明:

  • 保持API密钥的安全,不要公开共享
  • 只有管理员才能创建和管理API密钥
  • 您可以创建多个API密钥,并根据需要删除它们
  • API基本URL为: https://cyber-risk.upguard.com/api/public

有关更多详细信息,请参阅 官方UpGuard API认证指南.

需要重启

更新MCP配置后,重新启动Claude Desktop或IDE以使更改生效。

文件系统

该项目具有一个全面的文档生成系统,可从源代码创建多种格式:

📚 可用文档格式

  • 📊 交互式文档中心 -中央导航与统计
  • 🚀 Swagger用户界面 -用于测试端点的交互式API资源管理器
  • 📚 Redoc -美观、专业的API文档
  • 📖 降价 -带有示例的人类可读文档
  • 🔧 OpenAPI规范 -可机加工的API工具规范

🛠️ 文档命令

# Generate complete documentation pipeline
npm run docs:full

# Individual generation steps
npm run docs:extract      # Extract tools from source code
npm run docs:generate     # Generate OpenAPI and Markdown
npm run docs:html         # Generate HTML documentation
npm run docs:test         # Validate generated documentation

# Utility commands
npm run docs:clean        # Clean generated files
npm run docs:build        # Generate with mock fallback

📊 文档统计

  • 67 API工具 记录在13个类别中
  • 22模式定义 通过Zod验证
  • 54个带有模式的工具 (80%的模式覆盖率)
  • 195KB OpenAPI规范 有全面的例子
  • 37KB Markdown文档 带有身份验证指南

🌐 查看文档

运行后 npm run docs:full,在浏览器中打开以下任何文件:

  • 文档中心: docs/generated/index.html
  • Swagger用户界面: docs/generated/swagger.html
  • Redoc: docs/generated/redoc.html
  • 降价: docs/generated/API.md
  • OpenAPI规范: docs/generated/openapi.json

API类别

🛡️ 风险管理(10个工具)

  • 获取可用的风险和风险详细信息
  • 账户和供应商风险监控
  • 风险过滤和分类

🏢 供应商管理(16个工具)

  • 监控和管理供应商安全
  • 供应商风险评估
  • 大宗供应商业务

🌐 域管理(9个工具)

  • 领域监控和分析
  • 子域发现
  • 领域风险评估

🔍 IP管理(5个工具)

  • IP监控
  • 网络安全分析
  • 知识产权风险评估

📊 报告生成(7个工具)

  • 自定义安全报告
  • 自动报告调度
  • 报表数据导出

🚨 违规监控(2个工具)

  • 数据泄露检测
  • 违规影响分析

⚡ 批量操作(6个工具)

  • 批处理能力
  • 大规模供应商更新
  • 批量数据操作

🔗 Webhook管理(5个工具)

  • 事件通知设置
  • Webhook配置
  • 实时警报

📋 其他类别

  • 问卷管理 (1个工具)
  • 百草枯检测 (1个工具)
  • 标签管理 (1个工具)
  • 通知管理 (1个工具)
  • 将军 (3个工具)

发展

项目结构

├── src/
│   ├── tools/           # API tool implementations
│   │   ├── schemas/     # Zod schema definitions
│   │   ├── risks.js     # Risk management tools
│   │   ├── vendors.js   # Vendor management tools
│   │   └── ...          # Other tool categories
│   └── utils/
│       ├── doc-generator.js  # Documentation generator
│       └── logger.js         # Logging utility
├── scripts/
│   ├── extract-tools-direct.js  # Tool extraction
│   ├── generate-docs.js         # Documentation generation
│   ├── generate-html-docs.js    # HTML documentation
│   └── test-docs.js             # Documentation testing
├── docs/
│   ├── generated/       # Generated documentation
│   └── extracted-tools.json    # Extracted tool data
└── .github/workflows/
    └── docs.yml         # CI/CD documentation pipeline

添加新工具

  1. 在适当的类别文件中创建工具实现
  2. 将架构定义添加到 src/tools/schemas/index.js
  3. 跑 npm run docs:full 更新文档
  4. 测试用 npm run docs:test

架构验证

所有工具都使用Zod模式进行输入验证:

const { z } = require('zod');
const { vendorHostname, labels } = require('./schemas');

// Tool with schema validation
server.tool('tool_name', 'Description', {
  hostname: vendorHostname,
  labels: labels.optional()
}, async (args) => {
  // Implementation
});

CI/CD集成

该项目包括通过GitHub Actions自动生成文档:

  • 触发器:推送到主/主站,工具文件更改,手动调度
  • 产生:所有文档格式自动
  • 部署:带有交互式文档的GitHub页面
  • 人工制品:保留30天的文档文件

测试

# Run all tests
npm test

# Lint code
npm run lint
npm run lint:fix

# Test documentation
npm run docs:test

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 添加具有适当模式的工具
  4. 更新文档 npm run docs:full
  5. 测试更改 npm run docs:test
  6. 提交拉取请求

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

支持


UpGuard网络风险MCP服务器 v1.4.0 |麻省理工学院授权| 查看文档