Files
n8n-mcp/CHANGELOG.md
Romuald Członkowski ce2c94c1a5 fix: recognize dynamic AI Tool nodes in validator (Issue #522) (#526)
When n8n connects any node to an AI Agent's tool slot, it creates a
dynamic Tool variant at runtime (e.g., googleDrive → googleDriveTool).
These don't exist in npm packages, causing false "unknown node type"
errors.

Added validation-time inference: when a *Tool node type is not found,
check if the base node exists. If yes, treat as valid with warning.

Changes:
- workflow-validator.ts: Add INFERRED_TOOL_VARIANT logic
- node-similarity-service.ts: Add 98% confidence for valid Tool variants
- Added 7 unit tests for inferred tool variant functionality

Fixes #522

Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Romuald Członkowski <romualdczlonkowski@MacBook-Pro-Romuald.local>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 18:09:55 +01:00

4.8 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[2.31.9] - 2026-01-07

Fixed

Dynamic AI Tool Nodes Not Recognized by Validator (Issue #522)

Fixed a validator false positive where dynamically-generated AI Tool nodes like googleDriveTool and googleSheetsTool were incorrectly reported as "unknown node type".

Root Cause: n8n creates Tool variants at runtime when ANY node is connected to an AI Agent's tool slot (e.g., googleDrivegoogleDriveTool). These dynamic nodes don't exist in npm packages, so the MCP database couldn't discover them during rebuild.

Solution: Added validation-time inference that checks if the base node exists when a *Tool node type is not found. If the base node exists, the Tool variant is treated as valid with an informative warning.

Changes:

  • workflow-validator.ts: Added inference logic for dynamic Tool variants
  • node-similarity-service.ts: Added high-confidence (98%) suggestion for valid Tool variants
  • Added 7 new unit tests for inferred tool variant functionality

Behavior:

  • googleDriveTool with existing googleDrive → Warning: INFERRED_TOOL_VARIANT
  • googleSheetsTool with existing googleSheets → Warning: INFERRED_TOOL_VARIANT
  • unknownNodeTool without base node → Error: "Unknown node type"
  • supabaseTool (in database) → Uses database record (no inference)

This fix ensures AI Agent workflows with dynamic tools validate correctly without false positives.

[2.31.8] - 2026-01-07

Deprecated

USE_FIXED_HTTP Environment Variable (Issue #524)

The USE_FIXED_HTTP=true environment variable is now deprecated. The fixed HTTP implementation does not support SSE (Server-Sent Events) streaming required by clients like OpenAI Codex.

What changed:

  • SingleSessionHTTPServer is now the default HTTP implementation
  • Removed USE_FIXED_HTTP from Docker, Railway, and documentation examples
  • Added deprecation warnings when USE_FIXED_HTTP=true is detected
  • Renamed npm script to start:http:fixed:deprecated

Migration: Simply unset USE_FIXED_HTTP or remove it from your environment. The SingleSessionHTTPServer supports both JSON-RPC and SSE streaming automatically.

Why this matters:

  • OpenAI Codex and other SSE clients now work correctly
  • The server properly handles Accept: text/event-stream headers
  • Returns correct Content-Type: text/event-stream for SSE requests

The deprecated implementation will be removed in a future major version.

[2.31.7] - 2026-01-06

Changed

  • Updated n8n from 2.1.5 to 2.2.3
  • Updated n8n-core from 2.1.4 to 2.2.2
  • Updated n8n-workflow from 2.1.1 to 2.2.2
  • Updated @n8n/n8n-nodes-langchain from 2.1.4 to 2.2.2
  • Rebuilt node database with 540 nodes (434 from n8n-nodes-base, 106 from @n8n/n8n-nodes-langchain)

[2.31.6] - 2026-01-03

Changed

Dependencies Update

  • Updated n8n from 2.1.4 to 2.1.5
  • Updated n8n-core from 2.1.3 to 2.1.4
  • Updated @n8n/n8n-nodes-langchain from 2.1.3 to 2.1.4
  • Rebuilt node database with 540 nodes (434 from n8n-nodes-base, 106 from @n8n/n8n-nodes-langchain)

[2.31.5] - 2026-01-02

Added

MCP Tool Annotations (PR #512)

Added MCP tool annotations to all 20 tools following the MCP specification. These annotations help AI assistants understand tool behavior and capabilities.

Annotations added:

  • title: Human-readable name for each tool
  • readOnlyHint: True for tools that don't modify state (11 tools)
  • destructiveHint: True for delete operations (3 tools)
  • idempotentHint: True for operations that produce same result when called repeatedly (14 tools)
  • openWorldHint: True for tools accessing external n8n API (13 tools)

Documentation tools (7): All marked readOnlyHint=true, idempotentHint=true

  • tools_documentation, search_nodes, get_node, validate_node, get_template, search_templates, validate_workflow

Management tools (13): All marked openWorldHint=true

  • Read-only: n8n_get_workflow, n8n_list_workflows, n8n_validate_workflow, n8n_health_check
  • Idempotent updates: n8n_update_full_workflow, n8n_update_partial_workflow, n8n_autofix_workflow
  • Destructive: n8n_delete_workflow, n8n_executions (delete action), n8n_workflow_versions (delete/truncate)

[2.31.4] - 2026-01-02

Fixed

Workflow Data Mangled During Serialization: snake_case Conversion (Issue #517)

Fixed a critical bug where workflow mutation data was corrupted during serialization to Supabase, making 98.9% of collected workflow data invalid for n8n API operations.