@sonisoft/now-sdk-ext-mcp 2.2.0 → 2.5.1
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.
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/tools/flow.d.ts +59 -0
- package/dist/tools/flow.d.ts.map +1 -1
- package/dist/tools/flow.js +515 -3
- package/dist/tools/flow.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -27,7 +27,7 @@ import { registerQueryUpdateRecordsTool, registerQueryDeleteRecordsTool, } from
|
|
|
27
27
|
import { registerExportRecordXmlTool, registerImportRecordsXmlTool, } from "./tools/xml-record.js";
|
|
28
28
|
import { registerListKnowledgeBasesTool, registerGetKnowledgeBaseTool, registerListKbCategoriesTool, registerCreateKbCategoryTool, registerListKbArticlesTool, registerGetKbArticleTool, registerCreateKbArticleTool, registerUpdateKbArticleTool, registerPublishKbArticleTool, } from "./tools/knowledge.js";
|
|
29
29
|
import { registerListCatalogItemsTool, registerGetCatalogItemTool, registerListCatalogCategoriesTool, registerGetCatalogCategoryTool, registerListCatalogItemVariablesTool, registerSubmitCatalogRequestTool, } from "./tools/catalog.js";
|
|
30
|
-
import { registerExecuteFlowTool, registerExecuteSubflowTool, registerExecuteActionTool, registerGetFlowContextStatusTool, registerGetFlowOutputsTool, registerGetFlowErrorTool, registerCancelFlowTool, } from "./tools/flow.js";
|
|
30
|
+
import { registerExecuteFlowTool, registerExecuteSubflowTool, registerExecuteActionTool, registerGetFlowContextStatusTool, registerGetFlowOutputsTool, registerGetFlowErrorTool, registerCancelFlowTool, registerTestFlowTool, registerCopyFlowTool, registerGetFlowExecutionDetailsTool, registerGetFlowLogsTool, } from "./tools/flow.js";
|
|
31
31
|
const server = new McpServer({
|
|
32
32
|
name: "now-sdk-ext-mcp",
|
|
33
33
|
version: "1.0.0-alpha.0",
|
|
@@ -115,6 +115,10 @@ registerGetFlowContextStatusTool(server);
|
|
|
115
115
|
registerGetFlowOutputsTool(server);
|
|
116
116
|
registerGetFlowErrorTool(server);
|
|
117
117
|
registerCancelFlowTool(server);
|
|
118
|
+
registerTestFlowTool(server);
|
|
119
|
+
registerCopyFlowTool(server);
|
|
120
|
+
registerGetFlowExecutionDetailsTool(server);
|
|
121
|
+
registerGetFlowLogsTool(server);
|
|
118
122
|
// Prevent the process from crashing silently on unexpected errors.
|
|
119
123
|
// Log to stderr (stdout is reserved for JSON-RPC).
|
|
120
124
|
process.on("uncaughtException", (error) => {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/flow.d.ts
CHANGED
|
@@ -6,4 +6,63 @@ export declare function registerGetFlowContextStatusTool(server: McpServer): voi
|
|
|
6
6
|
export declare function registerGetFlowOutputsTool(server: McpServer): void;
|
|
7
7
|
export declare function registerGetFlowErrorTool(server: McpServer): void;
|
|
8
8
|
export declare function registerCancelFlowTool(server: McpServer): void;
|
|
9
|
+
/**
|
|
10
|
+
* Registers the test_flow MCP tool.
|
|
11
|
+
*
|
|
12
|
+
* Tests a Flow Designer flow without requiring it to be published first.
|
|
13
|
+
* Uses FlowManager.testFlow(), which posts to the ProcessFlow REST API
|
|
14
|
+
* (POST /api/now/processflow/flow/{id}/test). This is the preferred tool
|
|
15
|
+
* when iteratively building and testing flows in Flow Designer.
|
|
16
|
+
*
|
|
17
|
+
* The method fetches the full flow definition, merges in the provided
|
|
18
|
+
* outputMap (trigger test values), and submits it to the test endpoint —
|
|
19
|
+
* identical to what the 'Test' button in Flow Designer does.
|
|
20
|
+
*
|
|
21
|
+
* @param server - The McpServer instance to register the tool on
|
|
22
|
+
*/
|
|
23
|
+
export declare function registerTestFlowTool(server: McpServer): void;
|
|
24
|
+
/**
|
|
25
|
+
* Registers the copy_flow MCP tool.
|
|
26
|
+
*
|
|
27
|
+
* Copies an existing Flow Designer flow into a target scoped application
|
|
28
|
+
* using FlowManager.copyFlow(), which posts to the ProcessFlow REST API
|
|
29
|
+
* (POST /api/now/processflow/flow/{id}/copy).
|
|
30
|
+
*
|
|
31
|
+
* This is the best-practice first step in the ServiceNow workflow
|
|
32
|
+
* for modifying any flow — OOB and shared flows must never be modified
|
|
33
|
+
* directly. The copy lands in draft/unpublished state in the target scope
|
|
34
|
+
* and can then be pulled locally, modified, pushed, tested, and published.
|
|
35
|
+
*
|
|
36
|
+
* Full lifecycle:
|
|
37
|
+
* copy_flow → now-sdk transform → modify → push → test_flow → publish_flow
|
|
38
|
+
*
|
|
39
|
+
* @param server - The McpServer instance to register the tool on
|
|
40
|
+
*/
|
|
41
|
+
export declare function registerCopyFlowTool(server: McpServer): void;
|
|
42
|
+
/**
|
|
43
|
+
* Registers the get_flow_execution_details MCP tool.
|
|
44
|
+
*
|
|
45
|
+
* Returns rich execution data for a flow context: per-action timing, inputs,
|
|
46
|
+
* outputs, execution metadata (who ran it, test vs production, runtime, etc.).
|
|
47
|
+
* Uses FlowManager.getFlowContextDetails() which calls the ProcessFlow operations API
|
|
48
|
+
* (GET /api/now/processflow/operations/flow/context/{id}).
|
|
49
|
+
*
|
|
50
|
+
* This is the primary tool to use after test_flow to understand what happened
|
|
51
|
+
* in an execution, diagnose failures, and iterate on the flow definition.
|
|
52
|
+
*
|
|
53
|
+
* @param server - The McpServer instance to register the tool on
|
|
54
|
+
*/
|
|
55
|
+
export declare function registerGetFlowExecutionDetailsTool(server: McpServer): void;
|
|
56
|
+
/**
|
|
57
|
+
* Registers the get_flow_logs MCP tool.
|
|
58
|
+
*
|
|
59
|
+
* Retrieves flow execution log entries from sys_flow_log for a given context.
|
|
60
|
+
* Uses FlowManager.getFlowLogs() to query the log table.
|
|
61
|
+
*
|
|
62
|
+
* Log entries include error messages, step-level logs, and cancellation reasons.
|
|
63
|
+
* They may be empty for simple successful executions or when logging is disabled.
|
|
64
|
+
*
|
|
65
|
+
* @param server - The McpServer instance to register the tool on
|
|
66
|
+
*/
|
|
67
|
+
export declare function registerGetFlowLogsTool(server: McpServer): void;
|
|
9
68
|
//# sourceMappingURL=flow.d.ts.map
|
package/dist/tools/flow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/tools/flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/tools/flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsHpE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqD/D;AAMD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoDlE;AAMD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmDjE;AAMD,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiExE;AAMD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8DlE;AAMD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8DhE;AA4CD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8D9D;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuF5D;AA+CD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6E5D;AA+JD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiF3E;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoE/D"}
|
package/dist/tools/flow.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { FlowManager } from "@sonisoft/now-sdk-ext-core";
|
|
2
|
+
import { FlowManager, } from "@sonisoft/now-sdk-ext-core";
|
|
3
3
|
import { withConnectionRetry } from "../common/connection.js";
|
|
4
4
|
/**
|
|
5
5
|
* Instance parameter description shared across flow tools.
|
|
@@ -83,13 +83,17 @@ function formatExecutionResult(result) {
|
|
|
83
83
|
export function registerExecuteFlowTool(server) {
|
|
84
84
|
server.registerTool("execute_flow", {
|
|
85
85
|
title: "Execute Flow",
|
|
86
|
-
description: "Execute a ServiceNow Flow Designer flow by scoped name. " +
|
|
86
|
+
description: "Execute a published ServiceNow Flow Designer flow by scoped name. " +
|
|
87
87
|
"Runs the flow using sn_fd.FlowAPI via a background script.\n\n" +
|
|
88
88
|
"In foreground mode (default), the call blocks until the flow completes and " +
|
|
89
89
|
"returns outputs directly. In background mode, it returns immediately with a " +
|
|
90
90
|
"context ID that you can poll with get_flow_context_status.\n\n" +
|
|
91
91
|
"IMPORTANT: Flows with approval or wait steps MUST use background mode — " +
|
|
92
|
-
"foreground mode will fail if the flow enters a waiting state
|
|
92
|
+
"foreground mode will fail if the flow enters a waiting state.\n\n" +
|
|
93
|
+
"NOTE: This tool requires the flow to be published. If you are iterating and " +
|
|
94
|
+
"building a flow that may not be published yet, use test_flow instead — it " +
|
|
95
|
+
"tests the flow in its current draft state, exactly as the 'Test' button in " +
|
|
96
|
+
"Flow Designer does.",
|
|
93
97
|
inputSchema: executionInputSchema,
|
|
94
98
|
}, async ({ instance, scoped_name, inputs, mode, timeout, quick, scope }) => {
|
|
95
99
|
try {
|
|
@@ -382,6 +386,37 @@ export function registerGetFlowErrorTool(server) {
|
|
|
382
386
|
});
|
|
383
387
|
}
|
|
384
388
|
// ============================================================
|
|
389
|
+
// Helper: format FlowTestResult for test_flow output
|
|
390
|
+
// ============================================================
|
|
391
|
+
function formatTestResult(result, runOnThread) {
|
|
392
|
+
const lines = [];
|
|
393
|
+
lines.push("=== Flow Test Result ===");
|
|
394
|
+
lines.push(`Success: ${result.success}`);
|
|
395
|
+
if (result.contextId) {
|
|
396
|
+
lines.push(`Context ID: ${result.contextId}`);
|
|
397
|
+
lines.push("");
|
|
398
|
+
if (runOnThread) {
|
|
399
|
+
// Synchronous execution — the flow has already completed on the server.
|
|
400
|
+
// The context ID can still be used to inspect outputs or errors.
|
|
401
|
+
lines.push("The flow ran synchronously. Use get_flow_outputs to retrieve outputs " +
|
|
402
|
+
"or get_flow_error if the flow encountered an error.");
|
|
403
|
+
}
|
|
404
|
+
else {
|
|
405
|
+
// Asynchronous execution — poll until complete.
|
|
406
|
+
lines.push("The test has been submitted. Use get_flow_context_status to poll " +
|
|
407
|
+
"the execution status, then get_flow_outputs or get_flow_error once complete.");
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
if (result.errorMessage) {
|
|
411
|
+
lines.push("");
|
|
412
|
+
lines.push(`Error: ${result.errorMessage}`);
|
|
413
|
+
}
|
|
414
|
+
if (result.errorCode !== undefined && result.errorCode !== 0) {
|
|
415
|
+
lines.push(`Error Code: ${result.errorCode}`);
|
|
416
|
+
}
|
|
417
|
+
return lines.join("\n");
|
|
418
|
+
}
|
|
419
|
+
// ============================================================
|
|
385
420
|
// 7. cancel_flow
|
|
386
421
|
// ============================================================
|
|
387
422
|
export function registerCancelFlowTool(server) {
|
|
@@ -433,4 +468,481 @@ export function registerCancelFlowTool(server) {
|
|
|
433
468
|
}
|
|
434
469
|
});
|
|
435
470
|
}
|
|
471
|
+
// ============================================================
|
|
472
|
+
// 8. test_flow
|
|
473
|
+
// ============================================================
|
|
474
|
+
/**
|
|
475
|
+
* Registers the test_flow MCP tool.
|
|
476
|
+
*
|
|
477
|
+
* Tests a Flow Designer flow without requiring it to be published first.
|
|
478
|
+
* Uses FlowManager.testFlow(), which posts to the ProcessFlow REST API
|
|
479
|
+
* (POST /api/now/processflow/flow/{id}/test). This is the preferred tool
|
|
480
|
+
* when iteratively building and testing flows in Flow Designer.
|
|
481
|
+
*
|
|
482
|
+
* The method fetches the full flow definition, merges in the provided
|
|
483
|
+
* outputMap (trigger test values), and submits it to the test endpoint —
|
|
484
|
+
* identical to what the 'Test' button in Flow Designer does.
|
|
485
|
+
*
|
|
486
|
+
* @param server - The McpServer instance to register the tool on
|
|
487
|
+
*/
|
|
488
|
+
export function registerTestFlowTool(server) {
|
|
489
|
+
server.registerTool("test_flow", {
|
|
490
|
+
title: "Test Flow (Flow Designer)",
|
|
491
|
+
description: "Test a ServiceNow Flow Designer flow without requiring it to be published. " +
|
|
492
|
+
"This is the PRIMARY tool to use when building and iterating on a flow — it " +
|
|
493
|
+
"invokes the same API as the 'Test' button in Flow Designer, running the flow " +
|
|
494
|
+
"in its current saved (draft) state.\n\n" +
|
|
495
|
+
"Unlike execute_flow (which requires a published flow and uses sn_fd.FlowAPI), " +
|
|
496
|
+
"test_flow works on unpublished drafts via the ProcessFlow REST API " +
|
|
497
|
+
"(POST /api/now/processflow/flow/{id}/test).\n\n" +
|
|
498
|
+
"Provide the flow's sys_id or scoped name in flow_id, and supply trigger output " +
|
|
499
|
+
"variable values in output_map. For record-triggered flows this is typically " +
|
|
500
|
+
'{ "current": "<record_sys_id>", "table_name": "<table>" }. Check the flow\'s ' +
|
|
501
|
+
"trigger configuration in Flow Designer to determine the correct variable names.\n\n" +
|
|
502
|
+
"The tool returns a context ID on success — use get_flow_context_status to poll " +
|
|
503
|
+
"the execution, then get_flow_outputs or get_flow_error once complete.",
|
|
504
|
+
inputSchema: {
|
|
505
|
+
instance: z.string().optional().describe(INSTANCE_DESC),
|
|
506
|
+
flow_id: z
|
|
507
|
+
.string()
|
|
508
|
+
.describe("Flow sys_id (32-char hex) or scoped name (e.g., \"x_myapp.my_flow\"). " +
|
|
509
|
+
"The flow does not need to be published."),
|
|
510
|
+
output_map: z
|
|
511
|
+
.record(z.string())
|
|
512
|
+
.describe("Maps trigger output variable names to concrete test values. " +
|
|
513
|
+
"Keys are the variable names defined in the flow's trigger configuration in Flow Designer. " +
|
|
514
|
+
'For record-triggered flows: { "current": "<record_sys_id>", "table_name": "<table>" }. ' +
|
|
515
|
+
"Open the flow in Flow Designer and inspect the trigger to see the available variable names."),
|
|
516
|
+
scope: z
|
|
517
|
+
.string()
|
|
518
|
+
.optional()
|
|
519
|
+
.describe("Scope sys_id for the transaction scope query parameter. " +
|
|
520
|
+
"If omitted, the scope is auto-resolved from the flow definition."),
|
|
521
|
+
run_on_thread: z
|
|
522
|
+
.boolean()
|
|
523
|
+
.optional()
|
|
524
|
+
.describe("Whether to run the test synchronously on the current thread. Default: true."),
|
|
525
|
+
},
|
|
526
|
+
}, async ({ instance, flow_id, output_map, scope, run_on_thread }) => {
|
|
527
|
+
const runOnThread = run_on_thread ?? true;
|
|
528
|
+
try {
|
|
529
|
+
const result = await withConnectionRetry(instance, async (snInstance) => {
|
|
530
|
+
// Do not pass scope to the FlowManager constructor — that scope only
|
|
531
|
+
// applies to BackgroundScriptExecutor, which testFlow does not use.
|
|
532
|
+
// The scope for the ProcessFlow REST API is passed via testFlow options.
|
|
533
|
+
const mgr = new FlowManager(snInstance);
|
|
534
|
+
return await mgr.testFlow({
|
|
535
|
+
flowId: flow_id,
|
|
536
|
+
outputMap: output_map,
|
|
537
|
+
scope,
|
|
538
|
+
runOnThread,
|
|
539
|
+
});
|
|
540
|
+
});
|
|
541
|
+
return {
|
|
542
|
+
content: [{ type: "text", text: formatTestResult(result, runOnThread) }],
|
|
543
|
+
};
|
|
544
|
+
}
|
|
545
|
+
catch (error) {
|
|
546
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
547
|
+
return {
|
|
548
|
+
content: [
|
|
549
|
+
{
|
|
550
|
+
type: "text",
|
|
551
|
+
text: `Error testing flow: ${message}`,
|
|
552
|
+
},
|
|
553
|
+
],
|
|
554
|
+
isError: true,
|
|
555
|
+
};
|
|
556
|
+
}
|
|
557
|
+
});
|
|
558
|
+
}
|
|
559
|
+
// ============================================================
|
|
560
|
+
// Helper: format FlowCopyResult for copy_flow output
|
|
561
|
+
// ============================================================
|
|
562
|
+
function formatCopyResult(result) {
|
|
563
|
+
const lines = [];
|
|
564
|
+
lines.push("=== Flow Copy Result ===");
|
|
565
|
+
lines.push(`Success: ${result.success}`);
|
|
566
|
+
if (result.newFlowSysId) {
|
|
567
|
+
lines.push(`New Flow sys_id: ${result.newFlowSysId}`);
|
|
568
|
+
lines.push("");
|
|
569
|
+
lines.push("The flow has been copied into your application scope in draft/unpublished state.");
|
|
570
|
+
lines.push("");
|
|
571
|
+
lines.push("Recommended next steps:");
|
|
572
|
+
lines.push(`1. Pull the flow using: now-sdk transform --flow ${result.newFlowSysId}`);
|
|
573
|
+
lines.push("2. Modify the pulled source in your project");
|
|
574
|
+
lines.push("3. Push your changes back to the instance");
|
|
575
|
+
lines.push("4. Test with test_flow");
|
|
576
|
+
lines.push("5. Publish with publish_flow when ready");
|
|
577
|
+
}
|
|
578
|
+
else if (result.success) {
|
|
579
|
+
lines.push("");
|
|
580
|
+
lines.push("No new flow sys_id returned — copy may not have completed successfully.");
|
|
581
|
+
}
|
|
582
|
+
if (result.errorMessage) {
|
|
583
|
+
lines.push("");
|
|
584
|
+
lines.push(`Error: ${result.errorMessage}`);
|
|
585
|
+
}
|
|
586
|
+
if (result.errorCode !== undefined && result.errorCode !== 0) {
|
|
587
|
+
lines.push(`Error Code: ${result.errorCode}`);
|
|
588
|
+
}
|
|
589
|
+
return lines.join("\n");
|
|
590
|
+
}
|
|
591
|
+
// ============================================================
|
|
592
|
+
// 9. copy_flow
|
|
593
|
+
// ============================================================
|
|
594
|
+
/**
|
|
595
|
+
* Registers the copy_flow MCP tool.
|
|
596
|
+
*
|
|
597
|
+
* Copies an existing Flow Designer flow into a target scoped application
|
|
598
|
+
* using FlowManager.copyFlow(), which posts to the ProcessFlow REST API
|
|
599
|
+
* (POST /api/now/processflow/flow/{id}/copy).
|
|
600
|
+
*
|
|
601
|
+
* This is the best-practice first step in the ServiceNow workflow
|
|
602
|
+
* for modifying any flow — OOB and shared flows must never be modified
|
|
603
|
+
* directly. The copy lands in draft/unpublished state in the target scope
|
|
604
|
+
* and can then be pulled locally, modified, pushed, tested, and published.
|
|
605
|
+
*
|
|
606
|
+
* Full lifecycle:
|
|
607
|
+
* copy_flow → now-sdk transform → modify → push → test_flow → publish_flow
|
|
608
|
+
*
|
|
609
|
+
* @param server - The McpServer instance to register the tool on
|
|
610
|
+
*/
|
|
611
|
+
export function registerCopyFlowTool(server) {
|
|
612
|
+
server.registerTool("copy_flow", {
|
|
613
|
+
title: "Copy Flow (Flow Designer)",
|
|
614
|
+
description: "Copy an existing ServiceNow Flow Designer flow into a target scoped application. " +
|
|
615
|
+
"This is the best-practice first step when you want to modify any flow — " +
|
|
616
|
+
"OOB (out-of-box) and shared flows should not be modified directly. Copying " +
|
|
617
|
+
"into your application scope first keeps the original intact and gives you a " +
|
|
618
|
+
"flow you own and can freely modify.\n\n" +
|
|
619
|
+
"This tool enables the full AI-assisted flow development lifecycle:\n" +
|
|
620
|
+
" copy_flow → pull with 'now-sdk transform' → modify → push → test_flow → publish_flow\n\n" +
|
|
621
|
+
"The copied flow lands in draft/unpublished state in the target scope with a new " +
|
|
622
|
+
"sys_id, independent of the source. The tool returns the new flow's sys_id and " +
|
|
623
|
+
"prints the exact 'now-sdk transform' command to pull it locally.\n\n" +
|
|
624
|
+
"Use list_scoped_apps to find the target_scope sys_id for your application.",
|
|
625
|
+
inputSchema: {
|
|
626
|
+
instance: z.string().optional().describe(INSTANCE_DESC),
|
|
627
|
+
source_flow_id: z
|
|
628
|
+
.string()
|
|
629
|
+
.describe("Source flow sys_id (32-char hex) or scoped name (e.g., \"global.change__standard\"). " +
|
|
630
|
+
"This is the flow you want to copy. It can be an OOB flow, a flow in global scope, " +
|
|
631
|
+
"or a flow in any other application scope."),
|
|
632
|
+
name: z
|
|
633
|
+
.string()
|
|
634
|
+
.describe("Display name for the newly created flow copy " +
|
|
635
|
+
"(e.g., \"Copy of Change - Standard\"). " +
|
|
636
|
+
"This becomes the flow's name in Flow Designer."),
|
|
637
|
+
target_scope: z
|
|
638
|
+
.string()
|
|
639
|
+
.describe("Scope sys_id of the target application to copy the flow into. " +
|
|
640
|
+
"This must be a sys_id (not a scope name). " +
|
|
641
|
+
"Use list_scoped_apps to find the sys_id for your application scope."),
|
|
642
|
+
},
|
|
643
|
+
}, async ({ instance, source_flow_id, name, target_scope }) => {
|
|
644
|
+
try {
|
|
645
|
+
const result = await withConnectionRetry(instance, async (snInstance) => {
|
|
646
|
+
// Do not pass scope to the FlowManager constructor — that scope only
|
|
647
|
+
// applies to BackgroundScriptExecutor, which copyFlow does not use
|
|
648
|
+
// (it uses the ProcessFlow REST API directly).
|
|
649
|
+
const mgr = new FlowManager(snInstance);
|
|
650
|
+
return await mgr.copyFlow({
|
|
651
|
+
sourceFlowId: source_flow_id,
|
|
652
|
+
name,
|
|
653
|
+
targetScope: target_scope,
|
|
654
|
+
});
|
|
655
|
+
});
|
|
656
|
+
return {
|
|
657
|
+
content: [{ type: "text", text: formatCopyResult(result) }],
|
|
658
|
+
};
|
|
659
|
+
}
|
|
660
|
+
catch (error) {
|
|
661
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
662
|
+
return {
|
|
663
|
+
content: [
|
|
664
|
+
{
|
|
665
|
+
type: "text",
|
|
666
|
+
text: `Error copying flow: ${message}`,
|
|
667
|
+
},
|
|
668
|
+
],
|
|
669
|
+
isError: true,
|
|
670
|
+
};
|
|
671
|
+
}
|
|
672
|
+
});
|
|
673
|
+
}
|
|
674
|
+
// ============================================================
|
|
675
|
+
// Helper: format FlowContextDetailsResult for get_flow_execution_details
|
|
676
|
+
// ============================================================
|
|
677
|
+
function formatFlowExecutionDetails(result) {
|
|
678
|
+
const lines = [];
|
|
679
|
+
lines.push("=== Flow Execution Details ===");
|
|
680
|
+
lines.push(`Context ID: ${result.contextId}`);
|
|
681
|
+
const ctx = result.flowContext;
|
|
682
|
+
if (ctx) {
|
|
683
|
+
lines.push(`Flow: ${ctx.name}`);
|
|
684
|
+
lines.push(`State: ${ctx.state}`);
|
|
685
|
+
lines.push(`Runtime: ${ctx.runTime}ms`);
|
|
686
|
+
lines.push(`Test Run: ${ctx.isTestRun}`);
|
|
687
|
+
lines.push(`Executed As: ${ctx.executedAs}`);
|
|
688
|
+
lines.push(`Initiated By: ${ctx.flowInitiatedBy}`);
|
|
689
|
+
if (ctx.executionSource?.callingSource) {
|
|
690
|
+
lines.push(`Triggered By: ${ctx.executionSource.callingSource}`);
|
|
691
|
+
}
|
|
692
|
+
if (ctx.executionSource?.executionSourceTable) {
|
|
693
|
+
lines.push(`Source Table: ${ctx.executionSource.executionSourceTable}`);
|
|
694
|
+
}
|
|
695
|
+
if (ctx.executionSource?.executionSourceRecordDisplay) {
|
|
696
|
+
lines.push(`Source Record: ${ctx.executionSource.executionSourceRecordDisplay}`);
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
const report = result.flowReport;
|
|
700
|
+
if (report) {
|
|
701
|
+
const actionReports = Object.values(report.actionOperationsReports ?? {});
|
|
702
|
+
const subflowReports = Object.values(report.subflowOperationsReports ?? {});
|
|
703
|
+
const allReports = [...actionReports, ...subflowReports].sort((a, b) => parseInt(a.operationsCore.order, 10) - parseInt(b.operationsCore.order, 10));
|
|
704
|
+
if (allReports.length > 0) {
|
|
705
|
+
lines.push("");
|
|
706
|
+
lines.push("--- Action Results ---");
|
|
707
|
+
allReports.forEach((action, idx) => {
|
|
708
|
+
const label = action.stepLabel ??
|
|
709
|
+
action.actionTypeName ??
|
|
710
|
+
`Action ${action.actionName}`;
|
|
711
|
+
const state = action.operationsCore.state;
|
|
712
|
+
const runTime = action.operationsCore.runTime;
|
|
713
|
+
lines.push(`${idx + 1}. ${label} [${state}, ${runTime}ms]`);
|
|
714
|
+
if (action.operationsCore.error) {
|
|
715
|
+
lines.push(` Error: ${action.operationsCore.error}`);
|
|
716
|
+
}
|
|
717
|
+
const inputs = action.operationsInput?.data;
|
|
718
|
+
if (inputs && Object.keys(inputs).length > 0) {
|
|
719
|
+
const simplified = {};
|
|
720
|
+
for (const [k, v] of Object.entries(inputs)) {
|
|
721
|
+
simplified[k] = v.displayValue ?? v.value;
|
|
722
|
+
}
|
|
723
|
+
lines.push(` Inputs: ${JSON.stringify(simplified)}`);
|
|
724
|
+
}
|
|
725
|
+
const outputs = action.operationsOutput?.data;
|
|
726
|
+
if (outputs && Object.keys(outputs).length > 0) {
|
|
727
|
+
const simplified = {};
|
|
728
|
+
for (const [k, v] of Object.entries(outputs)) {
|
|
729
|
+
simplified[k] = v.displayValue ?? v.value;
|
|
730
|
+
}
|
|
731
|
+
lines.push(` Outputs: ${JSON.stringify(simplified)}`);
|
|
732
|
+
}
|
|
733
|
+
});
|
|
734
|
+
}
|
|
735
|
+
// Top-level flow outputs
|
|
736
|
+
const flowOutputs = report.operationsOutput?.data;
|
|
737
|
+
if (flowOutputs && Object.keys(flowOutputs).length > 0) {
|
|
738
|
+
lines.push("");
|
|
739
|
+
lines.push("--- Flow Outputs ---");
|
|
740
|
+
for (const [k, v] of Object.entries(flowOutputs)) {
|
|
741
|
+
lines.push(` ${k}: ${v.displayValue ?? v.value}`);
|
|
742
|
+
}
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
// Report availability notice (shown when flowReport is missing)
|
|
746
|
+
const avail = result.flowReportAvailabilityDetails;
|
|
747
|
+
if (avail?.errorMessage && !report) {
|
|
748
|
+
lines.push("");
|
|
749
|
+
lines.push(`Note: ${avail.errorMessage}`);
|
|
750
|
+
}
|
|
751
|
+
if (result.errorMessage) {
|
|
752
|
+
lines.push("");
|
|
753
|
+
lines.push(`Error: ${result.errorMessage}`);
|
|
754
|
+
}
|
|
755
|
+
return lines.join("\n");
|
|
756
|
+
}
|
|
757
|
+
// ============================================================
|
|
758
|
+
// Helper: format FlowLogResult for get_flow_logs
|
|
759
|
+
// ============================================================
|
|
760
|
+
function mapLogLevel(level) {
|
|
761
|
+
switch (level) {
|
|
762
|
+
case "-1":
|
|
763
|
+
return "ERROR";
|
|
764
|
+
case "1":
|
|
765
|
+
return "WARN ";
|
|
766
|
+
case "2":
|
|
767
|
+
return "INFO ";
|
|
768
|
+
case "3":
|
|
769
|
+
return "DEBUG";
|
|
770
|
+
default:
|
|
771
|
+
return `L${level} `;
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
function formatFlowLogs(result) {
|
|
775
|
+
const lines = [];
|
|
776
|
+
lines.push("=== Flow Execution Logs ===");
|
|
777
|
+
lines.push(`Context ID: ${result.contextId}`);
|
|
778
|
+
lines.push(`Entries: ${result.entries.length}`);
|
|
779
|
+
if (result.entries.length === 0) {
|
|
780
|
+
lines.push("");
|
|
781
|
+
lines.push("No log entries found. Logs may be empty for simple successful executions, " +
|
|
782
|
+
"or flow logging may be disabled (reporting level NONE).");
|
|
783
|
+
}
|
|
784
|
+
else {
|
|
785
|
+
lines.push("");
|
|
786
|
+
result.entries.forEach((entry, idx) => {
|
|
787
|
+
const level = mapLogLevel(entry.level);
|
|
788
|
+
const action = entry.action || "(flow)";
|
|
789
|
+
const ts = entry.createdOn ? ` [${entry.createdOn}]` : "";
|
|
790
|
+
lines.push(`[${idx + 1}] ${level} | ${action.slice(0, 30).padEnd(30)} | ${entry.message}${ts}`);
|
|
791
|
+
});
|
|
792
|
+
}
|
|
793
|
+
if (result.errorMessage) {
|
|
794
|
+
lines.push("");
|
|
795
|
+
lines.push(`Error: ${result.errorMessage}`);
|
|
796
|
+
}
|
|
797
|
+
return lines.join("\n");
|
|
798
|
+
}
|
|
799
|
+
// ============================================================
|
|
800
|
+
// 10. get_flow_execution_details
|
|
801
|
+
// ============================================================
|
|
802
|
+
/**
|
|
803
|
+
* Registers the get_flow_execution_details MCP tool.
|
|
804
|
+
*
|
|
805
|
+
* Returns rich execution data for a flow context: per-action timing, inputs,
|
|
806
|
+
* outputs, execution metadata (who ran it, test vs production, runtime, etc.).
|
|
807
|
+
* Uses FlowManager.getFlowContextDetails() which calls the ProcessFlow operations API
|
|
808
|
+
* (GET /api/now/processflow/operations/flow/context/{id}).
|
|
809
|
+
*
|
|
810
|
+
* This is the primary tool to use after test_flow to understand what happened
|
|
811
|
+
* in an execution, diagnose failures, and iterate on the flow definition.
|
|
812
|
+
*
|
|
813
|
+
* @param server - The McpServer instance to register the tool on
|
|
814
|
+
*/
|
|
815
|
+
export function registerGetFlowExecutionDetailsTool(server) {
|
|
816
|
+
server.registerTool("get_flow_execution_details", {
|
|
817
|
+
title: "Get Flow Execution Details",
|
|
818
|
+
description: "Get rich execution details for a flow context: per-action timing, inputs, " +
|
|
819
|
+
"outputs, and high-level metadata (state, runtime, who ran it, test vs production).\n\n" +
|
|
820
|
+
"This is the primary diagnostic tool after test_flow or execute_flow — use it to " +
|
|
821
|
+
"understand what each action did, identify which step failed, inspect inputs and " +
|
|
822
|
+
"outputs, and iterate on the flow definition.\n\n" +
|
|
823
|
+
"Uses the ProcessFlow operations API (GET /api/now/processflow/operations/flow/context/{id}), " +
|
|
824
|
+
"the same endpoint Flow Designer uses to display execution details.\n\n" +
|
|
825
|
+
"IMPORTANT: Requires flow operations logging to be enabled on the instance. If " +
|
|
826
|
+
"the execution report is unavailable, the response will include a notice explaining why.\n\n" +
|
|
827
|
+
"Typical workflow:\n" +
|
|
828
|
+
" test_flow → get_flow_execution_details → diagnose → modify flow → test_flow again",
|
|
829
|
+
inputSchema: {
|
|
830
|
+
instance: z.string().optional().describe(INSTANCE_DESC),
|
|
831
|
+
context_id: z
|
|
832
|
+
.string()
|
|
833
|
+
.describe("The flow context sys_id returned by test_flow, execute_flow, " +
|
|
834
|
+
"execute_subflow, or execute_action (the contextId field in the result)."),
|
|
835
|
+
scope: z
|
|
836
|
+
.string()
|
|
837
|
+
.optional()
|
|
838
|
+
.describe("Scope sys_id for the ProcessFlow API transaction scope query parameter. " +
|
|
839
|
+
"If omitted, the API uses the default scope."),
|
|
840
|
+
include_flow_definition: z
|
|
841
|
+
.boolean()
|
|
842
|
+
.optional()
|
|
843
|
+
.describe("Whether to include the full flow definition snapshot in the response. " +
|
|
844
|
+
"Default: false. Enable only when you need to inspect the raw flow structure."),
|
|
845
|
+
},
|
|
846
|
+
}, async ({ instance, context_id, scope, include_flow_definition }) => {
|
|
847
|
+
try {
|
|
848
|
+
const result = await withConnectionRetry(instance, async (snInstance) => {
|
|
849
|
+
// Do not pass scope to the FlowManager constructor — that scope only
|
|
850
|
+
// applies to BackgroundScriptExecutor. getFlowContextDetails uses
|
|
851
|
+
// the ProcessFlow REST API and receives scope via its own parameter.
|
|
852
|
+
const mgr = new FlowManager(snInstance);
|
|
853
|
+
return await mgr.getFlowContextDetails(context_id, scope, include_flow_definition);
|
|
854
|
+
});
|
|
855
|
+
return {
|
|
856
|
+
content: [
|
|
857
|
+
{
|
|
858
|
+
type: "text",
|
|
859
|
+
text: formatFlowExecutionDetails(result),
|
|
860
|
+
},
|
|
861
|
+
],
|
|
862
|
+
};
|
|
863
|
+
}
|
|
864
|
+
catch (error) {
|
|
865
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
866
|
+
return {
|
|
867
|
+
content: [
|
|
868
|
+
{
|
|
869
|
+
type: "text",
|
|
870
|
+
text: `Error getting flow execution details: ${message}`,
|
|
871
|
+
},
|
|
872
|
+
],
|
|
873
|
+
isError: true,
|
|
874
|
+
};
|
|
875
|
+
}
|
|
876
|
+
});
|
|
877
|
+
}
|
|
878
|
+
// ============================================================
|
|
879
|
+
// 11. get_flow_logs
|
|
880
|
+
// ============================================================
|
|
881
|
+
/**
|
|
882
|
+
* Registers the get_flow_logs MCP tool.
|
|
883
|
+
*
|
|
884
|
+
* Retrieves flow execution log entries from sys_flow_log for a given context.
|
|
885
|
+
* Uses FlowManager.getFlowLogs() to query the log table.
|
|
886
|
+
*
|
|
887
|
+
* Log entries include error messages, step-level logs, and cancellation reasons.
|
|
888
|
+
* They may be empty for simple successful executions or when logging is disabled.
|
|
889
|
+
*
|
|
890
|
+
* @param server - The McpServer instance to register the tool on
|
|
891
|
+
*/
|
|
892
|
+
export function registerGetFlowLogsTool(server) {
|
|
893
|
+
server.registerTool("get_flow_logs", {
|
|
894
|
+
title: "Get Flow Execution Logs",
|
|
895
|
+
description: "Retrieve flow execution log entries from sys_flow_log for a given context.\n\n" +
|
|
896
|
+
"Log entries include error messages, step-level debug output, and cancellation " +
|
|
897
|
+
"reasons. Use this alongside get_flow_execution_details to get the full picture " +
|
|
898
|
+
"of what happened during an execution.\n\n" +
|
|
899
|
+
"Note: Log entries may be empty for simple successful executions, or if the flow's " +
|
|
900
|
+
"reporting level is set to NONE. Errors and warnings are always logged regardless " +
|
|
901
|
+
"of the reporting level setting.",
|
|
902
|
+
inputSchema: {
|
|
903
|
+
instance: z.string().optional().describe(INSTANCE_DESC),
|
|
904
|
+
context_id: z
|
|
905
|
+
.string()
|
|
906
|
+
.describe("The flow context sys_id returned by test_flow, execute_flow, " +
|
|
907
|
+
"execute_subflow, or execute_action."),
|
|
908
|
+
limit: z
|
|
909
|
+
.number()
|
|
910
|
+
.optional()
|
|
911
|
+
.describe("Maximum number of log entries to return. Default: 100."),
|
|
912
|
+
order_direction: z
|
|
913
|
+
.enum(["asc", "desc"])
|
|
914
|
+
.optional()
|
|
915
|
+
.describe('Order direction: "asc" (default, oldest first) or "desc" (newest first).'),
|
|
916
|
+
},
|
|
917
|
+
}, async ({ instance, context_id, limit, order_direction }) => {
|
|
918
|
+
try {
|
|
919
|
+
const result = await withConnectionRetry(instance, async (snInstance) => {
|
|
920
|
+
// Do not pass scope to the FlowManager constructor — getFlowLogs
|
|
921
|
+
// queries sys_flow_log via the table API, not BackgroundScriptExecutor.
|
|
922
|
+
const mgr = new FlowManager(snInstance);
|
|
923
|
+
return await mgr.getFlowLogs(context_id, {
|
|
924
|
+
limit,
|
|
925
|
+
orderDirection: order_direction,
|
|
926
|
+
});
|
|
927
|
+
});
|
|
928
|
+
return {
|
|
929
|
+
content: [
|
|
930
|
+
{ type: "text", text: formatFlowLogs(result) },
|
|
931
|
+
],
|
|
932
|
+
};
|
|
933
|
+
}
|
|
934
|
+
catch (error) {
|
|
935
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
936
|
+
return {
|
|
937
|
+
content: [
|
|
938
|
+
{
|
|
939
|
+
type: "text",
|
|
940
|
+
text: `Error getting flow logs: ${message}`,
|
|
941
|
+
},
|
|
942
|
+
],
|
|
943
|
+
isError: true,
|
|
944
|
+
};
|
|
945
|
+
}
|
|
946
|
+
});
|
|
947
|
+
}
|
|
436
948
|
//# sourceMappingURL=flow.js.map
|
package/dist/tools/flow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/tools/flow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/tools/flow.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sonisoft/now-sdk-ext-mcp",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.1",
|
|
4
4
|
"description": "MCP server for interacting with ServiceNow instances via @sonisoft/now-sdk-ext-core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"servicenow",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"@servicenow/sdk-cli": "4.3.0",
|
|
47
47
|
"@servicenow/sdk-cli-core": "3.0.2",
|
|
48
48
|
"@servicenow/sdk-core": "4.3.0",
|
|
49
|
-
"@sonisoft/now-sdk-ext-core": "
|
|
49
|
+
"@sonisoft/now-sdk-ext-core": "3.9.0",
|
|
50
50
|
"zod": "^3.23.8"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|