We are currently on Pega 26.1.1 and have an external agent that needs to retrieve data from our Pega application. The data is stored in a Data Table, and we are planning to expose it to the agent through MCP.
My question is:
Can we simply stand up a Service MCP with a tool for this use case?
Should the tool call an Automation or a Data Page?
We need dynamic filtering based on the agent’s request so that different queries can be used to retrieve the required data.
Any guidance or recommendations would be greatly appreciated. Thank you!
For this use case, I would recommend leveraging the out-of-the-box pxInsightAgentTool. By creating an Insight on top of the Data Table and exposing this tool through Service MCP, the external agent can query the data using natural language without requiring a custom MCP tool for each retrieval scenario. The Insight handles the data access layer, while pxInsightAgentTool provides a conversational interface with dynamic filtering based on the agent’s requests. This is typically a more scalable and maintainable approach for data exploration and query use cases.
Thanks. So, should we leverage the pxCommon Service MCP that already has the pxInsightAgentTool Automation added? Based on the agent using this MCP tool, will the Pega MCP Server fetch the data from the required data table using the specified filter conditions(using natural language)? Is my understanding correct?
Yes, you could try the out-of-the-box pxCommon Service MCP rule. Just make sure you create an Insight on top of the Data Table, as the MCP tool can then leverage that Insight to provide dynamic and conversational access to the underlying data.
can you create a Service MCP and expose a tool that retrieves the required Data Object records.
Use a parameterized List Data Page behind the tool, because this requirement is mainly for reading data.
The Data Page can use a Report Definition to read the Data Table and apply the required filters.
Pass the external agent’s filter values as parameters to the Data Page so each request can return different records.
There is no need to use an Automation when the requirement is only to retrieve and filter data.
This keeps the MCP tool simple while keeping the data access and filtering logic inside the Data Page.
Thanks. Regarding below, Pega will manipulate Agent’s request to pass the required filter conditions values (like pxCreateDateTime) accordingly? Do we need to code anything at the agent level to rationalize the data before calling this Service MCP?
Pass the external agent’s filter values as parameters to the Data Page so each request can return different records.