OpenCTI MCP Server

Integra-se com a plataforma OpenCTI para consultar e recuperar dados de inteligência de ameaças.

Documentação

OpenCTI MCP Server

smithery badge Traditional Chinese (繁體中文)

OpenCTI Server MCP server

Visão Geral

O OpenCTI MCP Server é um servidor Model Context Protocol (MCP) que fornece integração perfeita com a plataforma OpenCTI (Open Cyber Threat Intelligence). Ele permite consultar e recuperar dados de inteligência de ameaças por meio de uma interface padronizada.

Recursos

  • Buscar e pesquisar dados de inteligência de ameaças
    • Obter relatórios mais recentes e pesquisar por ID
    • Pesquisar informações sobre malware
    • Consultar indicadores de comprometimento
    • Pesquisar atores de ameaças
  • Gerenciamento de usuários e grupos
    • Listar todos os usuários e grupos
    • Obter detalhes do usuário por ID
  • Operações de objetos STIX
    • Listar padrões de ataque
    • Obter informações de campanha por nome
  • Gerenciamento do sistema
    • Listar conectores
    • Visualizar modelos de status
  • Operações de arquivo
    • Listar todos os arquivos
    • Obter detalhes do arquivo por ID
  • Acesso a dados de referência
    • Listar definições de marcação
    • Visualizar rótulos disponíveis
  • Limites de consulta personalizáveis
  • Suporte completo a consultas GraphQL

Pré-requisitos

  • Node.js 16 ou superior
  • Acesso a uma instância do OpenCTI
  • Token da API do OpenCTI

Instalação

Instalação via Smithery

Para instalar o OpenCTI Server para Claude Desktop automaticamente via Smithery:

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

Instalação 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

Configuração

Variáveis de Ambiente

Copie .env.example para .env e atualize com suas credenciais do OpenCTI:

cp .env.example .env

Variáveis de ambiente obrigatórias:

  • OPENCTI_URL: URL da sua instância do OpenCTI
  • OPENCTI_TOKEN: Token da API do OpenCTI

Configurações do MCP

Crie um arquivo de configuração no local das configurações do 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 Segurança

  • Nunca envie o arquivo .env ou tokens de API para o controle de versão
  • Mantenha suas credenciais do OpenCTI seguras
  • O arquivo .gitignore está configurado para excluir arquivos sensíveis

Ferramentas Disponíveis

Ferramentas Disponíveis

Relatórios

get_latest_reports

Recupera os relatórios de inteligência de ameaças mais recentes.

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

get_report_by_id

Recupera um relatório específico pelo seu ID.

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

Operações de Pesquisa

search_malware

Pesquisa informações sobre malware no banco de dados do OpenCTI.

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

search_indicators

Pesquisa indicadores de comprometimento.

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

search_threat_actors

Pesquisa informações sobre atores de ameaças.

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

Gerenciamento de Usuários

get_user_by_id

Recupera informações do usuário por ID.

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

list_users

Lista todos os usuários do sistema.

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

list_groups

Lista todos os grupos com seus membros.

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

Objetos STIX

list_attack_patterns

Lista todos os padrões de ataque do sistema.

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

get_campaign_by_name

Recupera informações de campanha por nome.

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

Gerenciamento do Sistema

list_connectors

Lista todos os conectores do sistema.

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

list_status_templates

Lista todos os modelos de status.

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

Operações de Arquivo

get_file_by_id

Recupera informações do arquivo por ID.

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

list_files

Lista todos os arquivos do sistema.

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

Dados de Referência

list_marking_definitions

Lista todas as definições de marcação.

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

list_labels

Lista todos os rótulos disponíveis.

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

Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para enviar pull requests.

Licença

Licença MIT