mauricioperera/n8n
v0.1.0MIT
agent-tools-runtime plugin for n8n: typed facade tools plus deterministic skills for data tables and workflow orchestration.
What this package declares
The file a client reads when it loads this plugin, exactly as this revision carries it.
plugin.json
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "n8n",
"version": "0.1.0",
"description": "agent-tools-runtime plugin for n8n: typed facade tools plus deterministic skills for data tables and workflow orchestration.",
"license": "MIT",
"repository": "https://github.com/MauricioPerera/agent-tools-runtime",
"keywords": ["agent-tools-runtime", "mcp", "n8n"],
"extensions": {
"dev.agent-tools-runtime": {
"prefix": "n8n",
"adapter": "./adapter.mjs",
"adapterExport": "N8nMcpAdapter",
"requireConfirm": false,
"readonlyTools": [
"search_workflows", "get_workflow_details", "get_workflow_history", "get_workflow_version",
"search_executions", "get_execution", "search_nodes", "get_node_types",
"get_workflow_best_practices", "explore_node_resources", "validate_workflow",
"validate_node_config", "get_sdk_reference", "list_credentials", "list_tags",
"search_projects", "search_folders", "search_data_tables"
],
"skills": [
"./skills/insert-and-verify-datatable-row.mjs",
"./skills/data-table-crud.mjs",
"./skills/create-and-verify-workflow.mjs",
"./skills/audit-workflows.mjs",
"./skills/delete-workflow.mjs",
"./skills/delete-workflows-bulk.mjs",
"./skills/delete-data-tables-bulk.mjs",
"./skills/delete-execution.mjs",
"./skills/delete-executions-bulk.mjs",
"./skills/find-workflows.mjs",
"./skills/find-node-types.mjs",
"./skills/create-credential.mjs",
"./skills/delete-credential.mjs"
],
"discoverHint": "No existe una tool MCP para crear ni borrar credenciales (list_credentials es de solo lectura) -- si un workflow necesita una credencial que no existe (ver list_credentials), usá create-credential({ type }) sin name/data para ver el schema real de esa credencial (qué campos pide), y create-credential({ name, type, data }) para crearla una vez que el humano te dio los valores (ej. un accessToken ya generado); usá delete-credential({ credentialId }) (id de list_credentials) para borrarla. NO se puede completar un login OAuth vos solo (eso requiere consentimiento por navegador, lo tiene que hacer un humano) -- si el tipo es OAuth2 y no hay un token ya obtenido, avisá que hace falta ese paso manual en vez de intentar hackear una alternativa. Para identificar y tipar nodos antes de escribir código con create-and-verify-workflow, usá find-node-types({ queries: [...] }) para buscar (equivalente a search_nodes, pero con validación clara si falta el argumento) y find-node-types({ nodeIds: [...] }) para traer la definición TypeScript exacta (equivalente a get_node_types, valida el shape de nodeIds antes de llamar). No mezcles queries y nodeIds en la misma llamada. NO uses la tool 'search_workflows' para contar, listar o filtrar workflows por estado activo/inactivo -- su schema real es solo limit/projectId/query/sortBy/tags (tope limit=200, sin cursor ni parametro active), no soporta paginar mas alla del primer lote ni filtrar por activo, y parametros inventados como offset/skip/search no existen y se ignoran en silencio (verificado en vivo: devuelve siempre el mismo lote sin importar que le pases). Para encontrar workflows por active y/o namePattern usa la skill find-workflows({ active?, namePattern?, page?, pageSize? }), que pagina el catalogo REST completo de verdad y no tiene ese limite. IMPORTANTE sobre el argumento 'url' de audit-workflows, delete-workflow, delete-workflows-bulk y find-workflows: es OPCIONAL, NO lo busques en variables de entorno ni en ningún otro lado -- si lo omitís, el server lo resuelve solo del lado suyo (N8N_INSTANCE_URL si está configurada, si no la deriva de N8N_MCP_URL). No tiene sentido intentar leer env vars del proceso del agente para conseguirlo: esas skills corren dentro del proceso del server MCP, que ya tiene su propia URL configurada de forma independiente al entorno donde corre el agente que llama -- llamalas directo con solo los argumentos que de verdad necesitás (workflowId, active, namePattern, etc.), sin url, y va a funcionar. Siempre devuelve también el proyecto personal accesible (context.personalProject) para no tener que adivinar projectId. Las skills audit-workflows, delete-workflow, delete-workflows-bulk, find-workflows, create-credential y delete-credential requieren N8N_API_KEY (REST API key, distinta de este token MCP) en el entorno del proceso del runtime -- delete-workflow(-bulk)/delete-credential existen porque el catálogo MCP de n8n no tiene tools de borrado real para esos recursos (workflows: solo archive_workflow, que archiva, no borra; credenciales: list_credentials es de solo lectura); un borrado permanente solo es posible vía la REST API. delete-workflows-bulk pagina la lista completa de workflows (la REST API de n8n pagina de a 100) y borra los que matchean active y/o namePattern; exige al menos uno de los dos, para no borrar todo por default. AVISO: este plugin corre con requireConfirm:false -- a diferencia de los demás plugins de agent-tools-runtime, agent_tools_n8n_call ejecuta tools que mutan estado (create_workflow_from_code, update_workflow, archive_workflow, publish_workflow, etc.) sin exigir confirm:true, y ninguna de las skills de borrado pide confirmación tampoco. No hay freno del lado del runtime contra una mutación o un delete accidental, individual o masivo."
}
}
}
What else this package ships
These files come with the package and this site does not publish them. They are listed so you know what is there before you install it.
- 14JavaScript files
- LICENSE
Client extensions
Data this package carries for particular clients. The directory lists the clients named and never reads what is addressed to them.
- dev.agent-tools-runtime