OpenCTI MCP Server
The OpenCTI MCP Server integrates with the OpenCTI platform to provide a standardized interface for querying and retrieving threat intelligence data.
Key Capabilities:
Threat Intelligence Data
Retrieve latest reports or get specific reports by ID
Search for indicators of compromise, malware, and threat actors
User and Group Management
List all users and groups with their members
Retrieve user details by ID
STIX Object Operations
List attack patterns
Get campaign information by name
System Management
List connectors and status templates
File Operations
List all files or get file details by ID
Reference Data Access
List marking definitions and labels
Customization
Customizable query limits
Full GraphQL query support
Supports full GraphQL query capabilities for interacting with the OpenCTI platform's threat intelligence data.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OpenCTI MCP Server search for recent ransomware reports"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OpenCTI MCP Server
Overview
OpenCTI MCP Server is a Model Context Protocol (MCP) server that provides seamless integration with OpenCTI (Open Cyber Threat Intelligence) platform. It enables querying and retrieving threat intelligence data through a standardized interface.
Related MCP server: MCP Boilerplate
Features
Fetch and search threat intelligence data
Get latest reports and search by ID
Search for malware information
Query indicators of compromise
Search for threat actors
User and group management
List all users and groups
Get user details by ID
STIX object operations
List attack patterns
Get campaign information by name
System management
List connectors
View status templates
File operations
List all files
Get file details by ID
Reference data access
List marking definitions
View available labels
Customizable query limits
Full GraphQL query support
Prerequisites
Node.js 16 or higher
Access to an OpenCTI instance
OpenCTI API token
Installation
Installing via Smithery
To install OpenCTI Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install opencti-server --client claudeManual Installation
# 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 buildConfiguration
Environment Variables
Copy .env.example to .env and update with your OpenCTI credentials:
cp .env.example .envRequired environment variables:
OPENCTI_URL: Your OpenCTI instance URLOPENCTI_TOKEN: Your OpenCTI API token
MCP Settings
Create a configuration file in your MCP settings location:
{
"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
}
}
}
}Security Notes
Never commit
.envfile or API tokens to version controlKeep your OpenCTI credentials secure
The
.gitignorefile is configured to exclude sensitive files
Available Tools
Available Tools
Reports
get_latest_reports
Retrieves the most recent threat intelligence reports.
{
"name": "get_latest_reports",
"arguments": {
"first": 10 // Optional, defaults to 10
}
}get_report_by_id
Retrieves a specific report by its ID.
{
"name": "get_report_by_id",
"arguments": {
"id": "report-uuid" // Required
}
}Search Operations
search_malware
Searches for malware information in the OpenCTI database.
{
"name": "search_malware",
"arguments": {
"query": "ransomware",
"first": 10 // Optional, defaults to 10
}
}search_indicators
Searches for indicators of compromise.
{
"name": "search_indicators",
"arguments": {
"query": "domain",
"first": 10 // Optional, defaults to 10
}
}search_threat_actors
Searches for threat actor information.
{
"name": "search_threat_actors",
"arguments": {
"query": "APT",
"first": 10 // Optional, defaults to 10
}
}User Management
get_user_by_id
Retrieves user information by ID.
{
"name": "get_user_by_id",
"arguments": {
"id": "user-uuid" // Required
}
}list_users
Lists all users in the system.
{
"name": "list_users",
"arguments": {}
}list_groups
Lists all groups with their members.
{
"name": "list_groups",
"arguments": {
"first": 10 // Optional, defaults to 10
}
}STIX Objects
list_attack_patterns
Lists all attack patterns in the system.
{
"name": "list_attack_patterns",
"arguments": {
"first": 10 // Optional, defaults to 10
}
}get_campaign_by_name
Retrieves campaign information by name.
{
"name": "get_campaign_by_name",
"arguments": {
"name": "campaign-name" // Required
}
}System Management
list_connectors
Lists all system connectors.
{
"name": "list_connectors",
"arguments": {}
}list_status_templates
Lists all status templates.
{
"name": "list_status_templates",
"arguments": {}
}File Operations
get_file_by_id
Retrieves file information by ID.
{
"name": "get_file_by_id",
"arguments": {
"id": "file-uuid" // Required
}
}list_files
Lists all files in the system.
{
"name": "list_files",
"arguments": {}
}Reference Data
list_marking_definitions
Lists all marking definitions.
{
"name": "list_marking_definitions",
"arguments": {}
}list_labels
Lists all available labels.
{
"name": "list_labels",
"arguments": {}
}Contributing
Contributions are welcome! Please feel free to submit pull requests.
License
MIT License
Available Tools
13 toolsget_campaign_by_nameB
根據名稱獲取行動資訊
Inputs: name (required).
get_file_by_idA
根據ID獲取檔案資訊
Inputs: id (required).
get_user_by_idB
根據ID獲取使用者資訊
Inputs: id (required).
list_attack_patternsC
列出所有攻擊模式
Inputs: first.
list_connectorsA
列出所有連接器
Inputs: no named parameters.
list_filesC
列出所有檔案
Inputs: no named parameters.
list_groupsB
列出所有群組
Inputs: first.
list_labelsB
列出所有標籤
Inputs: no named parameters.
list_marking_definitionsB
列出所有標記定義
Inputs: no named parameters.
list_status_templatesB
列出所有狀態模板
Inputs: no named parameters.
list_usersA
列出所有使用者
Inputs: no named parameters.
search_malwareC
搜尋OpenCTI中的惡意程式
Inputs: query (required), first.
search_threat_actorsB
搜尋OpenCTI中的威脅行為者
Inputs: query (required), first.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 13 tools
每個工具都有明確的目標實體和操作(獲取、列出、搜尋),沒有重疊的職責。例如,get_campaign_by_name 與 search_threat_actors 針對不同實體,list_files 與 get_file_by_id 分別是列表和單一獲取,區分明確。
工具名稱遵循一致的 verb_noun 模式:get_entity_by_field、list_entity、search_entity。例如 get_campaign_by_name、list_users、search_malware,風格統一且可預測。
13 個工具涵蓋了 OpenCTI 平台的主要實體(如行動、檔案、使用者、攻擊模式等),數量合理且範圍適中,沒有過多或過少的問題。
工具集僅提供讀取和搜尋操作(get、list、search),缺乏建立、更新、刪除等寫入功能。雖然可能設計為唯讀介面,但對於完整的威脅情報生命週期來說有明顯缺口。
Maintenance
Related MCP Connectors
Cybersecurity MCP server for URL scanning, threat intelligence, and domain reputation.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that integrates with the MISP (Malware Information Sharing Platform) to provide threat intelligence capabilities to Large Language Models.13-
- AlicenseNot gradedqualityDmaintenanceA server that implements the Model Context Protocol, providing a standardized way to connect AI models to different data sources and tools.12 npm12MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that integrates TAK Server with AI systems, providing geospatial-aware tools for querying, analyzing, and interacting with tactical data.11MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that connects AI assistants to MISP threat intelligence platforms. It enables threat intelligence search, IOC lookup, and event analysis through natural conversation.-