OpenCTI MCP Server
Se integra con la plataforma OpenCTI para consultar y recuperar datos de inteligencia de amenazas.
Documentación
OpenCTI 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 OpenCTIOPENCTI_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
.envni los tokens de API en el control de versiones - Mantenga sus credenciales de OpenCTI seguras
- El archivo
.gitignoreestá 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