OpenCTI MCP Server

Se integra con la plataforma OpenCTI para consultar y recuperar datos de inteligencia de amenazas.

Documentación

OpenCTI MCP Server

smithery badge Chino tradicional (繁體中文)

OpenCTI Server MCP server

Resumen

OpenCTI MCP Server es un servidor de Model Context Protocol (MCP) que proporciona una integración perfecta con la plataforma OpenCTI (Open Cyber Threat Intelligence). Permite consultar y recuperar datos de inteligencia de amenazas a través de una interfaz estandarizada.

Características

  • Obtener y buscar datos de inteligencia de amenazas
    • Obtener los últimos informes y buscar por ID
    • Buscar información sobre malware
    • Consultar indicadores de compromiso
    • Buscar actores de amenazas
  • Gestión de usuarios y grupos
    • Listar todos los usuarios y grupos
    • Obtener detalles de usuario por ID
  • Operaciones con objetos STIX
    • Listar patrones de ataque
    • Obtener información de campaña por nombre
  • Gestión del sistema
    • Listar conectores
    • Ver plantillas de estado
  • Operaciones con archivos
    • Listar todos los archivos
    • Obtener detalles de archivo por ID
  • Acceso a datos de referencia
    • Listar definiciones de marcado
    • Ver etiquetas disponibles
  • Límites de consulta personalizables
  • Soporte completo de consultas GraphQL

Requisitos previos

  • Node.js 16 o superior
  • Acceso a una instancia de OpenCTI
  • Token de API de OpenCTI

Instalación

Instalación mediante Smithery

Para instalar OpenCTI Server para Claude Desktop automáticamente mediante Smithery:

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

Instalación manual

# 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

Configuración

Variables de entorno

Copie .env.example a .env y actualice con sus credenciales de OpenCTI:

cp .env.example .env

Variables de entorno requeridas:

  • OPENCTI_URL: La URL de su instancia de OpenCTI
  • OPENCTI_TOKEN: Su token de API de OpenCTI

Configuración de MCP

Cree un archivo de configuración en la ubicación de configuración de su 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
      }
    }
  }
}

Notas de seguridad

  • Nunca incluya el archivo .env ni los tokens de API en el control de versiones
  • Mantenga sus credenciales de OpenCTI seguras
  • El archivo .gitignore está configurado para excluir archivos sensibles

Herramientas disponibles

Herramientas disponibles

Informes

get_latest_reports

Recupera los informes de inteligencia de amenazas más recientes.

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

get_report_by_id

Recupera un informe específico por su ID.

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

Operaciones de búsqueda

search_malware

Busca información sobre malware en la base de datos de OpenCTI.

{
  "name": "search_malware",
  "arguments": {
    "query": "ransomware",
    "first": 10  // Optional, defaults to 10
  }
}

search_indicators

Busca indicadores de compromiso.

{
  "name": "search_indicators",
  "arguments": {
    "query": "domain",
    "first": 10  // Optional, defaults to 10
  }
}

search_threat_actors

Busca información sobre actores de amenazas.

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

Gestión de usuarios

get_user_by_id

Recupera información del usuario por ID.

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

list_users

Lista todos los usuarios del sistema.

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

list_groups

Lista todos los grupos con sus miembros.

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

Objetos STIX

list_attack_patterns

Lista todos los patrones de ataque del sistema.

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

get_campaign_by_name

Recupera información de campaña por nombre.

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

Gestión del sistema

list_connectors

Lista todos los conectores del sistema.

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

list_status_templates

Lista todas las plantillas de estado.

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

Operaciones con archivos

get_file_by_id

Recupera información de archivo por ID.

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

list_files

Lista todos los archivos del sistema.

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

Datos de referencia

list_marking_definitions

Lista todas las definiciones de marcado.

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

list_labels

Lista todas las etiquetas disponibles.

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

Contribuciones

¡Las contribuciones son bienvenidas! No dude en enviar solicitudes de extracción (pull requests).

Licencia

Licencia MIT