Skip to content

Conversation

@guptapratykshh
Copy link

@guptapratykshh guptapratykshh commented Oct 28, 2025

Description

Implements Tool Node support for Firecrawl in n8n, enabling seamless integration with n8n's AI Agent system.

Added tools property to Firecrawl node for AI Agent integration, created 5 comprehensive tool definitions (scrape_url, extract_data, search_website, crawl_website, map_website) , updated documentation with Tool Node Support section and bumped version to 1.0.7

Fixes - /claim firecrawl/firecrawl#2340

@ftonato
Copy link
Contributor

ftonato commented Oct 28, 2025

Hello @guptapratykshh,

Thanks for submitting your PR. I’m reviewing it, but I’m facing a strange issue. When I try to select the “Firecrawl” tool to connect it to my AI Agent, it simply doesn’t appear.

I also noticed that some “methods” were defined, they seem to be the main ones, which is fine, but the tool itself shouldn’t ask the user which “method” they want to use. It should be smart enough to determine the appropriate one based on the previous steps and then set the parameters automatically, as shown in this video: https://youtu.be/DrFKn9BiWCE?si=RSHuaCvYNgT9oMzs&t=299

Do you mind explaining how you tested it? I’m running my environment with Docker, check the file below:

docker-compose.yml

services:
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n-clean
    ports:
      - "5678:5678"
    restart: unless-stopped
    environment:
      - GENERIC_TIMEZONE=Europe/Lisbon
      - N8N_LOG_LEVEL=info
      - N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
      # ----- 🔥 ---------- 🔥 ---------- 🔥 ---------- 🔥 ---------- 🔥 ---------- 🔥 -----
      # The folder where I have this project built, based on your branch
      - N8N_CUSTOM_EXTENSIONS=/Users/ftonato/work/integrations/n8n-nodes-firecrawl
    volumes:
      - n8n_data:/home/node/.n8n   # brand-new, isolated from your host
      - /Users/ftonato/work/n8n-nodes-firecrawl:/home/node/custom:ro
volumes:
  n8n_data:
image

@guptapratykshh
Copy link
Author

Hi @ftonato,

I've spent considerable time investigating this issue and testing multiple implementation approaches. I need to share some important findings with you.

The Challenge:
After extensive testing, I've discovered that community nodes cannot appear in n8n's AI Agent "Tools" search panel, regardless of how they're implemented. I tested several approaches:

  1. Adding usableAsTool: true property with tool definitions
  2. Creating separate dedicated tool nodes with declarative routing
  3. Attempting langchain-compatible tool implementations

In all cases, the tools don't appear in the AI Agent search. The "Tools" panel appears to be hardcoded to only display tools from the official @n8n/n8n-nodes-langchain package.

Testing Environment:
I set up a complete Docker environment with:

  • N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
  • Custom n8n image with Firecrawl pre-installed globally
  • Latest n8n version (1.117.3)

The Firecrawl node installs and works perfectly as a regular node, but it never appears in the AI Agent "Tools" search.

The Good News:
Firecrawl already has a working solution for AI Agent integration: the MCP Server (https://docs.firecrawl.dev/mcp-server). This works with n8n's MCP Trigger node and is actually the recommended approach for AI Agent workflows.

My Questions:

  1. Is the goal to make Firecrawl appear in the "Tools" search specifically, or just to enable AI Agent integration (which MCP already provides)?
  2. Would this require getting Firecrawl added to n8n's official langchain package instead of as a community node?
Screenshot 2025-10-30 at 12 22 36 AM

@ftonato
Copy link
Contributor

ftonato commented Oct 30, 2025

Hello @guptapratykshh,

Thanks for the reply! Ideally, our main goal was to have the n8n node enabled for AI Agent integration. I know we already have our MCP server, but using that means we don’t have control over how the integration behaves inside the n8n dashboard. That’s why we decided to have the tools themselves.

Would this require getting Firecrawl added to n8n’s official LangChain package instead of keeping it as a community node? I don’t think that’s necessary, to be fair.

To make things simpler, could you please instruct us on how to test what was done in this PR? I’m not able to see the difference between what we had before and what this PR introduces. How exactly do you use it, and what’s different compared to the previous setup?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants