hashlookup CIRCL API MCP-Server

Fortgeschritten

Dies ist ein SecOps, AI RAG-Bereich Automatisierungsworkflow mit 15 Nodes. Hauptsächlich werden HttpRequestTool, McpTrigger und andere Nodes verwendet. Verwende hashlookup CIRCL API für die Datei-Hash-Validierung eines KI-Agenten

Voraussetzungen
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "gjWBBSi8vTPYPDYJ",
  "meta": null,
  "name": "hashlookup CIRCL API MCP Server",
  "tags": [],
  "nodes": [
    {
      "id": "41d644d4-61e0-4fce-bb6d-2b5bcd5fccc9",
      "name": "Setzenup-Anleitung",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1380,
        -240
      ],
      "parameters": {
        "color": 4,
        "height": 1060,
        "content": "### ⚙️ Setup Instructions\n\n1. **Import Workflow**: \nLoad this workflow into your n8n instance\n\n2. **Authentication**: \nNo authentication required\n\n3. **Activate Workflow**:\nEnable the workflow to start the MCP server\n\n4. **Get MCP URL**: \nCopy the webhook URL from the MCP trigger\n\n5. **Connect AI Agent**:\nUse the MCP URL in your AI agent configuration\n\n\n### 💡 Usage Notes\n• Parameters are auto-populated by AI using $fromAI() expressions\n• With 11 API endpoints available as tools\n• Responses maintain original API structure\n\n\n### 🛠️ Customization\n• Add data transformation nodes if needed\n• Implement custom error handling\n• Add logging or monitoring nodes\n\n• Modify parameter defaults in any HTTP request node as needed\n\n### 💬 Need Help?\nPing me on [discord](https://discord.me/cfomodz) for integration guidance and custom automations. Check the [n8n documentation](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp/) for more information."
      },
      "typeVersion": 1
    },
    {
      "id": "467248d4-c590-475b-afb5-8612ce3900ca",
      "name": "Workflow-Überblick",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1120,
        -240
      ],
      "parameters": {
        "width": 420,
        "height": 920,
        "content": "## 🛠️ hashlookup CIRCL MCP Server ✅ 11 operations\n\n### About\nThe CIRCL Hash Lookup API lets developers query known file hashes via a RESTful HTTP interface, with OpenAPI documentation available. It supports online queries and offers an offline Bloom filter option for local file checks. Sample queries and usage details are provided in the project documentation.\n\n### 🔧 How it Works\n\nThis workflow converts the hashlookup CIRCL API into an MCP-compatible interface for AI agents.\n\n• **MCP Trigger**: Serves as your server endpoint for AI agent requests\n• **HTTP Request Nodes**: Handle API calls to https://hashlookup.circl.lu\n• **AI Expressions**: Automatically populate parameters via `$fromAI()` placeholders\n• **Native Integration**: Returns responses directly to the AI agent\n\n\n### 📋 Available Operations (11 endpoints)\n\n**Default (11 operations)**\nBulk Search MD5 Hashes, Bulk Search SHA1 Hashes, List SHA1 Children, Get Database Info, Lookup MD5 Hash, Lookup SHA1 Hash, Lookup SHA256 Hash, List SHA1 Parents, Create Search Session, Get Session Results, Get Top Queries\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "a0aac3d5-272c-47e5-9eb6-81ed203ed016",
      "name": "hashlookup CIRCL MCP-Server",
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "position": [
        -620,
        -240
      ],
      "webhookId": "7780fda3-6fb2-4d70-a156-9b8b087bd08c",
      "parameters": {
        "path": "hashlookup-circl-mcp"
      },
      "typeVersion": 1
    },
    {
      "id": "9804e5ff-1538-4252-9bc0-a9f6e8b3b81a",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -660,
        -100
      ],
      "parameters": {
        "color": 2,
        "width": 1220,
        "height": 440,
        "content": "## Default"
      },
      "typeVersion": 1
    },
    {
      "id": "08561b6b-7d05-4514-b8c8-d689bc728ac8",
      "name": "MD5-Hashes-Massensuche",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -520,
        -60
      ],
      "parameters": {
        "url": "=https://hashlookup.circl.lu/bulk/md5",
        "method": "POST",
        "options": {},
        "toolDescription": "Bulk search of MD5 hashes in a JSON array with the key 'hashes'."
      },
      "typeVersion": 4.2
    },
    {
      "id": "f8df85ff-c265-47f6-b706-9ad7fb194fa4",
      "name": "SHA1-Hashes-Massensuche",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -320,
        -60
      ],
      "parameters": {
        "url": "=https://hashlookup.circl.lu/bulk/sha1",
        "method": "POST",
        "options": {},
        "toolDescription": "Bulk search of SHA1 hashes in a JSON array with the 'hashes'."
      },
      "typeVersion": 4.2
    },
    {
      "id": "dfd4d0c8-b1fa-46aa-b550-0f4cb7bda2d6",
      "name": "SHA1-Kinder auflisten",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -120,
        -60
      ],
      "parameters": {
        "url": "=https://hashlookup.circl.lu/children/{{ $fromAI('sha1', 'Sha1', 'string') }}/{{ $fromAI('count', 'Count', 'number') }}/{{ $fromAI('cursor', 'Cursor', 'string') }}",
        "options": {},
        "toolDescription": "Children from a given SHA1. A number of element to return and an offset must be given. If not set it will be the 100 first elements. A cursor must be given to paginate over. The starting cursor is 0.\n\nParameters:\n- Path parameters:\n  • sha1 (required)\n  • count (required)\n  • cursor (required)"
      },
      "typeVersion": 4.2
    },
    {
      "id": "3e98f6ca-25a4-4f55-9825-2e4593cf5609",
      "name": "Datenbankinfo abrufen",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        80,
        -60
      ],
      "parameters": {
        "url": "=https://hashlookup.circl.lu/info",
        "options": {},
        "toolDescription": "Info about the hashlookup database"
      },
      "typeVersion": 4.2
    },
    {
      "id": "5150eb48-6353-46a8-9428-e1aa2522c64e",
      "name": "MD5-Hash nachschlagen",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        280,
        -60
      ],
      "parameters": {
        "url": "=https://hashlookup.circl.lu/lookup/md5/{{ $fromAI('md5', 'Md5', 'string') }}",
        "options": {},
        "toolDescription": "Lookup MD5.\n\nParameters:\n- Path parameters:\n  • md5 (required)"
      },
      "typeVersion": 4.2
    },
    {
      "id": "4f773006-5472-426e-820a-e0d64179664a",
      "name": "SHA1-Hash nachschlagen",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -600,
        160
      ],
      "parameters": {
        "url": "=https://hashlookup.circl.lu/lookup/sha1/{{ $fromAI('sha1', 'Sha1', 'string') }}",
        "options": {},
        "toolDescription": "Lookup SHA-1.\n\nParameters:\n- Path parameters:\n  • sha1 (required)"
      },
      "typeVersion": 4.2
    },
    {
      "id": "2b865b56-d203-49b8-966f-84e472182b27",
      "name": "SHA256-Hash nachschlagen",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -400,
        160
      ],
      "parameters": {
        "url": "=https://hashlookup.circl.lu/lookup/sha256/{{ $fromAI('sha256', 'Sha256', 'string') }}",
        "options": {},
        "toolDescription": "Lookup SHA-256.\n\nParameters:\n- Path parameters:\n  • sha256 (required)"
      },
      "typeVersion": 4.2
    },
    {
      "id": "c4ae2946-0b3b-485b-a079-c40a61227cb3",
      "name": "SHA1-Eltern auflisten",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -200,
        160
      ],
      "parameters": {
        "url": "=https://hashlookup.circl.lu/parents/{{ $fromAI('sha1', 'Sha1', 'string') }}/{{ $fromAI('count', 'Count', 'number') }}/{{ $fromAI('cursor', 'Cursor', 'string') }}",
        "options": {},
        "toolDescription": "Parents from a given SHA1. A number of element to return and an offset must be given. If not set it will be the 100 first elements. A cursor must be given to paginate over. The starting cursor is 0.\n\nParameters:\n- Path parameters:\n  • sha1 (required)\n  • count (required)\n  • cursor (required)"
      },
      "typeVersion": 4.2
    },
    {
      "id": "6ea1a2c3-b897-4725-9cd4-a59d43c953c6",
      "name": "Suchsession erstellen",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        0,
        160
      ],
      "parameters": {
        "url": "=https://hashlookup.circl.lu/session/create/{{ $fromAI('name', 'Name', 'string') }}",
        "options": {},
        "toolDescription": "Create a session key to keep search context. The session is attached to a name. After the session is created, the header `hashlookup_session` can be set to the session name.\n\nParameters:\n- Path parameters:\n  • name (required)"
      },
      "typeVersion": 4.2
    },
    {
      "id": "49e16128-fb61-4165-8568-c753dbf315be",
      "name": "Sessionsergebnisse abrufen",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        200,
        160
      ],
      "parameters": {
        "url": "=https://hashlookup.circl.lu/session/get/{{ $fromAI('name', 'Name', 'string') }}",
        "options": {},
        "toolDescription": "Set of matching and non-matching hashes from a session.\n\nParameters:\n- Path parameters:\n  • name (required)"
      },
      "typeVersion": 4.2
    },
    {
      "id": "2d704fae-771c-4d87-837a-6b832b6515a9",
      "name": "Top-Abfragen abrufen",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        400,
        160
      ],
      "parameters": {
        "url": "=https://hashlookup.circl.lu/stats/top",
        "options": {},
        "toolDescription": "Top 100 of most queried values."
      },
      "typeVersion": 4.2
    }
  ],
  "active": false,
  "shared": [
    {
      "role": "workflow:owner",
      "project": {
        "id": "G5fce9xGuBAsWBXe",
        "icon": null,
        "name": "David Ashby <david.ashby.lds@gmail.com>",
        "type": "personal",
        "createdAt": "2025-06-04T02:55:02.013Z",
        "updatedAt": "2025-06-04T02:56:01.361Z",
        "projectRelations": [
          {
            "role": "project:personalOwner",
            "user": {
              "id": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
              "role": "global:owner",
              "email": "david.ashby.lds@gmail.com",
              "disabled": false,
              "lastName": "Ashby",
              "settings": {
                "npsSurvey": {
                  "responded": true,
                  "lastShownAt": 1749357655581
                },
                "userActivated": true,
                "userActivatedAt": 1749075994495,
                "easyAIWorkflowOnboarded": true,
                "firstSuccessfulWorkflowId": "3N3vVikZb3MckFYm"
              },
              "createdAt": "2025-06-04T02:55:01.745Z",
              "firstName": "David",
              "isPending": false,
              "updatedAt": "2025-06-08T04:40:58.399Z",
              "mfaEnabled": false,
              "personalizationAnswers": {
                "version": "v4",
                "personalization_survey_n8n_version": "1.95.3",
                "personalization_survey_submitted_at": "2025-06-04T02:56:07.075Z"
              }
            },
            "userId": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
            "createdAt": "2025-06-04T02:55:02.013Z",
            "projectId": "G5fce9xGuBAsWBXe",
            "updatedAt": "2025-06-04T02:55:02.013Z"
          }
        ]
      },
      "createdAt": "2025-07-02T00:02:38.090Z",
      "projectId": "G5fce9xGuBAsWBXe",
      "updatedAt": "2025-07-02T00:02:38.090Z",
      "workflowId": "gjWBBSi8vTPYPDYJ"
    }
  ],
  "pinData": {},
  "settings": {
    "timezone": "America/New_York"
  },
  "createdAt": "2025-07-02T00:02:38.089Z",
  "updatedAt": "2025-07-02T00:04:58.000Z",
  "versionId": "cc390f89-a640-4365-bda7-38fa0daef2cb",
  "isArchived": false,
  "staticData": null,
  "connections": {
    "2d704fae-771c-4d87-837a-6b832b6515a9": {
      "ai_tool": [
        [
          {
            "node": "a0aac3d5-272c-47e5-9eb6-81ed203ed016",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "5150eb48-6353-46a8-9428-e1aa2522c64e": {
      "ai_tool": [
        [
          {
            "node": "a0aac3d5-272c-47e5-9eb6-81ed203ed016",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "4f773006-5472-426e-820a-e0d64179664a": {
      "ai_tool": [
        [
          {
            "node": "a0aac3d5-272c-47e5-9eb6-81ed203ed016",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "3e98f6ca-25a4-4f55-9825-2e4593cf5609": {
      "ai_tool": [
        [
          {
            "node": "a0aac3d5-272c-47e5-9eb6-81ed203ed016",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "c4ae2946-0b3b-485b-a079-c40a61227cb3": {
      "ai_tool": [
        [
          {
            "node": "a0aac3d5-272c-47e5-9eb6-81ed203ed016",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "dfd4d0c8-b1fa-46aa-b550-0f4cb7bda2d6": {
      "ai_tool": [
        [
          {
            "node": "a0aac3d5-272c-47e5-9eb6-81ed203ed016",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "2b865b56-d203-49b8-966f-84e472182b27": {
      "ai_tool": [
        [
          {
            "node": "a0aac3d5-272c-47e5-9eb6-81ed203ed016",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "49e16128-fb61-4165-8568-c753dbf315be": {
      "ai_tool": [
        [
          {
            "node": "a0aac3d5-272c-47e5-9eb6-81ed203ed016",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "6ea1a2c3-b897-4725-9cd4-a59d43c953c6": {
      "ai_tool": [
        [
          {
            "node": "a0aac3d5-272c-47e5-9eb6-81ed203ed016",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "08561b6b-7d05-4514-b8c8-d689bc728ac8": {
      "ai_tool": [
        [
          {
            "node": "a0aac3d5-272c-47e5-9eb6-81ed203ed016",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "f8df85ff-c265-47f6-b706-9ad7fb194fa4": {
      "ai_tool": [
        [
          {
            "node": "a0aac3d5-272c-47e5-9eb6-81ed203ed016",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "triggerCount": 0
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Fortgeschritten - Sicherheitsbetrieb, KI RAG

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes15
Kategorie2
Node-Typen3
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Autor
David Ashby

David Ashby

@cfomodz

A hacker by nature, programmer by trade ⚒️ I'm looking to collaborate on things that save human labor 📫 How to reach me Github👇 -> Discord

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34