How to Search for Specific Node Properties Using `get_node` mode='search_properties' in n8n MCP

Set the mode parameter to search_properties and provide a free-text propertyQuery to filter a node's configuration schema, returning only matching properties up to the configurable maxPropertyResults limit.

The n8n-mcp repository implements a Model Context Protocol (MCP) server that exposes n8n node metadata through structured tools. To efficiently locate specific configuration fields without retrieving entire node schemas, you can search for specific node properties using get_node mode='search_properties', which scans property metadata against your query terms and returns targeted results.

Tool Configuration and Input Schema

The get_node tool is declared in src/mcp/tools.ts with specific input parameters that enable property searching. According to the source code, the tool accepts a mode enum that includes "search_properties" alongside other options like "schema" and "documentation"【/cache/repos/github.com/czlonkowski/n8n-mcp/main/src/mcp/tools.ts#L78-L96】.

When invoking the search mode, you must provide:

  • propertyQuery – A string containing the free-text search terms
  • maxPropertyResults – An optional integer limiting returned matches (defaults to 20)【/cache/repos/github.com/czlonkowski/n8n-mcp/main/src/mcp/tools.ts#L115-L124】

The repository includes a ready-to-use reference example in the comments: get_node("nodes-base.httpRequest", {mode:"search_properties", propertyQuery:"auth"})【/cache/repos/github.com/czlonkowski/n8n-mcp/main/src/mcp/tools.ts#L42-L44】.

How the Property Search Works

When executed, the tool routes the request through src/mcp/handlers-n8n-manager.ts to the underlying node-metadata service. The search algorithm scans the node's configuration schema and returns property objects where the query term appears in any textual metadata field.

Each returned property object includes:

  • name – The property identifier
  • type – The data type (options, string, boolean, etc.)
  • description – Human-readable explanation
  • required – Boolean flag indicating mandatory status

This approach reduces token usage in AI contexts by avoiding full-detail responses while still delivering relevant configuration fields for authentication, headers, pagination, or other specific functionality.

Practical Implementation Examples

Basic Property Search for Authentication Fields

To discover authentication-related configuration in the HTTP Request node, structure your tool call as follows:

{
  "tool": "get_node",
  "input": {
    "nodeType": "nodes-base.httpRequest",
    "mode": "search_properties",
    "propertyQuery": "auth"
  }
}

Result excerpt:

{
  "properties": [
    {
      "name": "authentication",
      "type": "options",
      "description": "Authentication method to use",
      "required": false
    },
    {
      "name": "credentials",
      "type": "string",
      "description": "Reference to stored credentials (OAuth2, API key, …)",
      "required": false
    }
  ],
  "maxResults": 20
}

Limiting Search Results

Use maxPropertyResults to constrain large result sets when you know only a handful of fields match your criteria:

{
  "tool": "get_node",
  "input": {
    "nodeType": "nodes-base.googleSheets",
    "mode": "search_properties",
    "propertyQuery": "range",
    "maxPropertyResults": 5
  }
}

This returns at most five properties mentioning "range", preventing overflow in downstream processing.

Combining Search with Detail Levels

You can enrich property results with additional context by combining search_properties with the detail and includeExamples parameters:

{
  "tool": "get_node",
  "input": {
    "nodeType": "nodes-base.slack",
    "mode": "search_properties",
    "detail": "standard",
    "propertyQuery": "channel",
    "includeExamples": true
  }
}

This returns the standard set of essential fields plus real-world examples, but only for properties matching the "channel" query.

Programmatic Usage with MCP Client

For Node.js applications consuming the MCP endpoint, use the McpClient wrapper to execute searches:

import { McpClient } from '@n8n/mcp-client';

const client = new McpClient({ endpoint: 'http://localhost:5678' });

async function findProperties(node: string, query: string) {
  const response = await client.callTool('get_node', {
    nodeType: node,
    mode: 'search_properties',
    propertyQuery: query,
  });
  console.log(response);
}

findProperties('nodes-base.httpRequest', 'auth');

The client sends the identical JSON payload to the server exposed in src/mcp/server.ts, routing through the handler in src/mcp/handlers-n8n-manager.ts.

Key Implementation Files

Understanding the source structure helps when debugging or extending the search functionality:

  • src/mcp/tools.ts – Declares the get_node tool interface, including the search_properties mode, propertyQuery field, and maxPropertyResults parameter【/cache/repos/github.com/czlonkowski/n8n-mcp/main/src/mcp/tools.ts#L78-L96】.
  • src/mcp/tool-docs/configuration/get-node.ts – Contains generated documentation consumed by AI agents, mirroring the schema definitions from the tools file.
  • src/mcp/handlers-n8n-manager.ts – Routes incoming get_node requests to the node-metadata service that performs the actual property scanning and filtering.
  • src/mcp/server.ts – Exposes the MCP endpoint where all tool calls, including property searches, are received and processed.

Summary

  • Use mode: "search_properties" with the get_node tool to filter node schemas by specific terms rather than retrieving full configurations.
  • Provide propertyQuery as a free-text string to match against property names, descriptions, and metadata fields.
  • Control result volume with maxPropertyResults (default 20) to optimize token usage and processing time.
  • Enrich results by combining search with detail: "standard" or includeExamples: true for additional context on matched properties.
  • Reference implementation resides in src/mcp/tools.ts with request handling managed by src/mcp/handlers-n8n-manager.ts according to the n8n-mcp source code.

Frequently Asked Questions

What metadata fields does the property search scan?

The search scans all textual metadata associated with each property, including the name, type, description, and required flag fields. Any property containing the query term in these attributes is returned in the results array.

How do I prevent oversized responses when many properties match?

Set the maxPropertyResults parameter to an integer value (e.g., 5 or 10) to hard-limit the returned array length. If omitted, the tool defaults to a maximum of 20 results as defined in src/mcp/tools.ts.

Can I use search_properties alongside other detail modes?

Yes. The search_properties mode functions independently from the detail parameter, allowing you to specify "minimal", "standard", or "full" detail levels for the matching properties. You can also set includeExamples: true to append real-world usage examples to the filtered results.

Where is the get_node tool schema defined in the repository?

The complete input schema, including the search_properties mode definition and all parameter validations, is declared in src/mcp/tools.ts between lines 78-96 and 115-124【/cache/repos/github.com/czlonkowski/n8n-mcp/main/src/mcp/tools.ts#L78-L96】【/cache/repos/github.com/czlonkowski/n8n-mcp/main/src/mcp/tools.ts#L115-L124】.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →