OpenCTI MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Supports full GraphQL query capabilities for interacting with the OpenCTI platform's threat intelligence data.

OpenCTI MCP 服务器

繁体中文

概述

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

特征

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

先决条件

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

安装

通过 Smithery 安装

要通过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文件配置为排除敏感文件

可用工具

可用工具

报告

获取最新报告

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

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

通过 ID 获取报告

通过 ID 检索特定报告。

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

搜索行动

搜索恶意软件

在 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 } }

搜索威胁因素

搜索威胁行为者信息。

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

用户管理

通过 ID 获取用户

通过 ID 检索用户信息。

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

列出用户

列出系统中的所有用户。

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

列表组

列出所有组及其成员。

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

STIX 对象

列表攻击模式

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

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

按名称获取活动

按名称检索活动信息。

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

系统管理

列表连接器

列出所有系统连接器。

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

列表状态模板

列出所有状态模板。

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

文件操作

通过id获取文件

通过 ID 检索文件信息。

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

列表文件

列出系统中的所有文件。

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

参考数据

列表标记定义

列出所有标记定义。

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

列表标签

列出所有可用的标签。

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

贡献

欢迎贡献代码!欢迎随时提交 Pull Request。

执照

MIT 许可证

ID: ml61kiz1gm