Skip to main content
Glama

get-incidents

Retrieve and filter incidents from Datadog's incident management system. Supports active/archived status and query-based searches to review current or past incidents efficiently.

Instructions

List incidents from Datadog's incident management system. Can filter by active/archived status and use query strings to find specific incidents. Helpful for reviewing current or past incidents.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
includeArchivedNo
limitNo
pageOffsetNo
pageSizeNo
queryNo

Implementation Reference

  • The primary handler function that performs the API call to Datadog's IncidentsApi.listIncidents, maps parameters, handles pagination/limit client-side, and manages errors including 403 auth failures.
    execute: async (params: GetIncidentsParams) => { try { const { includeArchived, pageSize, pageOffset, query, limit } = params; const apiInstance = new v2.IncidentsApi(configuration); const apiParams: any = {}; if (includeArchived !== undefined) { apiParams.include_archived = includeArchived; } if (pageSize !== undefined) { apiParams.page_size = pageSize; } if (pageOffset !== undefined) { apiParams.page_offset = pageOffset; } if (query !== undefined) { apiParams.query = query; } const response = await apiInstance.listIncidents(apiParams); // Apply client-side limit if specified if (limit && response.data && response.data.length > limit) { response.data = response.data.slice(0, limit); } return response; } catch (error: any) { if (error.status === 403) { console.error( "Authorization failed (403 Forbidden): Check that your API key and Application key are valid and have sufficient permissions to access incidents." ); throw new Error( "Datadog API authorization failed. Please verify your API and Application keys have the correct permissions." ); } else { console.error("Error fetching incidents:", error); throw error; } } } };
  • TypeScript type definition for the input parameters used by the get-incidents tool handler, matching the Zod schema in registration.
    type GetIncidentsParams = { includeArchived?: boolean; pageSize?: number; pageOffset?: number; query?: string; limit?: number; };
  • src/index.ts:197-213 (registration)
    MCP server tool registration for 'get-incidents', including tool name, description, Zod input schema, and async wrapper that delegates to getIncidents.execute() and formats response as MCP content.
    server.tool( "get-incidents", "List incidents from Datadog's incident management system. Can filter by active/archived status and use query strings to find specific incidents. Helpful for reviewing current or past incidents.", { includeArchived: z.boolean().optional(), pageSize: z.number().optional(), pageOffset: z.number().optional(), query: z.string().optional(), limit: z.number().default(100) }, async (args) => { const result = await getIncidents.execute(args); return { content: [{ type: "text", text: JSON.stringify(result) }] }; } );
  • Initialization function that sets up the Datadog API client configuration with auth keys, site, and enables the unstable v2.listIncidents operation. Called during server startup.
    initialize: () => { const configOpts = { authMethods: { apiKeyAuth: process.env.DD_API_KEY, appKeyAuth: process.env.DD_APP_KEY } }; configuration = client.createConfiguration(configOpts); if (process.env.DD_SITE) { configuration.setServerVariables({ site: process.env.DD_SITE }); } // Enable the unstable operation configuration.unstableOperations["v2.listIncidents"] = true; },

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GeLi2001/datadog-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server