get_case_followers
Retrieve a list of users following a specific case to track notifications and updates using the case ID, enabling effective case management on the Pega DX MCP Server.
Instructions
Get the list of all the Case Followers. Retrieves information about users who are following a case to receive notifications and updates.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| caseID | Yes | Full case handle (case ID) to retrieve followers for. Example: "OSIEO3-DOCSAPP-WORK T-561003". Must be a complete case identifier including spaces and special characters. |
Implementation Reference
- The execute method of GetCaseFollowersTool implements the core tool logic: initializes session config, validates the caseID parameter, and executes pegaClient.getCaseFollowers with standardized error handling and response formatting.async execute(params) { const { caseID } = params; let sessionInfo = null; try { sessionInfo = this.initializeSessionConfig(params); // Validate required parameters using base class const requiredValidation = this.validateRequiredParams(params, ['caseID']); if (requiredValidation) { return requiredValidation; } // Execute with standardized error handling return await this.executeWithErrorHandling( `Get Case Followers: ${caseID}`, async () => await this.pegaClient.getCaseFollowers(caseID.trim()), { sessionInfo } ); } catch (error) { return { content: [{ type: 'text', text: `## Error: Get Case Followers: ${caseID}\n\n**Unexpected Error**: ${error.message}\n\n${sessionInfo ? `**Session**: ${sessionInfo.sessionId} (${sessionInfo.authMode} mode)\n` : ''}*Error occurred at: ${new Date().toISOString()}*` }] }; } }
- Static getDefinition method provides the MCP tool definition including name 'get_case_followers', description, and input schema requiring caseID with optional sessionCredentials.static getDefinition() { return { name: 'get_case_followers', description: 'Get the list of all the Case Followers. Retrieves information about users who are following a case to receive notifications and updates.', inputSchema: { type: 'object', properties: { caseID: { type: 'string', description: 'Full case handle (case ID) to retrieve followers for. Example: "OSIEO3-DOCSAPP-WORK T-561003". Must be a complete case identifier including spaces and special characters.' }, sessionCredentials: getSessionCredentialsSchema() }, required: ['caseID'] } }; }
- src/api/pega-client.js:749-753 (helper)PegaClient helper method that performs feature support check for followers before delegating the getCaseFollowers call to the underlying client instance.async getCaseFollowers(caseID) { if (!this.isFeatureAvailable('followers')) { this.throwUnsupportedFeatureError('followers', 'getCaseFollowers'); } return this.client.getCaseFollowers(caseID);
- src/registry/tool-loader.js:123-134 (registration)Dynamic registration in ToolLoader.loadToolFile: instantiates the tool class (GetCaseFollowersTool) and registers it in loadedTools map keyed by tool name 'get_case_followers' during directory scanning.const toolInstance = new ToolClass(); const toolName = ToolClass.getDefinition().name; this.loadedTools.set(toolName, { instance: toolInstance, class: ToolClass, category: category, filename: filename }); return toolInstance; } catch (error) {