listIncidents
Fetch and filter incidents from AppSignal monitoring by state (open, closed, ignored) and limit results for efficient incident analysis and tracking.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| state | No |
Implementation Reference
- src/mcp/server.ts:175-203 (registration)MCP tool registration for 'listIncidents', including input schema (limit, state) and thin handler wrapper that calls AppSignalClient.listIncidentsthis.server.tool( 'listIncidents', { limit: z.number().int().positive().default(25), state: z.enum(['open', 'closed', 'ignored']).optional(), }, async ({ limit, state }) => { try { const incidents = await this.client.listIncidents(limit, state); return { content: [{ type: 'text', text: JSON.stringify(incidents, null, 2), }], }; } catch (error) { if (error instanceof Error) { return { content: [{ type: 'text', text: `Error listing incidents: ${error.message}`, }], isError: true, }; } throw error; } } );
- src/appsignal/client.ts:208-249 (handler)Core handler implementation for listIncidents in AppSignalClient, executes GraphQL query to fetch incidents with optional limit and state filter.async listIncidents(limit: number = 25, state?: string): Promise<Incident[]> { const query = ` query ExceptionIncidentsQuery( $appId: String! $limit: Int $state: IncidentStateEnum ) { app(id: $appId) { id exceptionIncidents( limit: $limit state: $state ) { id number count lastOccurredAt actionNames exceptionName state namespace firstBacktraceLine errorGroupingStrategy severity } } } `; const result = await this.executeQuery<{ app: { id: string; exceptionIncidents: Incident[]; }; }>(query, { appId: this.appId, limit, state, }); return result.app.exceptionIncidents; }
- src/appsignal/client.ts:5-17 (schema)Zod schema for Incident type used in the response of listIncidents.export const IncidentSchema = z.object({ id: z.string(), number: z.number(), count: z.number(), lastOccurredAt: z.string(), actionNames: z.array(z.string()), exceptionName: z.string(), state: z.string(), namespace: z.string(), firstBacktraceLine: z.string().optional(), errorGroupingStrategy: z.string().optional(), severity: z.string().optional(), });
- src/mcp/server.ts:177-180 (schema)Input schema for the MCP 'listIncidents' tool (limit and state parameters).{ limit: z.number().int().positive().default(25), state: z.enum(['open', 'closed', 'ignored']).optional(), },