OpenCTI MCP
一个模型上下文协议服务器,便于与OpenCTI集成,允许用户通过标准化接口查询和检索网络威胁情报数据。
可用工具 (16 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
get_latest_reports 1 个参数
ç²åææ°çOpenCTIå ±å
该工具无需必填参数,直接调用即可
get_report_by_id 1 个参数 需填 1 项
æ ¹æIDç²åOpenCTIå ±å
必填参数:id
search_indicators 2 个参数 需填 1 项
æå°OpenCTIä¸çææ¨
必填参数:query
search_malware 2 个参数 需填 1 项
æå°OpenCTIä¸çæ¡æç¨å¼
必填参数:query
search_threat_actors 2 个参数 需填 1 项
æå°OpenCTIä¸çå¨è è¡çºè
必填参数:query
get_user_by_id 1 个参数 需填 1 项
æ ¹æIDç²å使ç¨è è³è¨
必填参数:id
list_users
ååºææä½¿ç¨è
该工具无需必填参数,直接调用即可
list_groups 1 个参数
ååºææç¾¤çµ
该工具无需必填参数,直接调用即可
list_attack_patterns 1 个参数
ååºæææ»ææ¨¡å¼
该工具无需必填参数,直接调用即可
get_campaign_by_name 1 个参数 需填 1 项
æ ¹æå稱ç²åè¡åè³è¨
必填参数:name
list_connectors
ååºææé£æ¥å¨
该工具无需必填参数,直接调用即可
list_status_templates
ååºææçæ æ¨¡æ¿
该工具无需必填参数,直接调用即可
get_file_by_id 1 个参数 需填 1 项
æ ¹æIDç²åæªæ¡è³è¨
必填参数:id
list_files
ååºæææªæ¡
该工具无需必填参数,直接调用即可
list_marking_definitions
ååºæææ¨è¨å®ç¾©
该工具无需必填参数,直接调用即可
list_labels
ååºæææ¨ç±¤
该工具无需必填参数,直接调用即可
服务介绍
OpenCTI MCP Server
概述
OpenCTI MCP Server 是一个 Model Context Protocol (MCP) 服务器,它提供了与 OpenCTI(开放网络威胁情报)平台的无缝集成。它通过标准化接口实现了查询和检索威胁情报数据的功能。
功能
- 获取和搜索威胁情报数据
- 获取最新报告并按 ID 搜索
- 搜索恶意软件信息
- 查询妥协指标
- 搜索威胁行为者
- 用户和组管理
- 列出所有用户和组
- 按 ID 获取用户详细信息
- STIX 对象操作
- 列出攻击模式
- 按名称获取活动信息
- 系统管理
- 列出连接器
- 查看状态模板
- 文件操作
- 列出所有文件
- 按 ID 获取文件详细信息
- 引用数据访问
- 列出标记定义
- 查看可用标签
- 可自定义的查询限制
- 完全支持 GraphQL 查询
前提条件
- Node.js 16 或更高版本
- 访问 OpenCTI 实例
- OpenCTI API 令牌
安装
通过 Smithery 安装
要通过 Smithery 自动安装适用于 Claude Desktop 的 OpenCTI Server:
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 实例 URLOPENCTI_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
}
}
search_indicators
搜索妥协指标。
{
"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_patterns
列出系统中的所有攻击模式。
{
"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
}
}
list_files
列出系统中的所有文件。
{
"name": "list_files",
"arguments": {}
}
参考数据
list_marking_definitions
列出所有标记定义。
{
"name": "list_marking_definitions",
"arguments": {}
}
list_labels
列出所有可用标签。
{
"name": "list_labels",
"arguments": {}
}
贡献
欢迎贡献!请随时提交拉取请求。
许可证
MIT 许可证