acknowledge_incident
Acknowledge open incidents in the New Relic MCP Server by specifying the incident ID, ensuring timely incident management and resolution tracking.
Instructions
Acknowledge an open incident
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| incident_id | Yes | The ID of the incident to acknowledge |
Implementation Reference
- src/tools/alert.ts:166-204 (handler)Core handler function that executes the GraphQL mutation to acknowledge the specified incident, handles optional comment, and processes the response including errors.async acknowledgeIncident(input: { incident_id: string; comment?: string; }): Promise<Record<string, unknown> | null> { const mutation = ` mutation { aiIssuesAcknowledge( issueIds: ["${input.incident_id}"] ${input.comment ? `, comment: "${input.comment}"` : ''} ) { issues { issueId state acknowledgedAt acknowledgedBy ${input.comment ? 'comment' : ''} } errors { type description } } } `; const response = await this.client.executeNerdGraphQuery<{ aiIssuesAcknowledge?: { issues?: Record<string, unknown>[]; errors?: Array<{ description?: string }>; }; }>(mutation); const result = response.data?.aiIssuesAcknowledge; if (result?.errors && result.errors.length > 0) { throw new Error(result.errors[0].description); } return result?.issues?.[0] || null; }
- src/server.ts:215-227 (handler)Dispatch handler in the main server that validates inputs and delegates to AlertTool.acknowledgeIncident.case 'acknowledge_incident': { const { incident_id, comment } = args as Record<string, unknown>; if (typeof incident_id !== 'string' || incident_id.trim() === '') { throw new Error('acknowledge_incident: "incident_id" (non-empty string) is required'); } if (comment !== undefined && typeof comment !== 'string') { throw new Error('acknowledge_incident: "comment" must be a string when provided'); } return await new AlertTool(this.client).acknowledgeIncident({ incident_id, comment: comment as string | undefined, }); }
- src/tools/alert.ts:48-63 (schema)Tool definition including name, description, and input schema specifying required 'incident_id'.getAcknowledgeTool(): Tool { return { name: 'acknowledge_incident', description: 'Acknowledge an open incident', inputSchema: { type: 'object', properties: { incident_id: { type: 'string', description: 'The ID of the incident to acknowledge', }, }, required: ['incident_id'], }, }; }
- src/server.ts:103-105 (registration)Generic registration of all tools into the server's tool map after collecting from tool classes.tools.forEach((tool) => { this.tools.set(tool.name, tool); });
- src/server.ts:76-76 (registration)Specific inclusion of the acknowledge_incident tool from AlertTool in the tools list.alertTool.getAcknowledgeTool(),