Built-in MCP Tools

From QPR ProcessAnalyzer Wiki
Jump to navigation Jump to search

This feature is available in the QPR ProcessAnalyzer 2026.6 release.

QPR ProcessAnalyzer ships with the following built-in MCP tools that allow an MCP client to explore process models and run analytical queries against them.

Overview

The built-in tools are by default available in the MCP interface. All the tools are read-only, so they only retrieve data and never modify models, datatables, or any other server-side state. In addition to the built-in MCP tools, users can implement custom MCP tools using scripts.

It's possible to temporarily disable the built-in MCP tools using the EnabledPrimitives setting if they are undesired.

The built-in MCP tools are exposed in a system project (named _System) containing system scripts, one for each built-in MCP tool. System projects and scripts are content that cannot be modified and are not shown in the user interface. The built-in MCP tools can be listed using the expression language by querying SystemScripts in the Expression Designer.

A typical workflow is to first call List Available QPR ProcessAnalyzer Models to find a model of interest, then call Get QPR ProcessAnalyzer Model Details to inspect its structure (datatables, columns, object types), and finally use several calls for the Get QPR ProcessAnalyzer Generic Query to perform analyses from different viewpoints to answer to the questions of interest.

Built-in Tools

List Available QPR ProcessAnalyzer Models

Lists all QPR ProcessAnalyzer models in the server where the user has permissions. For each model it returns basic metadata such as the model ID, name, and description, and whether it is object-centric or case-centric. This tool is read-only.

Inputs. This tool takes no input parameters.

Outputs. The tool returns an object with a single models property, which is an array of model objects. Each model object contains a unique ID (integer), a name and description (strings), and an isObjectCentric flag that is true for object-centric (OCPM) models and false for case-centric ones. Each object also includes audit information: createdDate and modifiedDate (ISO date-time strings) together with createdBy and modifiedBy (the names of the users who created and last modified the model). Only models that pass a validity check are included in the result.

Get QPR ProcessAnalyzer Model Details

Returns detailed information about a single model, identified by its ID. In addition to the basic metadata also returned by the List Available QPR ProcessAnalyzer Models tool, this tool exposes the model's configuration and the datatables it uses, including their columns, data types, primary keys, and foreign keys. This is the recommended way to discover the exact table and column names needed to build a query. This tool is read-only.

Inputs. The tool takes one required parameter, model ID (integer), the identifier of the model to retrieve details for.

Outputs. The tool returns an object describing the model. It contains the same identity and audit fields as a model object from List Available QPR ProcessAnalyzer Models (id, name, description, isObjectCentric, createdDate, createdBy, modifiedDate, and modifiedBy). In addition, it includes a configuration object holding the model's configuration (for object-centric models this includes the OcelDataSource block with the available object types), and a usedDataTables array describing the data tables used by the model.

Each datatable entry includes its ID, name and description, its audit fields (created fate, created by, modified date, modified by), and its configuration. It also reports the data source type (Snowflake or SQL Server), the data source object type (Table or View), and the number of rows in the underlying data source table (nullable). Each datatable further contains columns and foreign keys.

Every column reports its Name, its Data type (one of Any, String, Boolean, Integer, Float, or DateTime), and a Primary key flag that is true only when the column is a primary key of the datatable. Each foreign key defines a TargetDatatable (the referenced datatable) and a Columns list of source-to-target column mappings, each mapping a Source column name to a Target column name.

QPR ProcessAnalyzer Generic Query

Runs a generic analytical query against a QPR ProcessAnalyzer model. Queries are written using the QPR ProcessAnalyzer query syntax and expression language, which lets you select a root dataset (such as cases, events, variations, or flows), group it into dimensions, and compute aggregated values. The tool supports all types of models, i.e., Snowflake and in-memory case-centric models and Snowflake object-centric (OCPM) models. Despite its analytical power, this tool is designed to be read-only, so it only reads and aggregates existing data and never modifies it.

Inputs. The tool takes a single object parameter, called the query configuration, specifying the query using the QPR ProcessAnalyzer query syntax. The query contains the model ID to query, the root dataset to operate on, an optional filter, and the dimensions and values that shape the output.

Outputs. The result is a tabular dataset consisting of rows and named columns. The number of rows and columns depend on the query.