get-alertstate
Retrieve the current alert state from Seq to monitor system status and identify active issues requiring attention.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/seq-server.ts:205-226 (handler)The handler function for the 'get-alertstate' tool. It makes a request to the SEQ API endpoint '/api/alertstate' using the makeSeqRequest helper, formats the response as JSON text, and handles errors by returning an error message.async () => { try { const alertState = await makeSeqRequest<any>('/api/alertstate'); return { content: [{ type: "text", text: JSON.stringify(alertState, null, 2) }] }; } catch (error) { const err = error as Error; return { content: [{ type: "text", text: `Error fetching alert state: ${err.message}` }], isError: true }; } } );
- src/seq-server.ts:202-226 (registration)Registers the 'get-alertstate' tool with the MCP server, including empty input schema and inline handler function.server.tool( "get-alertstate", {}, async () => { try { const alertState = await makeSeqRequest<any>('/api/alertstate'); return { content: [{ type: "text", text: JSON.stringify(alertState, null, 2) }] }; } catch (error) { const err = error as Error; return { content: [{ type: "text", text: `Error fetching alert state: ${err.message}` }], isError: true }; } } );
- src/seq-server.ts:204-204 (schema)Empty Zod schema object indicating the tool takes no input parameters.{},
- src/seq-server.ts:31-56 (helper)Helper function used by the handler to make authenticated HTTP requests to the SEQ API, constructing the URL with API key and parameters, handling fetch and JSON parsing with error checking.async function makeSeqRequest<T>(endpoint: string, params: Record<string, string> = {}): Promise<T> { const url = new URL(`${SEQ_BASE_URL}${endpoint}`); // Add API key as query parameter url.searchParams.append('apiKey', SEQ_API_KEY); // Add additional query parameters Object.entries(params).forEach(([key, value]) => { if (value !== undefined && value !== null) { url.searchParams.append(key, value); } }); const headers: Record<string, string> = { 'Accept': 'application/json', 'X-Seq-ApiKey': SEQ_API_KEY }; const response = await fetch(url.toString(), { headers }); if (!response.ok) { throw new Error(`SEQ API error: ${response.statusText} (${response.status})`); } return response.json(); }