loading…
Search for a command to run...
loading…
Enables interaction with Pega case operations through a metadata-driven tool layer, allowing users to fetch, update, and manage cases. It supports standard Pega
Enables interaction with Pega case operations through a metadata-driven tool layer, allowing users to fetch, update, and manage cases. It supports standard Pega actions such as retrieving case details, attaching documents, and submitting case actions via API.
Generic TypeScript MCP server for Pega case operations with definition-driven tool registration.
This project provides an MCP tool layer for reading and mutating cases in a flexible way. Tool wiring is metadata-based, so adding tools does not require editing server registration logic.
pega.get_caseslimit{ ok: true, data: { cases: [...] } }pega.get_casecaseId, optional viewType, pageName, originChannel{ ok: true, data: { case: ... } }pega.get_case_actionscaseId, optional originChannel{ ok: true, data: { actions: ... } }pega.get_case_viewscaseId, viewId, optional originChannel{ ok: true, data: { view: ... } }pega.attach_document_to_casecaseId, fileName, mimeType, fileContentBase64{ ok: true, data: ... }pega.submit_case_actioncaseId, action, optional content{ ok: true, data: ... }All tools return a standard failure format:
{
"ok": false,
"error": {
"code": "INVALID_INPUT | NOT_FOUND_OR_FORBIDDEN | INTERNAL_ERROR",
"message": "Human-readable explanation",
"suggestion": "Optional recovery guidance"
}
}
Required:
PEGA_BASE_URL (for example https://your-pega-instance.example.com/prweb)PEGA_CLIENT_IDPEGA_CLIENT_SECRETPEGA_TOKEN_URL (for example https://your-pega-instance.example.com/prweb/PRRestService/oauth2/v1/token)Optional:
PEGA_CASES_API_BASE_PATH (default: /api/v1)/prweb: /api/application/v2/PRAuth/app/work-manager/api/application/v2PEGA_CASES_LIST_DATA_VIEW (default: D_pyMyWorkList)pega.get_cases when GET /cases is not supported (HTTP 405)POST <PEGA_CASES_API_BASE_PATH>/data_views/<dataViewId>PEGA_ENABLED_TOOLS comma-separated tool names to allowlistpega.get_case,pega.get_case_actionsPEGA_DISABLED_TOOLS comma-separated tool names to blocklistpega.submit_case_action,pega.attach_document_to_casenpm install
cp .env.example .env
npm run dev
npm run build
npm start
npm test
pega.get_cases
{
"ok": true,
"data": {
"cases": [
{
"ID": "C-501",
"caseType": "Insurance Claim",
"status": "Pending Documents"
}
]
}
}
pega.get_case
{
"ok": true,
"data": {
"case": {
"ID": "C-501",
"caseType": "Insurance Claim",
"status": "Pending Documents",
"uiResources": {
"root": {
"type": "page"
}
}
}
}
}
Detailed request/response contracts:
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"pega-mcp-server": {
"command": "npx",
"args": []
}
}
}