mirror of
https://github.com/czlonkowski/n8n-mcp.git
synced 2026-03-23 02:43:08 +00:00
* feat: add n8n_create_data_table MCP tool and projectId for create workflow (#640) Add new MCP tool to create n8n data tables via the REST API: - n8n_create_data_table tool definition with name + columns schema - handleCreateDataTable handler with Zod validation and N8nApiError handling - N8nApiClient.createDataTable() calling POST /data-tables - DataTable, DataTableColumn, DataTableColumnResponse types per OpenAPI spec - Column types: string | number | boolean | date | json - Input validation: .min(1) on table name and column names - Tool documentation with examples, use cases, and pitfalls Also adds projectId parameter to n8n_create_workflow for enterprise project support, and fixes stale management tool count in health check. 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> * 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
This commit is contained in:
committed by
GitHub
parent
47a1cb135d
commit
be3d07dbdc
@@ -454,4 +454,82 @@ export interface ErrorSuggestion {
|
||||
title: string;
|
||||
description: string;
|
||||
confidence: 'high' | 'medium' | 'low';
|
||||
}
|
||||
|
||||
// Data Table types
|
||||
export interface DataTableColumn {
|
||||
name: string;
|
||||
type?: 'string' | 'number' | 'boolean' | 'date' | 'json';
|
||||
}
|
||||
|
||||
export interface DataTableColumnResponse {
|
||||
id: string;
|
||||
name: string;
|
||||
type: 'string' | 'number' | 'boolean' | 'date' | 'json';
|
||||
index: number;
|
||||
}
|
||||
|
||||
export interface DataTable {
|
||||
id: string;
|
||||
name: string;
|
||||
columns?: DataTableColumnResponse[];
|
||||
projectId?: string;
|
||||
createdAt?: string;
|
||||
updatedAt?: string;
|
||||
}
|
||||
|
||||
export interface DataTableRow {
|
||||
id?: number;
|
||||
createdAt?: string;
|
||||
updatedAt?: string;
|
||||
[columnName: string]: unknown;
|
||||
}
|
||||
|
||||
export interface DataTableFilterCondition {
|
||||
columnName: string;
|
||||
condition: 'eq' | 'neq' | 'like' | 'ilike' | 'gt' | 'gte' | 'lt' | 'lte';
|
||||
value?: any;
|
||||
}
|
||||
|
||||
export interface DataTableFilter {
|
||||
type?: 'and' | 'or';
|
||||
filters: DataTableFilterCondition[];
|
||||
}
|
||||
|
||||
export interface DataTableListParams {
|
||||
limit?: number;
|
||||
cursor?: string;
|
||||
}
|
||||
|
||||
export interface DataTableRowListParams {
|
||||
limit?: number;
|
||||
cursor?: string;
|
||||
filter?: string;
|
||||
sortBy?: string;
|
||||
search?: string;
|
||||
}
|
||||
|
||||
export interface DataTableInsertRowsParams {
|
||||
data: Record<string, unknown>[];
|
||||
returnType?: 'count' | 'id' | 'all';
|
||||
}
|
||||
|
||||
export interface DataTableUpdateRowsParams {
|
||||
filter: DataTableFilter;
|
||||
data: Record<string, unknown>;
|
||||
returnData?: boolean;
|
||||
dryRun?: boolean;
|
||||
}
|
||||
|
||||
export interface DataTableUpsertRowParams {
|
||||
filter: DataTableFilter;
|
||||
data: Record<string, unknown>;
|
||||
returnData?: boolean;
|
||||
dryRun?: boolean;
|
||||
}
|
||||
|
||||
export interface DataTableDeleteRowsParams {
|
||||
filter: string;
|
||||
returnData?: boolean;
|
||||
dryRun?: boolean;
|
||||
}
|
||||
Reference in New Issue
Block a user