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

> Learn to search specific node properties with n8n MCPs get_node search_properties mode. Filter by propertyQuery and maxPropertyResults for precise node configuration.

- Repository: [Romuald Członkowski/n8n-mcp](https://github.com/czlonkowski/n8n-mcp)
- Tags: how-to-guide
- Published: 2026-03-24

---

**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`](https://github.com/czlonkowski/n8n-mcp/blob/main/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`](https://github.com/czlonkowski/n8n-mcp/blob/main/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:

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

```

**Result excerpt:**

```json
{
  "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:

```json
{
  "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:

```json
{
  "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:

```typescript
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`](https://github.com/czlonkowski/n8n-mcp/blob/main/src/mcp/server.ts), routing through the handler in [`src/mcp/handlers-n8n-manager.ts`](https://github.com/czlonkowski/n8n-mcp/blob/main/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`](https://github.com/czlonkowski/n8n-mcp/blob/main/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`](https://github.com/czlonkowski/n8n-mcp/blob/main/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`](https://github.com/czlonkowski/n8n-mcp/blob/main/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`](https://github.com/czlonkowski/n8n-mcp/blob/main/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`](https://github.com/czlonkowski/n8n-mcp/blob/main/src/mcp/tools.ts) with request handling managed by [`src/mcp/handlers-n8n-manager.ts`](https://github.com/czlonkowski/n8n-mcp/blob/main/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`](https://github.com/czlonkowski/n8n-mcp/blob/main/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`](https://github.com/czlonkowski/n8n-mcp/blob/main/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】.