威胁情报查询服务器

OpenCTI MCP Server是一个模型上下文协议(MCP)服务器,提供与OpenCTI(开放网络威胁情报)平台的无缝集成,通过标准化接口查询和检索威胁情报数据。

  • by zxzinn
  • TypeScript
  • 本地部署
  • 41 星标
  • 更新于
在 GitHub 查看 Spathodea-Network/opencti-mcp

使用说明

OpenCTI MCP服务器

繁体中文

概述

OpenCTI MCP服务器是一个模型上下文协议(MCP)服务器,可与OpenCTI(开放网络威胁情报)平台无缝集成。它能够通过标准化的界面查询和检索威胁情报数据。

特性

  • 获取和搜索威胁情报数据
    • 获取最新报告并按ID搜索
    • 搜索恶意软件信息
    • 查询妥协指标
    • 搜索威胁行为者
  • 用户和组管理
    • 列出所有用户和组
    • 按ID获取用户详细信息
  • STIX对象操作
    • 列出攻击模式
    • 按名称获取活动信息
  • 系统管理
    • 列出连接器
    • 查看状态模板
  • 文件 操作
    • 列出所有文件
    • 按ID获取文件详细信息
  • 参考数据访问
    • 列表标记定义
    • 查看可用标签
  • 可自定义的查询限制
  • 完全支持GraphQL查询

先决条件

  • Node.js 16或更高版本
  • 访问OpenCTI实例
  • OpenCTI API令牌

安装

通过Smithery安装

通过以下方式自动安装用于Claude Desktop的OpenCTI服务器 史密瑟里:

npx -y @smithery/cli install opencti-server --client claude

手动安装

# Clone the repository
git clone https://github.com/yourusername/opencti-mcp-server.git

# Install dependencies
cd opencti-mcp-server
npm install

# Build the project
npm run build

配置

环境变量

复制 .env.example 向 .env 并使用您的OpenCTI凭据进行更新:

cp .env.example .env

所需的环境变量:

  • OPENCTI_URL:您的OpenCTI实例URL
  • OPENCTI_TOKEN:您的OpenCTI API令牌

MCP设置

在MCP设置位置创建配置文件:

{
  "mcpServers": {
    "opencti": {
      "command": "node",
      "args": ["path/to/opencti-server/build/index.js"],
      "env": {
        "OPENCTI_URL": "${OPENCTI_URL}",  // Will be loaded from .env
        "OPENCTI_TOKEN": "${OPENCTI_TOKEN}"  // Will be loaded from .env
      }
    }
  }
}

安全说明

  • 永不承诺 .env 文件或API令牌到版本控制
  • 确保您的OpenCTI凭据安全
  • 这 .gitignore 文件配置为排除敏感文件

可用工具

可用工具

报告

get_latest_reports

检索最新的威胁情报报告。

{
  "name": "get_latest_reports",
  "arguments": {
    "first": 10  // Optional, defaults to 10
  }
}

get_report_by_id

按ID检索特定报告。

{
  "name": "get_report_by_id",
  "arguments": {
    "id": "report-uuid"  // Required
  }
}

搜索操作

search_malware

在OpenCTI数据库中搜索恶意软件信息。

{
  "name": "search_malware",
  "arguments": {
    "query": "ransomware",
    "first": 10  // Optional, defaults to 10
  }
}

搜索指示器

寻找妥协的迹象。

{
  "name": "search_indicators",
  "arguments": {
    "query": "domain",
    "first": 10  // Optional, defaults to 10
  }
}

search_threat_actors

搜索威胁行为者信息。

{
  "name": "search_threat_actors",
  "arguments": {
    "query": "APT",
    "first": 10  // Optional, defaults to 10
  }
}

用户管理

get_user_by_id

按ID检索用户信息。

{
  "name": "get_user_by_id",
  "arguments": {
    "id": "user-uuid"  // Required
  }
}

list_users

列出系统中的所有用户。

{
  "name": "list_users",
  "arguments": {}
}

list_groups

列出所有组及其成员。

{
  "name": "list_groups",
  "arguments": {
    "first": 10  // Optional, defaults to 10
  }
}

STIX对象

list_attack_patters

列出系统中的所有攻击模式。

{
  "name": "list_attack_patterns",
  "arguments": {
    "first": 10  // Optional, defaults to 10
  }
}

get_campaign_by-name

按名称检索活动信息。

{
  "name": "get_campaign_by_name",
  "arguments": {
    "name": "campaign-name"  // Required
  }
}

系统管理

list_connectors

列出所有系统连接器。

{
  "name": "list_connectors",
  "arguments": {}
}

list_status_templates

列出所有状态模板。

{
  "name": "list_status_templates",
  "arguments": {}
}

文件操作

get_file_by_id

按ID检索文件信息。

{
  "name": "get_file_by_id",
  "arguments": {
    "id": "file-uuid"  // Required
  }
}

列表文件

列出系统中的所有文件。

{
  "name": "list_files",
  "arguments": {}
}

参考数据

list_marking_definitions

列出所有标记定义。

{
  "name": "list_marking_definitions",
  "arguments": {}
}

list_labels

列出所有可用标签。

{
  "name": "list_labels",
  "arguments": {}
}

贡献

欢迎投稿!请随时提交pull请求。

许可证

MIT许可证