n8n MCP Server
Provides structured access to n8n nodes, properties, operations, and templates, enabling AI agents to search, validate, and manage n8n workflows.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@n8n MCP Serverfind a node for sending Slack messages"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
n8n-MCP (Fork de Producción)
Servidor MCP (Model Context Protocol) para n8n — fork de czlonkowski/n8n-mcp con modificaciones para despliegue en producción sobre Contabo VPS.
Este servidor actúa como puente entre n8n y asistentes de IA (Claude, Hermes Agent, etc.), proporcionando acceso estructurado a la documentación de nodos, propiedades, operaciones y plantillas de n8n.
📋 Tabla de Contenidos
Related MCP server: n8n-MCP
Características
🔌 Servidor MCP completo — expone herramientas para buscar, validar y gestionar workflows de n8n
📚 Documentación de nodos — acceso a 1,845+ nodos (816 core + 1,029 community)
🐳 Dockerizado — despliegue con un solo comando usando Docker Compose
🔐 Autenticación por token — protegido con AUTH_TOKEN
🌐 Modo HTTP — compatible con cualquier cliente MCP que soporte SSE (Server-Sent Events)
🏗️ Multi-tenant opcional — soporte para múltiples instancias n8n
📊 Telemetría anónima desactivada por defecto en este fork
Requisitos
Docker y Docker Compose instalados
Una instancia de n8n corriendo (local o remota)
(Opcional) API Key de n8n para herramientas de gestión de workflows
Despliegue con Docker Compose
1. Clonar el repositorio
git clone <url-de-este-repo> n8n-mcp
cd n8n-mcp2. Configurar variables de entorno
Copia el archivo de ejemplo y edita las variables:
cp .env.example .envEdita .env con tus valores reales. Las variables mínimas requeridas son:
AUTH_TOKEN=*** 3. Construir y levantar
```bash
docker compose up -d --buildEl servidor estará disponible en http://localhost:3001 (mapeado a 127.0.0.1:3001 por seguridad).
4. Verificar el despliegue
curl http://localhost:3001/health
# Respuesta esperada: {"status":"ok"}Red Docker
El servicio se conecta a la red baota_net (externa), que debe existir previamente. Esta es la misma red donde corre n8n, permitiendo comunicación interna via http://n8n:5678.
Si tu configuración de red es diferente, edita la sección networks en docker-compose.yml.
Variables de Entorno
Configuración General
Variable | Descripción | Valor por Defecto |
| Modo del servidor ( |
|
| Puerto HTTP |
|
| Host de escucha |
|
| Entorno ( |
|
| Nivel de logging |
|
| Ruta a la base de datos SQLite |
|
| Reconstruir BD al iniciar |
|
Autenticación y Seguridad
Variable | Descripción | Requerido |
| Token de autenticación para HTTP | Sí |
| URL pública del servidor | No |
| Modo de protección SSRF ( |
|
| Confiar en proxy inverso (0 o 1) |
|
Conexión a n8n
Variable | Descripción | Requerido |
| URL de la instancia n8n (sin | Sí |
| API Key de n8n | Sí |
| Timeout de requests (ms) |
|
| Reintentos máximos |
|
Telemetría
Variable | Descripción | Valor por Defecto |
| Desactivar telemetría |
|
Multi-Tenant (Opcional)
Variable | Descripción | Valor por Defecto |
| Activar modo multi-tenant |
|
| Estrategia de sesiones ( |
|
Conexión a la Instancia n8n
1. Obtener API Key de n8n
Ve a tu instancia n8n → Settings → API
Crea una nueva API Key
Copia la key generada
2. Configurar en .env
N8N_API_URL=http://n8n:5678
N8N_API_KEY=*** **Nota:** Si n8n corre en el mismo Docker network (`baota_net`), usa el nombre del contenedor (`n8n`) como hostname. Si está en otro servidor, usa la URL completa.
### 3. Verificar conectividad
```bash
curl -H "Authorization: Bearer *** http://localhost:3001/healthConexión a Hermes Agent Gateway
Para conectar este servidor MCP a Hermes Agent (by Nous Research):
1. Asegurar que el servidor está corriendo
docker compose ps
# n8n-mcp debe estar "Up"2. Configurar en Hermes Agent
En la configuración de Hermes Agent, agrega un nuevo servidor MCP:
{
"mcpServers": {
"n8n-mcp": {
"type": "http",
"url": "https://tu-dominio.com/mcp",
"headers": {
"Authorization": "Bearer <AUTH_TOKEN>"
}
}
}
}O si estás en la misma red local:
{
"mcpServers": {
"n8n-mcp": {
"type": "http",
"url": "http://localhost:3001/mcp",
"headers": {
"Authorization": "Bearer <AUTH_TOKEN>"
}
}
}
}3. Verificar la conexión
Hermes Agent debería detectar automáticamente las herramientas disponibles. Puedes verificar preguntando:
"¿Qué herramientas de n8n tienes disponibles?"
Actualizar desde Upstream
Este repositorio es un fork de czlonkowski/n8n-mcp. Para actualizar con los últimos cambios:
1. Agregar el remote upstream (solo la primera vez)
git remote add upstream https://github.com/czlonkowski/n8n-mcp.git2. Fetch y merge
git fetch upstream
git checkout main
git merge upstream/main3. Resolver conflictos
Si hay conflictos (especialmente en docker-compose.yml, .env.example, o .gitignore), resuélvelos manualmente preservando las configuraciones locales de producción.
4. Reconstruir y desplegar
docker compose down
docker compose up -d --build5. Verificar
docker compose logs -f n8n-mcp
curl http://localhost:3001/healthEstructura del Proyecto
n8n-mcp/
├── src/
│ ├── mcp/ # Servidor MCP y herramientas
│ ├── services/ # Validación, templates, ejemplos
│ ├── database/ # Capa de acceso a datos (SQLite)
│ ├── telemetry/ # Sistema de telemetría (desactivado)
│ └── utils/ # Utilidades
├── data/
│ ├── skills/ # Documentación de habilidades para IA
│ └── nodes.db # Base de datos de nodos (generada)
├── scripts/ # Scripts de utilidad y testing
├── tests/ # Tests unitarios e integración
├── docker/ # Archivos de configuración Docker
├── docker-compose.yml # Configuración de despliegue
├── Dockerfile # Build multi-etapa optimizado
├── .env.example # Plantilla de variables de entorno
└── package.json # Dependencias y scriptsSeguridad
Buenas prácticas
NUNCA subas el archivo
.enval repositorio — está en.gitignoreUsa
AUTH_TOKENfuerte (generar con:openssl rand -base64 32)El puerto está mapeado a
127.0.0.1:3001— solo accesible localmenteUsa un proxy inverso (Nginx/Traefik) con HTTPS para exponerlo públicamente
La telemetría está desactivada por defecto (
N8N_MCP_TELEMETRY_DISABLED=true)El modo SSRF está en
permissivepara comunicación interna — ajustar según necesidades
Verificación de secretos
Este repositorio ha sido auditado para garantizar que no contiene:
API keys reales
Tokens JWT completos
Credenciales de Supabase
Contraseñas o secrets de producción
Todos los valores en archivos de test son placeholders truncados (ej: eyJhbG...nkCk, test123...890).
Licencia
MIT — ver archivo LICENSE.
Basado en czlonkowski/n8n-mcp por Romuald Czlonkowski.
Available Tools
26 toolsget_nodeBRead-onlyIdempotent
Get node info with progressive detail levels and multiple modes. Detail: minimal (~200 tokens), standard (~1-2K, default), full (~3-8K). Modes: info (default), docs (markdown documentation), search_properties (find properties), versions/compare/breaking/migrations (version info). Use format='docs' for readable documentation, mode='search_properties' with propertyQuery for finding specific fields.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Operation mode. info=node schema, docs=readable markdown documentation, search_properties=find specific properties, versions/compare/breaking/migrations=version info | info |
| detail | No | Information detail level. standard=essential properties (recommended), full=everything | standard |
| nodeType | Yes | Full node type: "nodes-base.httpRequest" or "nodes-langchain.agent" | |
| toVersion | No | Target version for compare mode (e.g., "2.0"). Defaults to latest if omitted. | |
| fromVersion | No | Source version for compare/breaking/migrations modes (e.g., "1.0") | |
| propertyQuery | No | For mode=search_properties: search term to find properties (e.g., "auth", "header", "body") | |
| includeExamples | No | Include real-world configuration examples from templates. Only applies to mode=info with detail=standard. Adds ~200-400 tokens per example. | |
| includeTypeInfo | No | Include type structure metadata (type category, JS type, validation rules). Only applies to mode=info. Adds ~80-120 tokens per property. | |
| maxPropertyResults | No | For mode=search_properties: max results (default 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond the annotations (readOnlyHint, idempotentHint) by disclosing token estimates for each detail level (minimal ~200 tokens, standard ~1-2K, full ~3-8K) and stating that modes return different content (e.g., docs = markdown documentation). No contradiction with annotations is present, and the extra context helps an agent anticipate response size and content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, front-loading the main purpose and then listing details. Every sentence contributes useful information. The minor error ('format' vs 'mode') detracts slightly but the structure is efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, multiple modes), the description covers the main modes and detail levels but omits explanations of version-related modes (versions, compare, breaking, migrations) and parameters like includeExamples, includeTypeInfo, maxPropertyResults, toVersion, fromVersion. The schema covers these, but the description could provide more high-level guidance for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and includes detailed parameter descriptions. The description adds token counts for detail levels and groups modes concisely, but also repeats information already in the schema. The confusing 'format' reference slightly reduces clarity. Overall, the description provides marginal extra value over the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets node info with progressive detail levels and multiple modes, making the purpose well-defined. However, it introduces an inconsistency by saying 'Use format='docs'' when the parameter is actually named 'mode', which could confuse an agent. Still, the overall purpose is distinct from siblings like search_nodes or tools_documentation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description fails to provide explicit guidance on when to use this tool versus sibling tools (e.g., tools_documentation, search_nodes). It does not mention when-not to use it or suggest alternatives. The information on modes and detail levels helps with intra-tool choices but not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_templateARead-onlyIdempotent
Get template by ID. Use mode to control response size: nodes_only (minimal), structure (nodes+connections), full (complete workflow).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Response detail level. nodes_only: just node list, structure: nodes+connections, full: complete workflow JSON. | full |
| templateId | Yes | The template ID to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond the annotations by explaining the mode parameter's effect on response size, which the annotations (readOnlyHint and idempotentHint) do not cover. It does not contradict the annotations; rather, it complements them. The behavior of controlling output detail is clearly described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two short sentences that front-load the purpose and then explain the mode parameter. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema, no nested objects), the description is sufficiently complete. It covers the core retrieval purpose and the key parameter. However, it could optionally mention that the output is a workflow template JSON, but since mode 'full' implies 'complete workflow', it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds minimal extra meaning beyond the schema—it only summarizes the mode options briefly ('nodes_only (minimal), structure (nodes+connections), full (complete workflow)') but does not provide additional context about templateId beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'template by ID'. It succinctly distinguishes the tool from siblings like search_templates by specifying retrieval via ID, and it also describes the mode parameter that tailors the response size, which is a key differentiator from other retrieval tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit context for when to use this tool (when you have a template ID) and how to adjust the response size using mode. However, it does not explicitly state when not to use it or provide alternatives, though the sibling tool names (e.g., search_templates) imply that this is for direct ID lookup, not searching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_audit_instanceARead-onlyIdempotent
Security audit of n8n instance. Combines n8n's built-in audit API (credentials, database, nodes, instance, filesystem risks) with deep workflow scanning (hardcoded secrets via 50+ regex patterns, unauthenticated webhooks, error handling gaps, data retention risks). Returns actionable markdown report with remediation steps using n8n_manage_credentials and n8n_update_partial_workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| categories | No | Built-in audit categories to check (default: all 5) | |
| customChecks | No | Specific custom checks to run (default: all 4) | |
| includeCustomScan | No | Run deep workflow scanning for secrets, webhooks, error handling (default: true) | |
| daysAbandonedWorkflow | No | Days threshold for abandoned workflow detection (default: 90) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive. Description adds value by explaining it returns a markdown report with remediation steps and combines built-in API with deep scanning, but does not reveal further behavioral traits like rate limits or authorization needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three well-structured sentences: purpose, what it combines, and output format with remediation. No redundant information; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description explains return format (markdown report with remediation steps) and mentions how to use results with sibling tools. Covers all key aspects for an audit tool with comprehensive annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for each parameter. Description reinforces the distinction between built-in categories and custom checks, adding meaning beyond enum values by explaining they correspond to 'built-in audit API' and 'deep workflow scanning' respectively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly specifies it's a security audit tool for n8n instance. Distinguishes from siblings by combining built-in audit API categories with deep workflow scanning, and mentions output as actionable markdown report with remediation steps referencing sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States what the tool does and what it checks, implying use for security auditing. References sibling tools for remediation but lacks explicit when-to-use vs alternatives or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_autofix_workflowAIdempotent
Automatically fix common workflow validation errors. Preview fixes or apply them. Fixes expression format, typeVersion, error output config, webhook paths, connection structure issues (numeric keys, invalid types, ID-to-name, duplicates, out-of-bounds indices).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Workflow ID to fix | |
| fixTypes | No | Types of fixes to apply (default: all) | |
| maxFixes | No | Maximum number of fixes to apply (default: 50) | |
| applyFixes | No | Apply fixes to workflow (default: false - preview mode) | |
| confidenceThreshold | No | Minimum confidence level for fixes (default: medium) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true and destructiveHint=false, consistent with a non-destructive fixer. The description adds that fixes can be previewed or applied, and lists specific issue types. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loading the action and purpose in a single short paragraph. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what the tool does and lists fix types, but does not describe the output format or return value. Given no output schema, this is a gap for agents needing to parse results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description lists fixTypes but does not add significant meaning beyond the enum values. Parameters are adequately described in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool automatically fixes common workflow validation errors, with explicit examples of fix types (expression format, typeVersion, etc.). It distinguishes from sibling tools like validate_workflow by mentioning both preview and apply modes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for fixing validation errors but does not provide explicit when-to-use vs when-not-to-use guidance or compare with alternatives like manual updates via n8n_update_*. No exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_create_workflowA
Create workflow. Requires: name, nodes[], connections{}. Created inactive. Returns workflow with ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Workflow name (required) | |
| nodes | Yes | Array of workflow nodes. Each node must have: id, name, type, typeVersion, position, and parameters | |
| settings | No | Optional workflow settings (execution order, timezone, error handling) | |
| projectId | No | Optional project ID to create the workflow in (enterprise feature) | |
| connections | Yes | Workflow connections object. Keys are source node names (the name field, not id), values define output connections |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds that the workflow is created inactive and returns an ID, beyond the annotations. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, one sentence with a list of requirements. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers core functionality and required parameters but omits optional parameters (settings, projectId) and behavioral details like error handling. Adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the baseline is 3. The description mentions required parameters but does not add significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a workflow, specifying required parameters and that it returns an ID. It distinguishes from siblings like update and delete workflows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (to create a new workflow) but does not explicitly state when not to use or mention alternatives for updating or partial updates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_delete_workflowADestructive
Permanently delete a workflow. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Workflow ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reinforces the destructive hint from annotations by stating 'cannot be undone', but adds no new behavioral details beyond what annotations already provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise with two sentences, no superfluous information, and the key point is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple deletion tool with one parameter and annotations covering destructiveness, the description is adequate; however, it does not specify return value or confirmation behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds no extra meaning to the single parameter (id) beyond its schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (permanently delete) and the resource (workflow), distinguishing it from sibling tools like creation or listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no conditions or prerequisites mentioned, and no indication of when deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_deploy_templateA
Deploy a workflow template from n8n.io directly to your n8n instance. Deploys first, then auto-fixes common issues (expression format, typeVersions). Returns workflow ID, required credentials, and fixes applied.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Custom workflow name (default: template name) | |
| autoFix | No | Auto-apply fixes after deployment for expression format issues, missing = prefix, etc. (default: true) | |
| templateId | Yes | Template ID from n8n.io (required) | |
| stripCredentials | No | Remove credential references from nodes - user configures in n8n UI (default: true) | |
| autoUpgradeVersions | No | Automatically upgrade node typeVersions to latest supported (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate it's not read-only and not destructive. The description adds behavioral details: auto-fixes common issues, returns workflow ID, credentials, and fixes applied. This goes beyond annotations, providing actionable transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with purpose and followed by key details. Every word earns its place, with no unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, no output schema, and no nested objects, the description is fairly complete. It explains the deployment workflow and return values. Could include more about auto-fix triggers, but sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-documented in the schema. The description adds context about the deployment process but does not elaborate on parameter semantics beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool deploys a workflow template from n8n.io to the instance, using a specific verb and resource. It distinguishes from siblings like n8n_create_workflow and n8n_autofix_workflow by its unique purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (deploying from the library) but does not explicitly state when to use this tool versus alternatives like n8n_create_workflow or search_templates. However, the context is clear enough for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_executionsADestructive
Manage workflow executions: get details, list, or delete. Use action='get' with id for execution details, action='list' for listing executions, action='delete' to remove execution record.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Execution ID (required for action=get or action=delete) | |
| mode | No | For action=get: preview=structure only, summary=2 items (default), filtered=custom, full=all data, error=optimized error debugging | |
| limit | No | For action=list: number of executions to return (1-100, default: 100) | |
| action | Yes | Operation: get=get execution details, list=list executions, delete=delete execution | |
| cursor | No | For action=list: pagination cursor from previous response | |
| status | No | For action=list: filter by execution status | |
| nodeNames | No | For action=get with mode=filtered: filter to specific nodes by name | |
| projectId | No | For action=list: filter by project ID (enterprise feature) | |
| itemsLimit | No | For action=get with mode=filtered: items per node (0=structure, 2=default, -1=unlimited) | |
| workflowId | No | For action=list: filter by workflow ID | |
| includeData | No | For action=list: include execution data (default: false) | |
| fetchWorkflow | No | For action=get with mode=error: fetch workflow for accurate upstream detection (default: true) | |
| errorItemsLimit | No | For action=get with mode=error: sample items from upstream node (default: 2, max: 100) | |
| includeInputData | No | For action=get: include input data in addition to output (default: false) | |
| includeStackTrace | No | For action=get with mode=error: include full stack trace (default: false, shows truncated) | |
| includeExecutionPath | No | For action=get with mode=error: include execution path leading to error (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses destructive capability (delete) and provides mode details for get actions. Annotations already indicate destructiveHint=true; description adds context on when data is modified or read. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences efficiently convey purpose and usage pattern. Front-loaded with key information, no extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 16 parameters and no output schema, description provides a high-level guide. Schema supplies detailed conditional logic. Could be more structured by action group, but sufficient for understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds value by linking actions to relevant parameters (e.g., id for get/delete, mode for get), but does not significantly expand on schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it manages workflow executions with three specific actions (get, list, delete). Distinguishes from sibling tools which focus on workflows, nodes, templates, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage pattern: 'Use action=get with id...' etc. Does not explicitly mention alternatives, but sibling tools are sufficiently different, so context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_generate_workflowA
Generate an n8n workflow from a natural language description using AI. Call with just a description to get workflow proposals. Then call again with deploy_id to deploy a chosen proposal, or set skip_cache=true to generate a fresh workflow. Use confirm_deploy=true to deploy a previously generated workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| deploy_id | No | ID of a proposal to deploy. Get proposal IDs from a previous call that returned status "proposals". | |
| skip_cache | No | Set to true to skip proposals and generate a fresh workflow from scratch. Returns a preview — call again with confirm_deploy=true to deploy it. | |
| description | Yes | Clear description of what the workflow should do. Include: trigger type (webhook, schedule, manual), services to integrate (Slack, Gmail, etc.), and the logic/flow. | |
| confirm_deploy | No | Set to true to deploy the workflow from the last generation preview. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the description carries the behavioral disclosure burden. It explains the multi-step generation process, caching (skip_cache), and deployment. Missing details on what happens on repeated calls with the same description, but overall transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, each adding distinct information. It is front-loaded with the primary purpose. The last sentence about confirm_deploy slightly overlaps with earlier guidance, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multi-step, caching, deployment), the description covers the essential flow. It mentions return status 'proposals' but does not detail the return format of proposals or previews. Lacking an output schema, this is a minor gap, but still fairly complete for agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The tool description adds valuable context by explaining the overall workflow and linking parameters (e.g., 'Get proposal IDs from a previous call that returned status proposals'). This goes beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates n8n workflows from natural language using AI. It distinguishes itself from sibling tools like n8n_create_workflow (direct creation) and n8n_deploy_template by emphasizing the AI-driven proposal and deployment workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use the tool: start with a description to get proposals, then use deploy_id, skip_cache, or confirm_deploy for subsequent calls. It does not mention when not to use this tool, but the context is clear enough for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_get_node_configARead-onlyIdempotent
Get a single node's full configuration from a workflow by node name. Returns parameters, type, position, and other metadata without downloading the entire workflow. Use this instead of n8n_get_workflow(mode="full") when you only need one node's config. Use mode='filtered' with nodeNames for fetching multiple specific nodes.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: specific parameter fields to return (e.g., ["parameters.jsCode", "parameters.model"]). If omitted, returns all parameters. | |
| nodeName | Yes | Name of the node to retrieve (e.g., "Integrar Ticket ID Alto") | |
| workflowId | Yes | Workflow ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the description adds value by specifying the returned data (parameters, type, position) and efficiency benefit ('without downloading the entire workflow'). However, it doesn't cover error behavior or prerequisites like workflow existence, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action and output, immediately followed by usage alternatives. Every sentence serves a purpose with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains the return value (parameters, type, position, metadata) and provides usage context. It lacks discussion of edge cases (e.g., node not found) but is adequate for a simple read-only tool with robust annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters, so baseline is 3. The description does not add additional meaning beyond the schema; the mention of 'specific parameter fields to return' merely echoes the fields parameter description. No new semantic value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a single node's full configuration by name, listing returned elements (parameters, type, position, etc.) and explicitly distinguishes it from sibling n8n_get_workflow and mentions the filtered mode for multiple nodes, making its purpose specific and distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: 'Use this instead of n8n_get_workflow(mode="full") when you only need one node's config' and mentions the alternative mode for multiple nodes, giving clear context and exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_get_workflowARead-onlyIdempotent
Get workflow by ID with different detail levels. n8n has a draft/publish model: the workflow body holds the draft (latest edits); use mode='active' to see the published graph that is actually running. Modes: 'full' (draft + metadata), 'details' (full + execution stats), 'active' (published graph only), 'structure' (nodes/connections topology), 'filtered' (full config of only the nodes named in nodeNames - use to read one heavy node without the whole workflow), 'minimal' (id/name/active/tags).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Workflow ID | |
| mode | No | Detail level: full=draft + metadata (activeVersionId pointer kept, heavy activeVersion payload stripped), details=full+execution stats, active=published graph (errors if workflow has no live version), structure=nodes/connections topology, filtered=full config of only the nodes listed in nodeNames, minimal=metadata only | full |
| nodeNames | No | For mode='filtered': node names or node IDs to return with full config. Returns only matching nodes (avoids client-side truncation on large workflows with long Code-node source). Discover names with mode='structure' first. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint. The description adds valuable context: explains the n8n draft/publish model, what each mode returns, and that active mode requires a live version. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph with no wasted sentences. It is well-organized, starting with the core purpose, then explaining the draft/publish model, then listing modes compactly. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple modes, draft/publish model), the description covers key aspects. It explains what each mode returns, though a brief example of the output structure would enhance completeness. No output schema exists, but the description adequately hints at return types.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage, so baseline is 3. The description adds meaning beyond schema: explains the draft/publish model, clarifies that mode='active' returns published graph, and suggests using mode='structure' first to discover node names for mode='filtered'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get workflow by ID with different detail levels.' It specifies the verb (Get), resource (workflow), and the key differentiator (different detail levels). This distinguishes it from sibling tools like get_node or get_template.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit context for each mode (e.g., 'use mode='active' to see the published graph', 'use mode='filtered' to read one heavy node'). It also warns that mode='active' errors if no live version. It could be improved with a more explicit 'use this when... and not when...' but is still clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_health_checkARead-onlyIdempotent
Check n8n instance health and API connectivity. Use mode='diagnostic' for detailed troubleshooting with env vars and tool status.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Mode: "status" (default) for quick health check, "diagnostic" for detailed debug info including env vars and tool status | status |
| verbose | No | Include extra details in diagnostic mode (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint. The description adds behavioral context by specifying the tool checks health and API connectivity, and explains the two modes (status vs diagnostic). It does not contradict annotations and provides useful operational insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose, and every word adds value. No unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the two modes and hints at output (health info, env vars, tool status). However, without an output schema, more explicit detail on return structure would improve completeness. Still, it covers the essential context for a simple health check tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are described in the schema. The description adds a use-case hint ('Use mode='diagnostic' for detailed troubleshooting'), which slightly adds value, but does not significantly extend beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Check n8n instance health and API connectivity', which is a specific verb+resource combination. It clearly distinguishes from sibling tools that focus on workflows, nodes, templates, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises using mode='diagnostic' for detailed troubleshooting, providing clear context on when to use each mode. While it does not explicitly mention alternatives, no other sibling tool serves the health check purpose, so this is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_list_workflowsARead-onlyIdempotent
List workflows (minimal metadata only). Returns id/name/active/dates/tags. Check hasMore/nextCursor for pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Filter by tags (exact match) | |
| limit | No | Number of workflows to return (1-100, default: 100) | |
| active | No | Filter by active status | |
| cursor | No | Pagination cursor from previous response | |
| projectId | No | Filter by project ID (enterprise feature) | |
| excludePinnedData | No | Exclude pinned data from response (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and idempotentHint. The description adds value by clarifying the minimal metadata return and pagination behavior (hasMore/nextCursor). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the main purpose. Every sentence adds value with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with no output schema, the description fully covers return fields, pagination, and metadata scope. No additional details are needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 6 parameters. The description does not add new parameter details beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists workflows with minimal metadata, specifies returned fields (id/name/active/dates/tags), and mentions pagination. This distinguishes it from sibling tools like n8n_get_workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing workflows with limited data and pagination, but does not explicitly state when to avoid or use alternatives. The mention of minimal metadata helps agents infer appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_manage_credentialsA
Manage n8n credentials. Actions: list, get, create, update, delete, getSchema. Use getSchema to discover required fields before creating. For list, page beyond 100 results with cursor (from the previous response's nextCursor). NOTE: list/get need an n8n deployment whose public API permits credential reads — older n8n versions, restricted API keys, or instance settings can reject them, returning NOT_SUPPORTED (create, delete, getSchema — and update where the API version supports it — still work). SECURITY: credential data values are never logged.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Credential ID (required for get, update, delete) | |
| data | No | Credential data fields - use getSchema to discover required fields (required for create, optional for update) | |
| name | No | Credential name (required for create) | |
| type | No | Credential type e.g. httpHeaderAuth, httpBasicAuth, oAuth2Api (required for create, getSchema) | |
| limit | No | For list: max results per page (1-100, default 100). Ignored when includeUsage is true. | |
| action | Yes | Action to perform | |
| cursor | No | For list: pagination cursor from a previous response's nextCursor. Ignored when includeUsage is true. | |
| includeUsage | No | For list/get: also return workflows that reference each credential (id, name, active). On list, triggers a full scan of all credential pages (up to 5000 credentials; ignores cursor/limit, no nextCursor returned). Slower on large instances. Default: false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description includes delete action, which is destructive, but annotations set destructiveHint: false. This contradiction undermines transparency. However, the description itself is otherwise detailed about behaviors like NOT_SUPPORTED errors and security logging.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single paragraph with key info front-loaded. Somewhat dense but efficient for the complexity. Could benefit from bullet points but still readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers usage guidelines, edge cases (NOT_SUPPORTED), pagination, security, and parameter interactions. Lacks output format details but no output schema exists. Adequately complete for a multi-action tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, yet description adds significant value: explains cursor origin, includeUsage behavior (full scan, ignores limits), getSchema for data fields. This goes well beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool manages n8n credentials and lists all actions (list, get, create, update, delete, getSchema). It differentiates from sibling tools which handle templates, health, workflows, etc., making the purpose distinct and specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: use getSchema before create, pagination with cursor for list, and notes on deployment compatibility affecting list/get. Does not explicitly state when not to use the tool, but contextual hints are sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_manage_datatableCDestructive
Manage n8n data tables and rows. Actions: createTable, listTables, getTable, updateTable, deleteTable, getRows, insertRows, updateRows, upsertRows, deleteRows.
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | For insertRows: array of row objects. For updateRows/upsertRows: object with column values. | |
| name | No | For createTable: table name. For updateTable: new name (rename only — schema is immutable after creation) | |
| limit | No | For listTables/getRows: max results (1-100) | |
| action | Yes | Operation to perform | |
| cursor | No | For listTables/getRows: pagination cursor | |
| dryRun | No | For updateRows/upsertRows/deleteRows: preview without applying (default: false) | |
| filter | No | For getRows/updateRows/upsertRows/deleteRows: {type?: "and"|"or", filters: [{columnName, condition, value}]} | |
| search | No | For getRows: text search across string columns | |
| sortBy | No | For getRows: "columnName:asc" or "columnName:desc" | |
| columns | No | For createTable (required, at least one): column definitions. Schema is immutable after creation via public API. | |
| tableId | No | Data table ID (required for all actions except createTable and listTables) | |
| projectId | No | For createTable: project ID to create the table in. If omitted, uses the default project. | |
| returnData | No | For updateRows/upsertRows/deleteRows: return affected rows (default: false) | |
| returnType | No | For insertRows: what to return (default: count) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint: true and readOnlyHint: false, so the description adds some context (e.g., 'Schema is immutable after creation'). However, it does not elaborate on safety or side effects beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (one sentence plus structured schema). It front-loads the list of actions. The schema is well-organized with clear per-parameter details. No unnecessary text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 14 parameters, high complexity, and no output schema, the description provides a minimal overview. It covers actions but lacks context on return values, error handling, or workflow. The schema fills many gaps, but the description alone is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description groups actions with parameter usage (e.g., 'For createTable: table name'), adding marginal value but not deeply explaining parameter interactions or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Manage n8n data tables and rows' and lists 10 actions, which is clear enough but generic. It does not differentiate from sibling tools beyond the specific domain of data tables, but the sibling tools are mostly workflow/credential management, so differentiation is minimal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. It simply lists actions without context for selection. The description does not provide any usage boundaries or recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_read_node_fieldARead-onlyIdempotent
Read the current value of a specific field from a workflow node without downloading the full workflow. Use this to inspect a field before editing it with n8n_update_partial_workflow (patchNodeField).
| Name | Required | Description | Default |
|---|---|---|---|
| nodeName | Yes | Name of the node (e.g., "Integrar Ticket ID Alto") | |
| fieldPath | Yes | Dot-separated path to the field (e.g., "parameters.jsCode", "parameters.model") | |
| workflowId | Yes | Workflow ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds context about not downloading the full workflow, which is useful beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first sentence states purpose, second provides usage guideline. Zero waste, front-loaded, and highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given annotations and schema, the description is complete. It explains the value of the tool (inspecting before editing) despite no output schema. Could mention return format, but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description does not need to add parameter details. It adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Read the current value of a specific field from a workflow node without downloading the full workflow', providing a specific verb and resource that distinguishes it from siblings like n8n_get_workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this to inspect a field before editing it with n8n_update_partial_workflow (patchNodeField)', giving clear context and naming an alternative sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_test_workflowA
Test/trigger workflow execution. Auto-detects trigger type (webhook/form/chat). Supports: webhook (HTTP), form (fields), chat (message). Note: Only workflows with these trigger types can be executed externally.
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | Input data/payload for webhook, form fields, or execution data | |
| headers | No | Custom HTTP headers | |
| message | No | For chat: message to send (required for chat triggers) | |
| timeout | No | Timeout in ms (default: 120000) | |
| sessionId | No | For chat: session ID for conversation continuity | |
| httpMethod | No | For webhook: HTTP method (default: from workflow config or POST) | |
| workflowId | Yes | Workflow ID to execute (required) | |
| triggerType | No | Trigger type. Auto-detected if not specified. Workflow must have a matching trigger node. | |
| webhookPath | No | For webhook: override the webhook path | |
| waitForResponse | No | Wait for workflow completion (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false, which the description does not contradict. The description adds transparency by stating it auto-detects trigger type and supports webhook/form/chat, but it does not detail behavior like waiting for response or error handling. Overall, it provides useful context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences plus a note. It front-loads the purpose and immediately provides actionable details. Every sentence is essential, with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 10 parameters with conditional behavior across trigger types, the description covers the core functionality well. However, it does not explain the output or return value (no output schema), and it could better detail parameter usage per trigger type. Still, the schema descriptions compensate, making it reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the input schema already documents each parameter thoroughly. The description adds value by summarizing supported trigger types and auto-detection, but it does not explain parameter relationships or conditional usage (e.g., which parameters apply to which trigger type). It meets the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Test/trigger workflow execution.' It specifies auto-detection of trigger type and lists supported types (webhook, form, chat), which distinctively sets it apart from sibling tools that edit, validate, or retrieve workflows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear context for when to use the tool (testing/triggering workflows) and includes a constraint note about external execution only for specific trigger types. However, it does not explicitly address when not to use the tool or mention alternatives among sibling tools, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_update_full_workflowAIdempotent
Full workflow update. Requires complete nodes[] and connections{}. For incremental use n8n_update_partial_workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Workflow ID to update | |
| name | No | New workflow name | |
| nodes | No | Complete array of workflow nodes (required if modifying workflow structure) | |
| settings | No | Workflow settings to update | |
| connections | No | Complete connections object (required if modifying workflow structure) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is not read-only, not destructive, and idempotent. The description adds that it requires complete nodes and connections, which implies a full overwrite behavior. This adds context beyond annotations, but could be more explicit about the effect of omitting those parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with front-loaded purpose and clear guidance. Every sentence adds value with no redundancy or waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with nested objects and no output schema, the description is adequate but incomplete. It does not guide the agent on prerequisites (e.g., fetching current workflow) or the behavior of the settings parameter. This leaves gaps in understanding the full context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add new semantic information beyond the schema; it only reiterates the requirement for completeness. Therefore, it meets the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Full workflow update' with a specific verb and resource. It distinguishes from the sibling tool n8n_update_partial_workflow by emphasizing the need for complete nodes and connections, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions when to use the partial update sibling tool and states the requirement for complete arrays. However, it does not provide exclusions or context for when not to use this tool, but the guidance is clear enough for typical use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_update_partial_workflowAIdempotent
Update workflow incrementally with diff operations. Types: addNode, removeNode, updateNode, patchNodeField, moveNode, enable/disableNode, addConnection, removeConnection, updateSettings, updateName, add/removeTag, activate/deactivateWorkflow, transferWorkflow. patchNodeField requires fieldPath (dot path, e.g. "parameters.jsCode") and patches: [{find, replace}]. See tools_documentation("n8n_update_partial_workflow", "full") for details.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Workflow ID to update | |
| operations | Yes | Array of diff operations to apply. Each operation must have a "type" field and relevant properties for that operation type. | |
| validateOnly | No | If true, only validate operations without applying them | |
| continueOnError | No | If true, apply valid operations even if some fail (best-effort mode). Returns applied and failed operation indices. Default: false (atomic) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-readonly, non-destructive, idempotent, and open-world. The description adds behavioral details like the required format for patchNodeField (fieldPath and patches array) and references tools_documentation for full details. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph but is front-loaded with the main purpose and lists operation types concisely. It avoids unnecessary words, though could be better structured (e.g., bullet points) for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple operation types, parameters for validation and error handling), the description provides a good overview. It references tools_documentation for exhaustive details, which is appropriate. No output schema exists, but the description covers input sufficiently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description adds value by explaining the structure of operations array (list of types) and specific requirements for patchNodeField (dot path, patches). This goes beyond the schema's generic description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Update workflow incrementally with diff operations' and lists specific operation types like addNode, removeNode, etc. This distinguishes it from sibling tools like n8n_update_full_workflow which replaces the entire workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the tool is for incremental updates and lists operations, but does not explicitly state when to use it versus alternatives (e.g., n8n_update_full_workflow) or provide exclusions. The guidance is implied but not direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_validate_workflowBRead-onlyIdempotent
Validate workflow by ID. Checks nodes, connections, expressions. Returns errors/warnings/suggestions.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Workflow ID to validate | |
| options | No | Validation options |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide read-only, open-world, and idempotent hints. Description adds that it returns errors/warnings/suggestions but does not elaborate on response structure or edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences conveying core purpose and output. No redundant information, well front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should detail return format. Lacks explanation of validation profiles, which are documented only via enum values. Does not address potential confusion with sibling 'validate_workflow'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed property descriptions. Description restates the parameters' purpose without adding new meaning or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it validates a workflow by ID, checking nodes, connections, expressions, and returning results. However, it does not differentiate from the sibling 'validate_workflow', which may cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like n8n_audit_instance or n8n_health_check. Does not specify prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_workflow_versionsADestructive
Manage workflow version history, rollback, and cleanup. Versions are scoped to your n8n instance. Five modes:
list: Show version history for a workflow
get: Get details of specific version
rollback: Restore workflow to previous version (creates backup first)
delete: Delete specific version or all versions for a workflow
prune: Manually trigger pruning to keep N most recent versions Old backups are also pruned automatically (10 most recent per workflow, plus an age-based retention window).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Operation mode | |
| limit | No | Max versions to return in list mode | |
| deleteAll | No | Delete all versions for workflow (delete mode only) | |
| versionId | No | Version ID (required for get mode and single version delete, optional for rollback) | |
| workflowId | No | Workflow ID (required for list, rollback, delete, prune) | |
| maxVersions | No | Keep N most recent versions (prune mode only) | |
| validateBefore | No | Validate workflow structure before rollback |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint: true. Description adds valuable context: versions are instance-scoped, rollback creates a backup first, old backups are automatically pruned (10 most recent per workflow plus age-based retention). No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise, uses bullet points for modes, and includes essential details without unnecessary words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 modes, 7 parameters) and no output schema, the description covers modes, backup behavior, and pruning. It could mention return format for list mode, but is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The main description summarizes modes but does not detail individual parameters; baseline 3 is appropriate as schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool manages workflow version history, rollback, and cleanup, listing five specific modes. It distinguishes itself from sibling tools (e.g., n8n_get_workflow) by focusing on version operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly defines each mode and its purpose (list, get, rollback, delete, prune), providing clear context for when to use each. However, it does not explicitly compare to sibling tools or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_nodesARead-onlyIdempotent
Search n8n nodes by keyword with optional real-world examples. Pass query as string. Example: query="webhook" or query="database". Returns max 20 results. Use includeExamples=true to get top 2 template configs per node.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | OR=any word, AND=all words, FUZZY=typo-tolerant | OR |
| limit | No | Max results (default 20) | |
| query | Yes | Search terms. Use quotes for exact phrase. | |
| source | No | Filter by node source: all=everything (default), core=n8n base nodes, community=community nodes, verified=verified community nodes only | all |
| includeExamples | No | Include top 2 real-world configuration examples from popular templates (default: false) | |
| includeOperations | No | Include resource/operation tree per node. Adds ~100-300 tokens per result but saves a get_node round-trip. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds behavioral context: max 20 results, default limit, behavior of includeExamples and includeOperations (token cost per result). This exceeds the burden given the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: three sentences that front-load the purpose and immediately provide actionable examples and constraints. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema and 6 parameters, the description is complete: it covers query usage, results limit, and the two boolean options. The context signals show high schema coverage and no nested objects, so the description needs to do little else. The sibling differentiation is implicit but sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already well-documented. The description adds value by explaining the query parameter further (use quotes for exact phrase) and clarifying includeExamples and includeOperations behaviors beyond their schema descriptions. A small lift above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches n8n nodes by keyword with optional real-world examples. It distinguishes itself from siblings like search_templates or get_node by focusing on node search with template config examples, and from get_node by offering operations inclusion to save round-trips.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly guides usage via example queries and mentions the trade-off of includeOperations (saves a round-trip to get_node). However, it does not explicitly state when to use this tool over siblings like search_templates or get_node, nor when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_templatesARead-onlyIdempotent
Search templates with multiple modes. Use searchMode='keyword' for text search, 'by_nodes' to find templates using specific nodes, 'by_task' for curated task-based templates, 'by_metadata' for filtering by complexity/setup time/services, 'patterns' for lightweight workflow pattern summaries mined from 2700+ templates.
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | For searchMode=by_task: the type of task. For searchMode=patterns: optional category filter (omit for overview of all categories). | |
| limit | No | Maximum number of results. Default 20. | |
| query | No | For searchMode=keyword: search keyword (e.g., "chatbot") | |
| fields | No | For searchMode=keyword: fields to include in response. Default: all fields. | |
| offset | No | Pagination offset. Default 0. | |
| category | No | For searchMode=by_metadata: filter by category (e.g., "automation", "integration") | |
| nodeTypes | No | For searchMode=by_nodes: array of node types (e.g., ["n8n-nodes-base.httpRequest", "n8n-nodes-base.slack"]) | |
| complexity | No | For searchMode=by_metadata: filter by complexity level | |
| searchMode | No | Search mode. keyword=text search (default), by_nodes=find by node types, by_task=curated task templates, by_metadata=filter by complexity/services, patterns=lightweight workflow pattern summaries | keyword |
| targetAudience | No | For searchMode=by_metadata: filter by target audience (e.g., "developers", "marketers") | |
| maxSetupMinutes | No | For searchMode=by_metadata: maximum setup time in minutes | |
| minSetupMinutes | No | For searchMode=by_metadata: minimum setup time in minutes | |
| requiredService | No | For searchMode=by_metadata: filter by required service (e.g., "openai", "slack") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the tool is safe and idempotent. The description adds behavioral clarity by detailing the five distinct search modes and their parameters (e.g., 'patterns' mode uses 2700+ templates for summaries), without contradicting annotations. The explanation of 'patterns' as lightweight summaries is extra context beyond annotations, but it lacks details on pagination behavior or result format, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently enumerates all five modes and their purposes without redundancy. Every clause adds value (e.g., 'lightweight workflow pattern summaries mined from 2700+ templates'), and it's front-loaded with the main action ('Search templates with multiple modes').
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 13 parameters, no output schema, and rich sibling context, the description is remarkably complete. It covers the core behavior (five search modes), when to use each, and hints at return differences (e.g., 'patterns' yields summaries). With readOnlyHint and idempotentHint annotations, no additional safety info is needed. The only minor gap is no explicit mention of result pagination, but the schema's offset/limit parameters suffice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds value by grouping parameters by search mode (e.g., 'query' for keyword, 'nodeTypes' for by_nodes), providing context not in the schema. However, for parameters like 'category' and 'targetAudience', the description only restates what the schema says, offering no deeper semantics, so it doesn't fully reach a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches templates with multiple modes, enumerates each mode with its specific use case (e.g., 'searchMode=keyword' for text search, 'by_nodes' to find templates using specific nodes), and distinguishes itself from siblings like search_nodes (which likely searches for nodes, not templates). The explicit listing of five search modes provides a precise scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use each mode (e.g., 'Use searchMode=keyword for text search, by_nodes to find templates using specific nodes'), which directly guides the AI agent in selecting the right approach. It implies that for template-related searches this tool is appropriate, while siblings like search_nodes are for node-level searches, providing clear separation of concerns.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tools_documentationARead-onlyIdempotent
Get documentation for n8n MCP tools. Call without parameters for quick start guide. Use topic parameter to get documentation for specific tools. Use depth='full' for comprehensive documentation.
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | Level of detail. "essentials" (default) for quick reference, "full" for comprehensive docs. | essentials |
| topic | No | Tool name (e.g., "search_nodes") or "overview" for general guide. Leave empty for quick reference. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows this is a safe, read-only operation. The description adds behavioral context beyond annotations: it explains that calling without parameters returns a 'quick start guide,' and that depth='full' provides 'comprehensive documentation.' This clarifies the different response modes. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each adding value: first sentence states the core purpose, second gives the default behavior, third explains the two optional parameters. It is front-loaded and contains no unnecessary words. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 optional params, no output schema), the description covers the main use cases well. It explains all invocation modes. However, it does not describe the format of the returned documentation (e.g., markdown, text), which would be helpful for an agent. Still, it is largely complete for a straightforward documentation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description mentions using the 'topic' parameter and 'depth="full"', but this mostly restates the schema's own descriptions. It adds minimal new meaning beyond what the schema already provides. Therefore, a score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get documentation for n8n MCP tools.' It distinguishes itself from siblings (which deal with templates, nodes, validation) by explicitly focusing on tool documentation. The different invocation modes (no params, topic, depth) are also outlined, making the purpose very specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'Call without parameters for quick start guide. Use topic parameter to get documentation for specific tools. Use depth="full" for comprehensive documentation.' This tells the agent exactly when to use each parameter combination. It does not mention when not to use the tool or alternatives, but the sibling tools are sufficiently different that no further exclusion is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_nodeARead-onlyIdempotent
Validate n8n node configuration. Use mode='full' for comprehensive validation with errors/warnings/suggestions, mode='minimal' for quick required fields check. Example: nodeType="nodes-base.slack", config={resource:"channel",operation:"create"}
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Validation mode. full=comprehensive validation with errors/warnings/suggestions, minimal=quick required fields check only. Default is "full" | full |
| config | Yes | Configuration as object. For simple nodes use {}. For complex nodes include fields like {resource:"channel",operation:"create"} | |
| profile | No | Profile for mode=full: "minimal", "runtime", "ai-friendly", or "strict". Default is "ai-friendly" | ai-friendly |
| nodeType | Yes | Node type as string. Example: "nodes-base.slack" |
Output Schema
| Name | Required | Description |
|---|---|---|
| valid | Yes | |
| errors | No | |
| summary | No | |
| nodeType | Yes | |
| warnings | No | |
| displayName | Yes | |
| suggestions | No | |
| workflowNodeType | No | |
| missingRequiredFields | No | Only present in mode=minimal |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as readOnlyHint true and idempotentHint true, so the description has less burden. It adds mode parameters and example usage but does not detail return format or success/failure behavior, which is partially covered by the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with a clear example, no fluff. Could be slightly more compact by integrating the example into the main statement, but it is efficient and front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 params, nested objects, output schema) and 100% schema coverage, the description covers the key behavior. The output schema handles return details, so no further explanation needed. The example adds practical context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description provides an example for nodeType and config that goes beyond the schema by showing a practical use case. This adds value, earning a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it validates n8n node configuration with a specific verb and resource. Provides examples of nodeType and config to distinguish it from sibling tools like 'search_nodes' or 'get_node'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly describes two validation modes ('full' for comprehensive, 'minimal' for quick checks) and gives usage example. Context suggests siblings like 'validate_workflow' exist but no direct 'when not to use' is stated, though mode distinction sufficiently guides selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_workflowARead-onlyIdempotent
Full workflow validation: structure, connections, expressions, AI tools. Returns errors/warnings/fixes. Essential before deploy.
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | Optional validation settings | |
| workflow | Yes | The complete workflow JSON to validate. Must include nodes array and connections object. |
Output Schema
| Name | Required | Description |
|---|---|---|
| valid | Yes | |
| errors | No | |
| summary | Yes | |
| warnings | No | |
| suggestions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and idempotentHint, so the safety profile is clear. The description adds that it returns errors/warnings/fixes, which is useful but not extensive. Since annotations carry the behavioral burden, the description adds moderate value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and scope. Every word adds value. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose and return type. An output schema exists, so return details are documented elsewhere. Slightly missing mention of the optional 'options' parameter, but the schema covers it. Overall adequate for a validation tool with rich structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions for each parameter. The description mentions the validation categories (structure, connections, expressions) which map to options, but does not add new meaning beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb+resource: 'Full workflow validation' specifies the action and scope. Lists what is validated (structure, connections, expressions, AI tools) and what is returned (errors/warnings/fixes). Distinguishes from sibling 'validate_node' by being for the entire workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States 'Essential before deploy' which implies when to use it, but does not explicitly mention when not to use it or alternatives like validate_node for single nodes. The context is clear but lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
26 tool updates
v2.59.4- First observed
get_node - First observed
get_template - First observed
n8n_audit_instance - First observed
n8n_autofix_workflow - First observed
n8n_create_workflow - First observed
n8n_delete_workflow - First observed
n8n_deploy_template - First observed
n8n_executions - First observed
n8n_generate_workflow - First observed
n8n_get_node_config - First observed
n8n_get_workflow - First observed
n8n_health_check - First observed
n8n_list_workflows - First observed
n8n_manage_credentials - First observed
n8n_manage_datatable - First observed
n8n_read_node_field - First observed
n8n_test_workflow - First observed
n8n_update_full_workflow - First observed
n8n_update_partial_workflow - First observed
n8n_validate_workflow - First observed
n8n_workflow_versions - First observed
search_nodes - First observed
search_templates - First observed
tools_documentation - First observed
validate_node - First observed
validate_workflow
TDQS
Scored across 26 tools
Most tools have distinct purposes, but validate_workflow and n8n_validate_workflow are very similar, and n8n_autofix_workflow overlaps with validation. This creates some ambiguity for an agent choosing which tool to use.
The majority of tools use a consistent 'n8n_verb_noun' pattern, but 7 tools lack the prefix (e.g., get_node, validate_workflow), and one tool (validate_node) has no corresponding prefixed version. This mixed convention is still readable but inconsistent.
With 26 tools, the count is on the higher side but justified by the broad domain coverage (workflows, credentials, templates, executions, validation, data tables). Each tool serves a clear purpose, and no tool feels extraneous.
The tool set covers CRUD for workflows, execution management, validation, fixing, versioning, credential and data table management, template deployment, and node configuration. Minor gaps exist (e.g., no explicit export/import), but the surface is largely complete for typical n8n management tasks.
Maintenance
Related MCP Connectors
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Connect AI agents to Process Street workflows, tasks, runs, data sets, and operational records.
Neuronto Agentic Resource Discovery ARD Index. Search every ARD registry + 31,411 verified tools.
Create, browse, remix, collaborate on, and run durable AI workflow nodes from MCP hosts.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceProvides AI assistants with comprehensive access to n8n's 525+ workflow automation nodes, including documentation, properties, operations, and 2,500+ templates. Enables creating, validating, and managing n8n workflows through natural language.77,070 npm-
- AlicenseNot gradedqualityDmaintenanceProvides AI assistants with comprehensive access to n8n workflow automation platform, including 543 node documentation, 2,709 workflow templates, validation tools, and optional workflow management capabilities for creating and deploying automation workflows.77,070 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides AI assistants with comprehensive access to n8n node documentation, properties, and workflow templates. It enables models to search, understand, and manage n8n automation workflows through structured access to over 1,000 node types.77,070 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides AI assistants with comprehensive access to n8n node documentation, properties, operations, and templates, enabling them to build and validate n8n workflows.77,070 npmMIT