@kadoa/mcp 0.5.4-rc.1 → 0.5.4-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +5 -5
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -51217,12 +51217,12 @@ function registerTools(server, ctx) {
51217
51217
  const FETCH_DATA_DEFAULT_LIMIT = 50;
51218
51218
  const FETCH_DATA_MAX_LIMIT = 500;
51219
51219
  server.registerTool("fetch_data", {
51220
- description: "Get a page of extracted data from a workflow. Use for previews, sorted/filtered slices, or 'first N rows' queries. For full datasets (especially >500 rows or anything destined for Excel/pandas), use export_data instead. Data is only available after the workflow run has completed (status is no longer 'Running' or 'Validating'). Do NOT poll or sleep-wait for completion.",
51220
+ description: "Get a PAGE of extracted data from a workflow. Use ONLY for previews, sorted/filtered slices, or explicit 'first N rows' / 'top N' queries (capped at 500 rows per call). Do NOT use this to retrieve a full dataset, 'all rows', or anything the user wants to analyze in Excel / pandas / duckdb — use export_data for those. Data is only available after the workflow run has completed (status is no longer 'Running' or 'Validating'). Do NOT poll or sleep-wait for completion.",
51221
51221
  inputSchema: {
51222
51222
  workflowId: exports_external.string().describe("The workflow ID"),
51223
51223
  limit: exports_external.preprocess(coerceNumber(), exports_external.number()).optional().describe(`Maximum number of records to return. Default ${FETCH_DATA_DEFAULT_LIMIT}, max ${FETCH_DATA_MAX_LIMIT}.`),
51224
51224
  page: exports_external.preprocess(coerceNumber(), exports_external.number()).optional().describe("Page number for pagination (1-based)"),
51225
- filters: exports_external.string().optional().describe("JSON-encoded filter array, same shape accepted by the /data endpoint"),
51225
+ filters: exports_external.string().optional().describe('JSON-encoded filter array. Each filter has shape {"field":"<fieldName>","operator":"<OP>","value":"<v>"}. Operators are UPPERCASE: CONTAINS, EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL. Example: [{"field":"title","operator":"CONTAINS","value":"Manager"}].'),
51226
51226
  sortBy: exports_external.string().optional().describe("Field name to sort by"),
51227
51227
  order: exports_external.enum(["asc", "desc"]).optional().describe("Sort order: asc or desc")
51228
51228
  },
@@ -51252,12 +51252,12 @@ function registerTools(server, ctx) {
51252
51252
  return jsonResult(result);
51253
51253
  }));
51254
51254
  server.registerTool("export_data", {
51255
- description: "Materialize a workflow's full dataset to object storage and return a signed download URL. Use this for full datasets, large workflows (>500 rows), or anything destined for Excel / pandas / duckdb. The URL is self-authenticating: open with `fetch(url)` no Authorization header needed.",
51255
+ description: "PREFERRED tool for retrieving a workflow's FULL dataset. Materializes the data to object storage and returns a signed download URL. Use this whenever the user wants 'all rows', 'the full dataset', 'everything', an export, or anything destined for Excel / pandas / duckdb / a CSV file — even for small workflows. The URL is self-authenticating (open with `fetch(url)`, no Authorization header). Use fetch_data ONLY when the user explicitly asks for a small preview slice (e.g., 'first 10', 'top N sorted by X').",
51256
51256
  inputSchema: {
51257
51257
  workflowId: exports_external.string().describe("The workflow ID"),
51258
51258
  format: exports_external.enum(["csv", "json"]).optional().describe("Export format. Default 'csv'."),
51259
51259
  runId: exports_external.string().optional().describe("Specific run ID to export. Defaults to the latest completed run."),
51260
- filters: exports_external.string().optional().describe("JSON-encoded filter array, same shape as /data"),
51260
+ filters: exports_external.string().optional().describe('JSON-encoded filter array. Each filter has shape {"field":"<fieldName>","operator":"<OP>","value":"<v>"}. Operators are UPPERCASE: CONTAINS, EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL.'),
51261
51261
  sortBy: exports_external.string().optional().describe("Field name to sort by"),
51262
51262
  order: exports_external.enum(["asc", "desc"]).optional().describe("Sort order: asc or desc"),
51263
51263
  rowIds: exports_external.string().optional().describe("Comma-separated list (or JSON array) of row ids to include")
@@ -52002,7 +52002,7 @@ var package_default;
52002
52002
  var init_package = __esm(() => {
52003
52003
  package_default = {
52004
52004
  name: "@kadoa/mcp",
52005
- version: "0.5.4-rc.1",
52005
+ version: "0.5.4-rc.2",
52006
52006
  description: "Kadoa MCP Server — manage workflows from Claude Desktop, Cursor, and other MCP clients",
52007
52007
  type: "module",
52008
52008
  main: "dist/index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kadoa/mcp",
3
- "version": "0.5.4-rc.1",
3
+ "version": "0.5.4-rc.2",
4
4
  "description": "Kadoa MCP Server — manage workflows from Claude Desktop, Cursor, and other MCP clients",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",