MCP Connector

Integrate OpenCTI Threat Intelligence

Query OpenCTI threat intelligence data - reports, malware, indicators, threat actors, and STIX objects - through one MCP interface.

Works with opencti

Maintainer of this project? Claim this page to edit the listing.


71
Spark score
out of 100
Updated 7 months ago
Version 1.0.0
Models
universal

Add to Favorites

Why it matters

Seamlessly integrate with OpenCTI to query and retrieve cyber threat intelligence data. Access reports, malware information, indicators of compromise, and threat actors through a standardized interface.

Outcomes

What it gets done

01

Fetch and search threat intelligence reports.

02

Query malware, indicators of compromise, and threat actors.

03

Retrieve user and group information.

04

Access STIX objects and attack patterns.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-opencti | bash

Capabilities

Tools your agent gets

get_latest_reports

Fetches the most recent threat intelligence reports

get_report_by_id

Retrieves a specific report by its ID

search_malware

Search for malware information in the OpenCTI database

search_indicators

Search for indicators of compromise

search_threat_actors

Search for information about threat actors

get_user_by_id

Retrieves user information by ID

list_users

Lists all users in the system

list_groups

Lists all groups and their members

+7 tools

Overview

OpenCTI MCP Server

OpenCTI MCP Server lets an AI assistant query OpenCTI threat intelligence data - reports, malware, indicators, threat actors, and STIX objects - and manage users and groups through a standardized interface. Use it for conversational OpenCTI threat intelligence queries and administration. Requires a running OpenCTI instance with a valid API token, kept out of version control.

What it does

OpenCTI MCP Server integrates an AI assistant with OpenCTI (Open Cyber Threat Intelligence), letting it query and retrieve threat intelligence data - reports, malware, indicators of compromise, threat actors, and STIX objects - through a standardized interface.

When to use - and when NOT to

Use it when you want an AI assistant to pull the latest threat intelligence reports, look up a specific report by ID, search for malware or threat actor information, query indicators of compromise, or administer OpenCTI users and groups (listing, retrieving by ID). It also exposes system-level data like connectors, status templates, files, and marking definitions. Do not use it without a running OpenCTI instance and a valid API token - both OPENCTI_URL and OPENCTI_TOKEN are required, and per the project's own security notes, never commit your .env file or API tokens to version control.

Capabilities

  • get_latest_reports / get_report_by_id: retrieve the most recent threat reports or a specific one by ID.
  • search_malware: search for malware information in the OpenCTI database.
  • search_indicators: search for indicators of compromise.
  • search_threat_actors: search for threat actor information.
  • get_user_by_id / list_users: retrieve a specific user or list all users.
  • list_groups: list all groups with their members.
  • list_attack_patterns: list all attack patterns in the system.
  • get_campaign_by_name: retrieve campaign information by name.
  • list_connectors: list all system connectors.
  • list_status_templates: list all status templates.
  • get_file_by_id / list_files: retrieve a specific file or list all files.
  • list_marking_definitions: list all marking definitions.

How to install

Install automatically for Claude via Smithery:

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

Or manually:

git clone https://github.com/yourusername/opencti-mcp-server.git
cd opencti-mcp-server
npm install
npm run build

Configure your MCP client:

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

Requires Node.js 16+ and access to an OpenCTI instance with a valid API token. Keep OPENCTI_TOKEN out of version control.

Who it's for

Threat intelligence analysts and security operations teams running OpenCTI who want an AI assistant to query threat data and manage platform users/groups conversationally instead of navigating the OpenCTI UI.

Source README

An MCP server that provides seamless integration with the OpenCTI (Open Cyber Threat Intelligence) platform, enabling you to query and retrieve threat intelligence data through a standardized interface.

Installation

Smithery

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

Manual 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 build

Configuration

MCP Settings

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

Available Tools

Tool Description
get_latest_reports Retrieves the latest threat intelligence reports
get_report_by_id Retrieves a specific report by its ID
search_malware Search for malware information in the OpenCTI database
search_indicators Search for indicators of compromise
search_threat_actors Search for information about threat actors
get_user_by_id Retrieves user information by ID
list_users Lists all users in the system
list_groups Lists all groups and their members
list_attack_patterns Lists all attack patterns in the system
get_campaign_by_name Retrieves campaign information by name
list_connectors Lists all system connectors
list_status_templates Lists all status templates
get_file_by_id Retrieves file information by ID
list_files Lists all files in the system
list_marking_definitions Lists all marking definitions

Capabilities

  • Retrieve and search threat intelligence data
  • Get latest reports and search by ID
  • Search for malware information
  • Query indicators of compromise
  • Search for threat actors
  • Manage users and groups
  • List all users and groups
  • Get detailed user information by ID
  • Perform STIX object operations
  • List attack patterns

Environment Variables

Required

  • OPENCTI_URL - URL of your OpenCTI instance
  • OPENCTI_TOKEN - Your OpenCTI API token

Resources

Notes

Requires Node.js version 16 or higher and access to an OpenCTI instance with an API token. Security notes include: never commit the .env file or API tokens to version control, and keep your OpenCTI credentials secure.

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.