Discovery Tools

Find nodes and templates across the n8n ecosystem. Search 500+ nodes and 2,700+ templates with full-text and semantic search capabilities.

search_nodes

Full-text search across all 500+ n8n nodes. Returns most relevant nodes first, with frequently-used nodes (HTTP Request, Webhook, Set, Code, Slack) prioritized in results.

No Setup Required
ParameterTypeDescription
query*stringSearch keywords. Use quotes for exact phrases like "google sheets"
limitnumberMaximum results to return (max: 100)
modestringSearch mode
ORANDFUZZY
includeExamplesbooleanInclude real-world configuration examples from templates

Basic keyword search

javascript
search_nodes({query: "webhook"})

Returns Webhook node as top result

Search with all words required

javascript
search_nodes({query: "google sheets", mode: "AND"})

Only returns nodes matching both words

Handle typos with fuzzy search

javascript
search_nodes({query: "slak", mode: "FUZZY"})

Returns Slack despite the typo

Search with examples

javascript
search_nodes({query: "http api", includeExamples: true})

Returns HTTP Request, GraphQL, REST nodes with real-world configs

Use Cases
  • Finding nodes when you know partial names
  • Discovering nodes by functionality (e.g., "email", "database", "transform")
  • Handling user typos in node names
  • Finding all nodes related to a service (e.g., "google", "aws", "microsoft")
Best Practices
  • Start with single keywords for broadest results
  • Use FUZZY mode when users might misspell node names
  • AND mode works best for 2-3 word searches
  • Combine with get_node after finding the right node
Common Pitfalls
  • AND mode searches all fields (name, description) not just node names
  • FUZZY mode with very short queries (1-2 chars) may return unexpected results
  • Exact matches in quotes are case-sensitive

search_templates

Unified template search with multiple modes across 2,700+ templates. Search by keyword, node types, task type, or metadata.

No Setup Required
ParameterTypeDescription
searchModestringSearch mode
keywordby_nodesby_taskby_metadata
querystringFor keyword mode: search keywords
nodeTypesarrayFor by_nodes mode: array of node types
taskstringFor by_task mode: task type
ai_automationdata_syncwebhook_processingemail_automationslack_integrationdata_transformationfile_processingschedulingapi_integrationdatabase_operations
complexitystringFor by_metadata: workflow complexity
simplemediumcomplex
maxSetupMinutesnumberFor by_metadata: maximum setup time (5-480)
requiredServicestringFor by_metadata: e.g., "openai", "slack"
targetAudiencestringFor by_metadata: e.g., "developers", "marketers"
limitnumberMaximum results (max: 100)
offsetnumberPagination offset

Keyword search (default)

javascript
search_templates({query: "chatbot"})

Find templates using specific nodes

javascript
search_templates({
  searchMode: "by_nodes",
  nodeTypes: ["n8n-nodes-base.httpRequest", "n8n-nodes-base.slack"]
})

Get templates for a task type

javascript
search_templates({searchMode: "by_task", task: "webhook_processing"})

Filter by metadata

javascript
search_templates({
  searchMode: "by_metadata",
  complexity: "simple",
  requiredService: "openai"
})
Use Cases
  • Find workflows by business purpose (keyword search)
  • Find templates using specific integrations (by_nodes)
  • Get pre-built solutions for common tasks (by_task)
  • Filter by complexity for team skill level (by_metadata)
  • Find templates requiring specific services (by_metadata)
Best Practices
  • Use searchMode="by_task" for common automation patterns
  • Use searchMode="by_nodes" when you know which integrations you need
  • Use searchMode="keyword" for general discovery
  • Use get_template(id) to get the full workflow JSON