MCP Tool Examples: Difference between revisions

From QPR ProcessAnalyzer Wiki
Jump to navigation Jump to search
Line 4: Line 4:


== List of Models ==
== List of Models ==
 
Returns a CSV data of list of models accessible for the user, with following fields: Model name, Containing project name, Model ID, Case attributes, Event attributes, Case count, and Event count.
<syntaxhighlight lang="typescript" line>
<syntaxhighlight lang="typescript" line>
let modelId = 161351;
let modelId = 161351;

Revision as of 00:32, 17 April 2026

This page contains example scripts that can be used as MCP tools.

Make sure to create the MCP tool scripts in a way that they return a string value.

List of Models

Returns a CSV data of list of models accessible for the user, with following fields: Model name, Containing project name, Model ID, Case attributes, Event attributes, Case count, and Event count.

let modelId = 161351;
let result = Query(#{
	"Dimensions": null,
	"Values": [
		#{
			"Name": "Model name",
			"Expression": "Name"
		},
		#{
			"Name": "Containing project name",
			"Expression": "Project.Name"
		},
		#{
			"Name": "Model ID",
			"Expression": "Id"
		},
		#{
			"Name": "Case attributes",
			"Expression": "ToJson(If(Status==\"Online\",OrderByValue(Flatten(EventLog.CaseAttributes.Name)), CasesDatatable?.ColumnNames ?? []))"
		},
		#{
			"Name": "Event attributes",
			"Expression": "ToJson(If(Status==\"Online\",OrderByValue(Flatten(EventLog.EventAttributes.Name)), EventsDatatable?.ColumnNames ?? []))"
		},
		#{
			"Name": "Case count",
			"Expression": "CasesDatatable?.NRows"
		},
		#{
			"Name": "Event count",
			"Expression": "EventsDatatable?.NRows"
		}
	],
	"Ordering": [
		#{
			"Name": "Containing project name",
			"Direction": "Ascending"
		},
		#{
			"Name": "Model name",
			"Direction": "Ascending"
		}
	],
	"Root": "Models",
	"ContextType": "generic"
}).Collect();
return result.ToCsv();