hashlookup CIRCL API MCP Server
Este es unSecOps, AI RAGflujo de automatización del dominio deautomatización que contiene 15 nodos.Utiliza principalmente nodos como HttpRequestTool, McpTrigger. Verificación de hashes de archivo para agente de IA usando la API hashlookup CIRCL
- •Pueden requerirse credenciales de autenticación para la API de destino
Nodos utilizados (15)
Categoría
{
"id": "gjWBBSi8vTPYPDYJ",
"meta": null,
"name": "hashlookup CIRCL API MCP Server",
"tags": [],
"nodes": [
{
"id": "41d644d4-61e0-4fce-bb6d-2b5bcd5fccc9",
"name": "Instrucciones de configuración",
"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": "Descripción general del flujo de trabajo",
"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": "Servidor MCP hashlookup CIRCL",
"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": "Nota adhesiva",
"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": "Búsqueda masiva de hashes MD5",
"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": "Búsqueda masiva de hashes SHA1",
"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": "Listar hijos SHA1",
"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": "Obtener información de la base de datos",
"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": "Buscar hash MD5",
"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": "Buscar hash SHA1",
"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": "Buscar hash SHA256",
"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": "Listar padres SHA1",
"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": "Crear sesión de búsqueda",
"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": "Obtener resultados de sesión",
"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": "Obtener consultas principales",
"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
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Intermedio - Operaciones de seguridad, RAG de IA
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
David Ashby
@cfomodzA hacker by nature, programmer by trade ⚒️ I'm looking to collaborate on things that save human labor 📫 How to reach me Github👇 -> Discord
Compartir este flujo de trabajo