This workflow corresponds to n8n.io template #5554 — we link there as the canonical source.
This workflow follows the HTTP Request Tool → Mcptrigger recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "gjWBBSi8vTPYPDYJ",
"meta": null,
"name": "hashlookup CIRCL API MCP Server",
"tags": [],
"nodes": [
{
"id": "41d644d4-61e0-4fce-bb6d-2b5bcd5fccc9",
"name": "Setup Instructions",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1380,
-240
],
"parameters": {
"color": 4,
"height": 1060,
"content": "### \u2699\ufe0f 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### \ud83d\udca1 Usage Notes\n\u2022 Parameters are auto-populated by AI using $fromAI() expressions\n\u2022 With 11 API endpoints available as tools\n\u2022 Responses maintain original API structure\n\n\n### \ud83d\udee0\ufe0f Customization\n\u2022 Add data transformation nodes if needed\n\u2022 Implement custom error handling\n\u2022 Add logging or monitoring nodes\n\n\u2022 Modify parameter defaults in any HTTP request node as needed\n\n### \ud83d\udcac 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 Overview",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1120,
-240
],
"parameters": {
"width": 420,
"height": 920,
"content": "## \ud83d\udee0\ufe0f hashlookup CIRCL MCP Server \u2705 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### \ud83d\udd27 How it Works\n\nThis workflow converts the hashlookup CIRCL API into an MCP-compatible interface for AI agents.\n\n\u2022 **MCP Trigger**: Serves as your server endpoint for AI agent requests\n\u2022 **HTTP Request Nodes**: Handle API calls to https://hashlookup.circl.lu\n\u2022 **AI Expressions**: Automatically populate parameters via `$fromAI()` placeholders\n\u2022 **Native Integration**: Returns responses directly to the AI agent\n\n\n### \ud83d\udccb 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
],
"parameters": {
"path": "hashlookup-circl-mcp"
},
"typeVersion": 1
},
{
"id": "9804e5ff-1538-4252-9bc0-a9f6e8b3b81a",
"name": "Sticky Note",
"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": "Bulk Search MD5 Hashes",
"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": "Bulk Search SHA1 Hashes",
"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": "List SHA1 Children",
"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 \u2022 sha1 (required)\n \u2022 count (required)\n \u2022 cursor (required)"
},
"typeVersion": 4.2
},
{
"id": "3e98f6ca-25a4-4f55-9825-2e4593cf5609",
"name": "Get Database Info",
"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": "Lookup MD5 Hash",
"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 \u2022 md5 (required)"
},
"typeVersion": 4.2
},
{
"id": "4f773006-5472-426e-820a-e0d64179664a",
"name": "Lookup SHA1 Hash",
"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 \u2022 sha1 (required)"
},
"typeVersion": 4.2
},
{
"id": "2b865b56-d203-49b8-966f-84e472182b27",
"name": "Lookup SHA256 Hash",
"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 \u2022 sha256 (required)"
},
"typeVersion": 4.2
},
{
"id": "c4ae2946-0b3b-485b-a079-c40a61227cb3",
"name": "List SHA1 Parents",
"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 \u2022 sha1 (required)\n \u2022 count (required)\n \u2022 cursor (required)"
},
"typeVersion": 4.2
},
{
"id": "6ea1a2c3-b897-4725-9cd4-a59d43c953c6",
"name": "Create Search Session",
"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 \u2022 name (required)"
},
"typeVersion": 4.2
},
{
"id": "49e16128-fb61-4165-8568-c753dbf315be",
"name": "Get Session Results",
"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 \u2022 name (required)"
},
"typeVersion": 4.2
},
{
"id": "2d704fae-771c-4d87-837a-6b832b6515a9",
"name": "Get Top Queries",
"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"
}
],
"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": {
"Get Top Queries": {
"ai_tool": [
[
{
"node": "hashlookup CIRCL MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Lookup MD5 Hash": {
"ai_tool": [
[
{
"node": "hashlookup CIRCL MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Lookup SHA1 Hash": {
"ai_tool": [
[
{
"node": "hashlookup CIRCL MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Get Database Info": {
"ai_tool": [
[
{
"node": "hashlookup CIRCL MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"List SHA1 Parents": {
"ai_tool": [
[
{
"node": "hashlookup CIRCL MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"List SHA1 Children": {
"ai_tool": [
[
{
"node": "hashlookup CIRCL MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Lookup SHA256 Hash": {
"ai_tool": [
[
{
"node": "hashlookup CIRCL MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Get Session Results": {
"ai_tool": [
[
{
"node": "hashlookup CIRCL MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Create Search Session": {
"ai_tool": [
[
{
"node": "hashlookup CIRCL MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Bulk Search MD5 Hashes": {
"ai_tool": [
[
{
"node": "hashlookup CIRCL MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Bulk Search SHA1 Hashes": {
"ai_tool": [
[
{
"node": "hashlookup CIRCL MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
}
},
"triggerCount": 0
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Complete MCP server exposing 11 hashlookup CIRCL API operations to AI agents.
Source: https://n8n.io/workflows/5554/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
The AI-Powered Shopify SEO Content Automation is an enterprise-grade workflow that transforms product content creation for e-commerce stores. This sophisticated multi-agent system integrates GPT-4o, C
Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator?
Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator?
Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator?
Awesome N8N Templates. Uses agent, telegramTrigger, mcpClientTool, mcpTrigger. Event-driven trigger; 33 nodes.