
OpenCTI MCP Server

2025.01.30
9
TypeScript威胁情报网络安全其它
OpenCTI MCP Server 是一个模型上下文协议(MCP)服务器,专为与 OpenCTI(开放网络威胁情报)平台无缝集成而设计。它通过标准化接口提供查询和检索威胁情报数据的能力。该服务器支持多种功能,包括获取和搜索威胁情报数据、用户和组管理、STIX对象操作、系统管理、文件操作以及参考数据访问等。
View on GitHub
Overview
基本能力
产品定位
OpenCTI MCP Server 是一个专为 OpenCTI 平台设计的 MCP 服务器,旨在通过标准化接口提供威胁情报数据的查询和检索功能。
核心功能
- 获取和搜索威胁情报数据
- 获取最新报告和按ID搜索
- 搜索恶意软件信息
- 查询妥协指标
- 搜索威胁行为者
- 用户和组管理
- 列出所有用户和组
- 按ID获取用户详细信息
- STIX对象操作
- 列出攻击模式
- 按名称获取活动信息
- 系统管理
- 列出连接器
- 查看状态模板
- 文件操作
- 列出所有文件
- 按ID获取文件详细信息
- 参考数据访问
- 列出标记定义
- 查看可用标签
- 可自定义查询限制
- 完整的GraphQL查询支持
适用场景
- 网络安全团队需要快速查询威胁情报数据
- 开发人员需要集成威胁情报功能到现有系统
- 研究人员需要分析恶意软件和威胁行为者
工具列表
报告
get_latest_reports
: 检索最新的威胁情报报告get_report_by_id
: 按ID检索特定报告
搜索操作
search_malware
: 在OpenCTI数据库中搜索恶意软件信息search_indicators
: 搜索妥协指标search_threat_actors
: 搜索威胁行为者信息
用户管理
get_user_by_id
: 按ID检索用户信息list_users
: 列出系统中的所有用户list_groups
: 列出所有组及其成员
STIX对象
list_attack_patterns
: 列出系统中的所有攻击模式get_campaign_by_name
: 按名称检索活动信息
系统管理
list_connectors
: 列出所有系统连接器list_status_templates
: 列出所有状态模板
文件操作
get_file_by_id
: 按ID检索文件信息list_files
: 列出系统中的所有文件
参考数据
list_marking_definitions
: 列出所有标记定义list_labels
: 列出所有可用标签
常见问题解答
- 确保安装了 Node.js 16 或更高版本
- 确保有 OpenCTI 实例的访问权限和 API 令牌
- 不要将
.env
文件或 API 令牌提交到版本控制
使用教程
使用依赖
- Node.js 16 或更高版本
- OpenCTI 实例的访问权限
- OpenCTI API 令牌
安装教程
通过 Smithery 安装
npx -y @smithery/cli install opencti-server --client claude
手动安装
git clone https://github.com/yourusername/opencti-mcp-server.git
cd opencti-mcp-server
npm install
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}",
"OPENCTI_TOKEN": "${OPENCTI_TOKEN}"
}
}
}
}
调试方式
- 确保所有依赖项已正确安装
- 检查环境变量是否正确设置
- 运行服务器并测试基本查询功能