mirror of
https://github.com/czlonkowski/n8n-mcp.git
synced 2026-03-22 10:23:08 +00:00
feat: replace n8n_create_data_table with n8n_manage_datatable (10 actions)
Replaces the single-purpose n8n_create_data_table tool with a comprehensive n8n_manage_datatable tool covering all 10 n8n data table API endpoints: Table operations: createTable, listTables, getTable, updateTable, deleteTable Row operations: getRows, insertRows, updateRows, upsertRows, deleteRows - Filter system with and/or logic and 8 condition operators - Dry-run support for updateRows, upsertRows, deleteRows - Pagination, sorting, and full-text search for row listing - 9 new N8nApiClient methods for all data table endpoints - Shared error handler and consolidated Zod schemas - Comprehensive tool documentation with examples per action - 36 handler tests + 18 API client tests BREAKING: n8n_create_data_table removed. Use n8n_manage_datatable with action="createTable" instead. Based on work by @djakielski in PR #646. Co-Authored-By: Dominik Jakielski <dominik.jakielski@urlaubsguru.de> Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -608,35 +608,49 @@ export const n8nManagementTools: ToolDefinition[] = [
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'n8n_create_data_table',
|
||||
description: 'Create a new data table in n8n. Requires n8n enterprise or cloud with data tables feature.',
|
||||
name: 'n8n_manage_datatable',
|
||||
description: `Manage n8n data tables and rows. Actions: createTable, listTables, getTable, updateTable, deleteTable, getRows, insertRows, updateRows, upsertRows, deleteRows. Requires n8n enterprise/cloud with data tables feature.`,
|
||||
inputSchema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
name: { type: 'string', description: 'Name for the data table' },
|
||||
action: {
|
||||
type: 'string',
|
||||
enum: ['createTable', 'listTables', 'getTable', 'updateTable', 'deleteTable', 'getRows', 'insertRows', 'updateRows', 'upsertRows', 'deleteRows'],
|
||||
description: 'Operation to perform',
|
||||
},
|
||||
tableId: { type: 'string', description: 'Data table ID (required for all actions except createTable and listTables)' },
|
||||
name: { type: 'string', description: 'For createTable/updateTable: table name' },
|
||||
columns: {
|
||||
type: 'array',
|
||||
description: 'Column definitions',
|
||||
description: 'For createTable: column definitions',
|
||||
items: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
name: { type: 'string', description: 'Column name' },
|
||||
type: {
|
||||
type: 'string',
|
||||
enum: ['string', 'number', 'boolean', 'date', 'json'],
|
||||
description: 'Column data type',
|
||||
},
|
||||
name: { type: 'string' },
|
||||
type: { type: 'string', enum: ['string', 'number', 'boolean', 'date', 'json'] },
|
||||
},
|
||||
required: ['name'],
|
||||
},
|
||||
},
|
||||
data: { description: 'For insertRows: array of row objects. For updateRows/upsertRows: object with column values.' },
|
||||
filter: {
|
||||
type: 'object',
|
||||
description: 'For getRows/updateRows/upsertRows/deleteRows: {type?: "and"|"or", filters: [{columnName, condition, value}]}',
|
||||
},
|
||||
limit: { type: 'number', description: 'For listTables/getRows: max results (1-100)' },
|
||||
cursor: { type: 'string', description: 'For listTables/getRows: pagination cursor' },
|
||||
sortBy: { type: 'string', description: 'For getRows: "columnName:asc" or "columnName:desc"' },
|
||||
search: { type: 'string', description: 'For getRows: text search across string columns' },
|
||||
returnType: { type: 'string', enum: ['count', 'id', 'all'], description: 'For insertRows: what to return (default: count)' },
|
||||
returnData: { type: 'boolean', description: 'For updateRows/upsertRows/deleteRows: return affected rows (default: false)' },
|
||||
dryRun: { type: 'boolean', description: 'For updateRows/upsertRows/deleteRows: preview without applying (default: false)' },
|
||||
},
|
||||
required: ['name'],
|
||||
required: ['action'],
|
||||
},
|
||||
annotations: {
|
||||
title: 'Create Data Table',
|
||||
title: 'Manage Data Tables',
|
||||
readOnlyHint: false,
|
||||
destructiveHint: false,
|
||||
destructiveHint: true,
|
||||
openWorldHint: true,
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user