Pega DX MCP Server
Enabling conversational interaction with Pega Infinity™ Applications
This package transforms Pega Infinity™ interactions into intuitive, conversational experiences through the Model Context Protocol. By bridging Pega DX APIs with natural language interfaces, it enables GenAI Agents, IDEs, and other MCP-enabled tools to interact with Pega Infinity™ applications using simple, human-readable commands.
🧪 Experimental
The Pega DX MCP Server is an experimental project exploring the intersection of Model Context Protocol and Pega Infinity™ capabilities. This is not an official Pegasystems product and is not generally available. All commands, parameters, and other features are subject to change or deprecation at any time, with or without notice. Do not use this MCP server for production functionality. This experiment demonstrates the potential of natural language interfaces for Pega Infinity™ interactions. We welcome feedback and contributions to help shape the future of GenAI-powered business automation.
🌟 Key Features
- 🤖 Natural Language Interface - Demonstrates conversational case creation: "Create a travel claim for John"
- 🔌 Plug-and-Play Integration - Experimental compatibility with GenAI Agents, IDEs, and MCP-enabled tools
- 🧪 Innovation Prototype - Exploring enterprise-grade patterns with comprehensive error handling approaches
- 📡 API Integration Exploration - Investigating access to cases, assignments, attachments, and data operations
- ⚡ Performance Research - Experimenting with intelligent caching and optimization strategies
- 🛡️ Security Framework - Implementing OAuth 2.1 with PKCE and role-based access control patterns
🚀 Quick Start
Prerequisites
- Node.js (22+) and npm
- Access to Pega Infinity™ (23+) with DX API enabled
- OAuth 2.1 client credentials
Installation
# Install from npm (recommended)
npm install -g @marco-looy/pega-dx-mcp
Integration with MCP Clients
Compatible with Claude Desktop, Cursor, Cline, and other MCP-enabled applications. Add to your MCP client's configuration file:
{
"mcpServers": {
"pega-dx-mcp": {
"command": "npx",
"args": ["-y", "@marco-looy/pega-dx-mcp"],
"env": {
"PEGA_BASE_URL": "https://your-pega-instance.com",
"PEGA_CLIENT_ID": "your-client-id",
"PEGA_CLIENT_SECRET": "your-client-secret"
}
}
}
}
Configuration file locations:
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) or%APPDATA%/Claude/claude_desktop_config.json
(Windows) - Cursor:
.cursor/mcp.json
in your project root - Cline: MCP settings in VS Code
Verify installation: Restart your MCP client and confirm the Pega DX tools are available.
🏗️ Architecture
The Pega DX MCP Server bridges GenAI applications with Pega Infinity using the Model Context Protocol:
🛠️ Available Tools
The Pega DX MCP Server provides 61 comprehensive tools organized into 11 functional categories. Each category can be enabled or disabled via environment variables for granular control.
🔧 Tool Configuration
Control which tool categories are loaded using environment variables in your MCP client configuration. All categories are enabled by default - set to "false"
to disable:
Example - Only core case management tools enabled:
{
"mcpServers": {
"pega-dx-mcp": {
"command": "npx",
"args": ["-y", "@marco-looy/pega-dx-mcp"],
"env": {
"PEGA_BASE_URL": "https://your-pega-instance.com",
"PEGA_CLIENT_ID": "your-client-id",
"PEGA_CLIENT_SECRET": "your-client-secret",
"PEGA_SERVICE_TOOLS": "true",
"PEGA_CASETYPE_TOOLS": "true",
"PEGA_CASE_TOOLS": "true",
"PEGA_ASSIGNMENT_TOOLS": "false",
"PEGA_ATTACHMENT_TOOLS": "false",
"PEGA_DATAVIEW_TOOLS": "false",
"PEGA_DOCUMENT_TOOLS": "false",
"PEGA_FOLLOWER_TOOLS": "false",
"PEGA_PARTICIPANT_TOOLS": "false",
"PEGA_RELATED_CASE_TOOLS": "false",
"PEGA_TAG_TOOLS": "false"
}
}
}
}
📋 Complete Tool Inventory
Assignment Tools (9)
get_assignment
- Get detailed assignment informationget_assignment_action
- Get assignment action details and UI metadataget_next_assignment
- Get next work assignment for userjump_to_step
- Navigate to specific step in assignment flownavigate_assignment_previous
- Navigate to previous step in assignmentperform_assignment_action
- Execute assignment actionsrecalculate_assignment_fields
- Recalculate assignment form fieldsrefresh_assignment_action
- Refresh assignment action form datasave_assignment_action
- Save assignment form data without executing
Attachment Tools (7)
add_case_attachments
- Attach files/URLs to casesdelete_attachment
- Remove attachments from casesget_attachment
- Retrieve attachment contentget_attachment_categories
- List available attachment categoriesget_case_attachments
- List all case attachmentsupdate_attachment
- Update attachment metadataupload_attachment
- Upload files as temporary attachments
Case Tools (16)
add_optional_process
- Add stage or case-wide optional processesbulk_cases_patch
- Perform actions on multiple caseschange_to_next_stage
- Navigate case to next stagechange_to_stage
- Navigate case to specific stagecreate_case
- Create new cases with contentdelete_case
- Delete cases in create stageget_case
- Retrieve detailed case informationget_case_action
- Get case action details and metadataget_case_ancestors
- Get case ancestor hierarchyget_case_descendants
- Get case descendant hierarchyget_case_stages
- List case stages and processesget_case_view
- Get specific case view detailsget_case_view_calculated_fields
- Calculate case view fieldsperform_bulk_action
- Execute bulk case operationsperform_case_action
- Execute case-wide actionsrecalculate_case_action_fields
- Recalculate case action fieldsrefresh_case_action
- Refresh case action form datarelease_case_lock
- Release pessimistic case locks
Case Type Tools (3)
get_case_type_action
- Get case type action metadataget_case_type_bulk_action
- Get bulk action metadata for case typesget_case_types
- List available case types
Data View Tools (7)
delete_data_record
- Delete data records from savable data pagesget_data_objects
- List available data objectsget_data_view_count
- Get data view result countsget_data_view_metadata
- Get data view metadata and parametersget_list_data_view
- Query list data views with filteringupdate_data_record_full
- Fully update data recordsupdate_data_record_partial
- Partially update data records
Document Tools (2)
get_document
- Retrieve document content as base64remove_case_document
- Remove documents linked to cases
Follower Tools (3)
add_case_followers
- Add users as case followersdelete_case_follower
- Remove case followersget_case_followers
- List case followers
Participant Tools (7)
create_case_participant
- Add participants to casesdelete_participant
- Remove case participantsget_case_participants
- List all case participantsget_participant
- Get specific participant detailsget_participant_role_details
- Get participant role informationget_participant_roles
- List available participant rolesupdate_participant
- Update participant information
Related Case Tools (3)
delete_related_case
- Remove case relationshipsget_related_cases
- List related casesrelate_cases
- Create case relationships
Service Tools (1)
ping_pega_service
- Test OAuth2 connectivity to Pega Platform
Tag Tools (3)
add_case_tags
- Add tags to casesdelete_case_tag
- Remove specific case tagsget_case_tags
- List case tags
💬 Usage Examples
Note: The following examples demonstrate envisioned capabilities and planned user experiences. These scenarios represent the experimental goals of this GenAI Innovation project and may not reflect current implementation status.
Creating a Case
User: "Create a new insurance claim for policy #12345"
AI: I'll create a new insurance claim case. What type of claim is this?
User: "Auto accident claim"
AI: ✅ Created auto accident claim case INS-CLAIM-789
Case ID: INS-CLAIM-789
Policy: #12345
Status: Open
Next step: Provide accident details
Managing Assignments
User: "What's my next assignment?"
AI: You have 3 pending assignments:
1. Review claim documentation (INS-CLAIM-789) - Due today
2. Approve travel request (TRAVEL-456) - Due tomorrow
3. Customer callback (SERVICE-123) - Due in 2 hours
User: "Let me work on the claim review"
AI: ✅ Opening claim documentation review for INS-CLAIM-789
[Displays relevant case data and required actions]
⚙️ Configuration
Environment Variables
# Pega Infinity Connection
PEGA_BASE_URL=https://your-pega-instance.com
# OAuth 2.1 Authentication
PEGA_CLIENT_ID=your-oauth-client-id
PEGA_CLIENT_SECRET=your-oauth-client-secret
OAuth Setup
- Register OAuth Client in your Pega Platform
- Configure Scopes for API access
- Set Redirect URIs if using authorization code flow
- Update Environment with client credentials
For detailed setup instructions, see our Configuration Guide.
🤝 Contributing
Join us in this exciting GenAI Innovation experiment! As an experimental project exploring the future of natural language interfaces for enterprise platforms, we welcome community participation in shaping this innovation journey.
Ways to Contribute
- 🔬 Experiment Feedback - Share your experiences and insights from testing the prototype
- 💡 Innovation Ideas - Contribute to the GenAI Innovation roadmap with creative suggestions
- 🐛 Issue Reports - Help identify challenges in this experimental project
- 🔧 Code Contributions - Contribute to the codebase and proof-of-concept features
- 📖 Documentation - Help document learnings and experimental outcomes
- 🧪 Testing & Validation - Participate in testing new experimental capabilities
Development Setup
# Fork and clone the repository
git clone https://github.com/your-username/pega-dx-mcp.git
cd pega-dx-mcp
# Install dependencies
npm install
# Create a feature branch
git checkout -b feature/your-feature-name
# Make changes and test
npm test
# Submit pull request
Guidelines
- Follow our Code of Conduct
- Ensure tests pass and add new tests for features
- Update documentation for any API changes
- Use conventional commit messages
📄 License
Licensed under the Apache License, Version 2.0. See LICENSE for details.