Skip to main content
Glama
ryanmat

io.github.ryanmat/logicmonitor

by ryanmat

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AWX_URLNoAnsible Automation Platform controller URL (e.g., `https://aap.example.com`)
AWX_TOKENNoAAP personal access token
HF_DEVICENoTorch device for inference (cpu, cuda, mps, auto)auto
LM_PORTALYesLogicMonitor portal hostname (e.g., `company.logicmonitor.com`)
LM_AGE_KEYNoPath to the age identity that decrypts the vault (multi-portal)
LM_TIMEOUTNoRequest timeout in seconds (range: 5-300)30
TF_TIMEOUTNoTerraform command timeout in seconds300
AWX_TIMEOUTNoRequest timeout in seconds for AAP API calls30
WATSONX_URLNoIBM watsonx.ai endpoint URLhttps://us-south.ml.cloud.ibm.com
HF_CACHE_DIRNoHuggingFace model cache directory
HF_LLM_MODELNoHuggingFace LLM model name or pathibm-granite/granite-3.3-2b-instruct
HF_TTM_MODELNoHuggingFace TTM model name or pathibm-granite/granite-timeseries-ttm-r2
LM_ACCESS_IDNoLMv1 API access ID (for ingestion APIs)
LM_HTTP_HOSTNoHTTP server bind address0.0.0.0
LM_HTTP_PORTNoHTTP server port8080
LM_LOG_LEVELNoLogging level: `debug`, `info`, `warning`, or `error`warning
LM_TRANSPORTNoTransport mode: `stdio` (local) or `http` (remote)stdio
LM_ACCESS_KEYNoLMv1 API access key (for ingestion APIs)
LM_VAULT_FILENoPath to the age-encrypted portal vault (multi-portal)
AWX_VERIFY_SSLNoVerify SSL certificates for AAP connectionstrue
LM_API_VERSIONNoAPI version3
LM_MAX_RETRIESNoMax retries for rate-limited/server error requests (range: 0-10)3
AWX_MAX_RETRIESNoMax retries for failed AAP API requests3
LM_BEARER_TOKENNoAPI Bearer token (min 10 characters)
LM_CORS_ORIGINSNoComma-separated CORS origins (default: none)
LM_MULTI_PORTALNoServe many customer portals from one server, selected at runtime via `use_portal`. Stdio-only.false
LM_PORTALS_FILENoPlaintext JSON portal map (multi-portal, testing only; the encrypted vault wins when both are set)
WATSONX_API_KEYNoIBM Cloud API key for watsonx.ai (enables Granite TTM + NL summaries)
WATSONX_TIMEOUTNoRequest timeout in seconds for watsonx.ai API calls60
LM_ENABLED_TOOLSNoComma-separated tool names or glob patterns to enable (e.g., `get_*,triage`). Mutually exclusive with `LM_DISABLED_TOOLS`.
TF_WORKSPACE_DIRNoRoot directory for Terraform workspaces (enables Terraform tools)
LM_DISABLED_TOOLSNoComma-separated tool names or glob patterns to disable (e.g., `delete_*`). Mutually exclusive with `LM_ENABLED_TOOLS`.
LM_MCP_CATEGORIESNoComma-separated category names to include: `read`, `write`, `delete`, `export`, `import`, `session`, `workflow`. Composes by intersection with `LM_ENABLED_TOOLS`/`LM_DISABLED_TOOLS` -- only narrows, never expands. Useful for clients with tool-count limits (e.g., Cursor's 40-tool cap).
LM_HTTP_AUTH_TOKENNoRequire this bearer token on `/mcp` and `/api/v1/*` (min 16 chars). Health endpoints and `/` stay open for probes. HTTP transport only.
LM_SESSION_ENABLEDNoEnable session context trackingtrue
WATSONX_PROJECT_IDNoIBM watsonx.ai project ID
LM_FIELD_VALIDATIONNoField validation: `off`, `warn`, or `error`warn
TF_TERRAFORM_BINARYNoPath to the terraform binaryterraform
LM_SESSION_HISTORY_SIZENoNumber of tool calls to keep in history50
LM_SESSION_PERSIST_PATHNoFile path for persistent session variables (survives restarts)
TF_AUTO_APPROVE_ENABLEDNoEnable terraform apply/destroy operationsfalse
LM_ENABLE_WRITE_OPERATIONSNoEnable write operations (create, update, delete)false
LM_HEALTH_CHECK_CONNECTIVITYNoInclude LM API ping in health checksfalse

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
completions
{}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_devicesC

List devices (resources) from LogicMonitor with optional filtering

get_deviceB

Get detailed information about a specific device (resource)

get_device_groupsB

List device/resource groups from LogicMonitor

get_device_groupA

Get detailed information about a specific device/resource group, including appliesTo expression and parent ID

create_deviceB

Create a new device/resource (requires write permission)

update_deviceA

Update an existing device/resource (requires write permission). Custom properties are merged with existing properties (not replaced).

delete_deviceA

Delete a device/resource (requires write permission). Soft delete by default.

recover_deviceA

Recover a soft-deleted device/resource (requires write permission). Only works within the recovery window.

bulk_delete_devicesA

Delete multiple devices/resources in one operation (max 100, requires write permission). Soft delete by default.

create_device_groupB

Create a new device/resource group (requires write permission)

update_device_groupA

Update a device/resource group (requires write permission). Custom properties are merged with existing.

delete_device_groupB

Delete a device/resource group (requires write permission). Shows impact.

get_alertsA

Get alerts from LogicMonitor with optional filtering

For Kubernetes clusters, use group_id (from get_device_groups) instead of device — the device name filter does not work reliably for K8s resources.

Common mistakes: startEpoch/endEpoch use SECONDS not milliseconds. String filter values need double quotes (e.g., monitorObjectName:"hostname").

get_alert_detailsB

Get detailed information about a specific alert

acknowledge_alertA

Acknowledge an alert (requires write permission)

Common mistakes: alert_id works with or without the LMA prefix.

add_alert_noteA

Add a note to an alert without acknowledging (requires write permission)

bulk_acknowledge_alertsA

Acknowledge multiple alerts at once (max 100, requires write permission)

list_sdtsC

List scheduled downtimes from LogicMonitor

create_sdtA

Create a scheduled downtime (requires write permission)

Common mistakes: duration_minutes is MINUTES not hours/seconds. DeviceSDT needs device_id, DeviceGroupSDT needs device_group_id. DeviceDataSourceSDT needs device_id + datasource_id. Cloud resources (collector_id=-2) may not support DeviceSDT; use DeviceGroupSDT on their parent group instead.

delete_sdtB

Delete a scheduled downtime (requires write permission)

update_sdtA

Update a scheduled downtime (requires write permission). Uses fetch-modify-PUT to preserve unmodified fields.

bulk_create_device_sdtB

Create SDT for multiple devices/resources (max 100, requires write permission)

bulk_delete_sdtA

Delete multiple SDTs at once (max 100, requires write permission)

get_active_sdtsB

Get currently active SDTs

get_upcoming_sdtsA

Get SDTs scheduled to start within a time window

get_collectorsC

List collectors from LogicMonitor

get_collectorA

Get detailed information about a specific collector

get_collector_groupsB

List collector groups

get_collector_groupA

Get details about a specific collector group

update_collectorB

Update a collector (requires write permission). Change group, description, failback, or escalation chain.

delete_collectorA

Delete a collector (requires write permission). Blocks if devices are still assigned.

create_collector_groupA

Create a collector group (requires write permission)

update_collector_groupB

Update a collector group (requires write permission)

delete_collector_groupA

Delete a collector group (requires write permission). Blocks if collectors are still assigned.

get_device_datasourcesA

Get datasources applied to a device (resource)

Common mistakes: Returns device-datasource associations not definitions. The ID returned here is device_datasource_id for use with get_device_data.

get_device_instancesA

Get instances of a datasource on a device (resource)

add_device_instanceA

Add a monitored instance to a datasource on a device (requires write permission). Used for datasources without Active Discovery (e.g. ServiceStatus).

update_device_instanceB

Update a monitored instance on a device (requires write permission)

delete_device_instanceA

Delete a monitored instance from a datasource on a device (requires write permission)

get_device_dataA

Get metric data for a device/resource datasource instance

Common mistakes: Returns most recent data unless period/start/end specified. Requires device_datasource_id (from get_device_datasources) not the datasource definition ID.

get_graph_dataC

Get graph image data for visualization

get_dashboardsB

List dashboards from LogicMonitor

get_dashboardB

Get detailed information about a specific dashboard

get_dashboard_widgetsB

Get widgets configured on a dashboard

get_widgetB

Get details about a specific widget

create_dashboardA

Create a dashboard, optionally from template (requires write permission)

update_dashboardB

Update an existing dashboard (requires write permission)

delete_dashboardA

Delete a dashboard (requires write permission)

add_widgetB

Add a widget to a dashboard (requires write permission). For text widgets: use 'content' (not 'html') as the config key. For bigNumber widgets: dataPoints need 'name' field, include 'bigNumberItems' array, colorThresholds use 'relation'/'threshold', aggregateFunction is lowercase (e.g., 'average'). For cgraph widgets: deviceDisplayName/deviceGroupFullPath/instanceName must be GlobMatchToggle objects {'value': '...', 'isGlob': true}, dataPoints need 'display' object, graphInfo needs 'aggregate': false when using topX. For deviceSLA widgets: required config fields are 'groupName' (not deviceGroupFullPath), 'deviceName', 'dataSourceFullName', 'metric', 'threshold'. Also required: 'daysInWeek' (e.g., '1,2,3,4,5,6,7'), 'periodInOneDay' (e.g., '0:00-23:59'), 'displayType' (0=availability, 1=timeline), 'calculationMethod' (0=percent, 1=actual), 'unmonitoredTimeAlertStatus' (0=ignore, 1=warning, 2=error, 3=critical).

update_widgetB

Update a widget (requires write permission)

delete_widgetA

Delete a widget from a dashboard (requires write permission)

get_dashboard_groupsB

List dashboard groups

get_dashboard_groupB

Get details about a specific dashboard group

create_dashboard_groupA

Create a dashboard group in LogicMonitor (requires write permission)

delete_dashboard_groupB

Delete a dashboard group from LogicMonitor (requires write permission)

update_dashboard_groupB

Update a dashboard group (requires write permission)

get_websitesC

List websites from LogicMonitor

get_websiteB

Get detailed information about a specific website

get_website_groupsB

List website groups

get_website_dataB

Get synthetic check data for a website

create_websiteA

Create a website check in LogicMonitor (requires write permission)

update_websiteB

Update a website check in LogicMonitor (requires write permission)

delete_websiteA

Delete a website check from LogicMonitor (requires write permission)

create_website_groupA

Create a website group in LogicMonitor (requires write permission)

delete_website_groupA

Delete a website group from LogicMonitor (requires write permission)

get_reportsC

List reports from LogicMonitor

get_reportB

Get detailed information about a specific report

get_report_groupsC

List report groups

get_scheduled_reportsB

Get reports with schedules configured

run_reportA

Run/execute a report (requires write permission)

get_report_executionA

Poll the status of a report generation task started by run_report (returns status and result URL when finished)

create_reportA

Create a new report (requires write permission)

update_report_scheduleA

Update a report's schedule (requires write permission)

delete_reportB

Delete a report (requires write permission)

get_escalation_chainsC

List escalation chains

get_escalation_chainA

Get details about a specific escalation chain

get_recipient_groupsB

List recipient groups

get_recipient_groupB

Get details about a specific recipient group

create_escalation_chainB

Create an escalation chain (requires write permission)

update_escalation_chainB

Update an escalation chain (requires write permission)

delete_escalation_chainA

Delete an escalation chain (requires write permission)

create_recipient_groupA

Create a recipient group (requires write permission)

update_recipient_groupA

Update a recipient group (requires write permission)

delete_recipient_groupA

Delete a recipient group (requires write permission)

get_integrationsA

List LogicMonitor integrations (Custom HTTP Delivery, Slack, PagerDuty, etc.). Returns a short summary per integration.

get_integrationA

Get a specific integration's full definition. Field set depends on integration type; password/OAuth secret fields are masked.

create_http_integrationA

Create a Custom HTTP Delivery integration (type=http). Required fields: name, url. Use extra_fields for OAuth, actionNotes*, updateData*, or the 'extra' UI metadata blob. (requires write permission)

update_http_integrationA

Update a Custom HTTP Delivery integration via PATCH. Only fields explicitly provided are sent; omitted fields keep their current server values. (requires write permission)

delete_integrationA

Delete an integration by ID. Works for any integration type (http, slack-2, pagerduty, etc.). (requires write permission)

get_alert_rulesB

List alert rules

get_alert_ruleA

Get details about a specific alert rule

create_alert_ruleA

Create an alert rule in LogicMonitor (requires write permission)

update_alert_ruleB

Update an alert rule in LogicMonitor (requires write permission)

delete_alert_ruleA

Delete an alert rule from LogicMonitor (requires write permission)

get_usersA

List users from LogicMonitor

get_userA

Get details about a specific user

get_rolesB

List roles

get_roleA

Get details about a specific role

create_userB

Create a user in LogicMonitor (requires write permission)

update_userB

Update a user in LogicMonitor (requires write permission)

delete_userA

Delete a user from LogicMonitor (requires write permission)

get_access_groupsB

List access groups

get_access_groupA

Get details about a specific access group

get_api_tokensB

List API tokens

get_api_tokenA

Get details about a specific API token

get_device_propertiesC

Get all properties of a device (resource)

get_device_propertyA

Get a specific property of a device (resource)

update_device_propertyB

Update or create a device/resource property (requires write permission)

get_datasourcesC

List datasources from LogicMonitor

get_datasourceC

Get details about a specific datasource

create_datasourceA

Create a DataSource via REST API from a full definition dict (requires write permission). Accepts REST API format (same as export_datasource output). Use for round-tripping exports or building definitions from scratch. For LM Exchange format, use import_datasource. Script DataSource datapoints require appropriate type values.

update_datasourceA

RAW UPDATE -- full-replace semantics. Any field omitted from definition is BLANKED on the server. Two prior production incidents wiped Groovy scripts via this tool. PREFER update_logicmodule(type='datasource', id, changes, mode='preview') for partial updates with diff preview. Requires confirm=true to proceed.

delete_datasourceA

Delete a DataSource definition (requires write permission). Existing collected data is retained.

get_configsourcesC

List ConfigSources

get_configsourceB

Get details about a specific ConfigSource

get_configsource_update_reasonsB

Get update history and audit trail for a ConfigSource

get_device_configB

List config versions collected for a device instance

get_device_config_versionA

Get a specific config version with full content and diffs

collect_device_configB

Trigger an on-demand config collection for a device instance

get_eventsourcesB

List EventSources

get_eventsourceB

Get details about a specific EventSource

get_device_eventsourcesA

Get EventSources applied to a device (resource). Returns device-level EventSource associations.

update_device_eventsourceA

Update a device-level EventSource association (requires write permission). Use to enable or disable alerting for an EventSource on a specific device.

get_propertysourcesC

List PropertySources

get_propertysourceA

Get details about a specific PropertySource

get_topologysourcesC

List TopologySources

get_topologysourceC

Get details about a specific TopologySource

get_logsourcesC

List LogSources

get_logsourceB

Get details about a specific LogSource

get_device_logsourcesA

Get LogSources applied to a device (resource)

get_netscansC

List network scans

get_netscanB

Get details about a specific network scan

run_netscanB

Execute a network scan (requires write permission)

get_oidsB

List OID definitions

get_oidC

Get details about a specific OID

get_servicesB

List Service Insight business services (deviceType 6 devices, including APM trace services)

get_serviceA

Get details about a specific Service Insight service

get_service_groupsA

List Service Insight service groups (BizService device groups)

get_ops_notesC

List ops notes

get_ops_noteB

Get details about a specific ops note

add_ops_noteB

Add an ops note (requires write permission)

update_ops_noteB

Update an ops note (requires write permission)

delete_ops_noteA

Delete an ops note (requires write permission)

get_audit_logsC

Get audit logs from LogicMonitor

get_api_token_auditB

Get API token usage audit logs

get_login_auditB

Get login/authentication audit logs

get_change_auditB

Get configuration change audit logs

get_topology_mapC

Get network topology map data

get_device_neighborsB

Get neighboring devices/resources based on topology

get_device_interfacesB

Get network interfaces for a device (resource)

get_network_flowsB

Get network flow data (NetFlow/sFlow)

get_device_connectionsC

Get device/resource relationships and connections

get_batchjobsC

List batch jobs

get_batchjobA

Get details about a specific batch job

get_device_batchjobsA

List BatchJob datasources applied to a device (resource); per-run output lives in instance data via get_device_data

get_scheduled_downtime_jobsC

Get batch jobs related to SDT automation

get_cost_recommendationsB

Get cost optimization recommendations. Category filter takes the category description string from get_cost_recommendation_categories

get_idle_resourcesA

Get idle/underutilized cloud resources (resolved from idle-type cost recommendation categories)

get_cost_recommendation_categoriesA

Get cost recommendation categories with counts and savings

get_cost_recommendationA

Get a specific cost recommendation by ID (v224 API)

get_otlp_metric_namesA

[PREVIEW] List metric names ingested via native OpenTelemetry (OTLP). Requires the OTLP Metrics feature flag; returns a friendly notice when unavailable

get_otlp_metric_labelsB

[PREVIEW] List label names on native OTLP metrics, optionally narrowed to one metric

get_otlp_label_valuesA

[PREVIEW] List values observed for one native OTLP metric label (e.g. all service_name values)

query_otlp_metricsA

[PREVIEW] Run a PromQL range query against native OTLP metrics. Returns a time-series matrix

export_datasourceA

Export a datasource definition (REST API format). Output can be used with create_datasource or update_datasource.

export_dashboardB

Export a dashboard definition

export_alert_ruleB

Export an alert rule definition

export_escalation_chainB

Export an escalation chain definition

export_configsourceA

Export a ConfigSource definition (REST API format). Output can be used with create_configsource or update_configsource.

export_eventsourceA

Export an EventSource definition (REST API format). Output can be used with create_eventsource or update_eventsource.

export_propertysourceA

Export a PropertySource definition (REST API format). Output can be used with create_propertysource or update_propertysource.

export_logsourceA

Export a LogSource definition (REST API format). Output can be used with create_logsource or update_logsource.

export_diagnosticsourceA

Export a DiagnosticSource definition (REST API format). Output can be used with create_diagnosticsource or update_diagnosticsource.

export_remediationsourceA

Export a RemediationSource definition (REST API format). Output can be used with create_remediationsource or update_remediationsource.

import_datasourceA

Import a DataSource from LM Exchange JSON format via multipart upload (requires write permission). This expects LM Exchange format, not REST API format. For REST API format definitions (e.g., from export_datasource), use create_datasource instead.

create_configsourceA

Create a ConfigSource via REST API from a full definition dict (requires write permission). Accepts REST API format (same as export_configsource output). For LM Exchange format, use import_configsource.

update_configsourceA

RAW UPDATE -- full-replace semantics. Any field omitted from definition is BLANKED on the server. PREFER update_logicmodule(type='configsource', id, changes, mode='preview') for partial updates with diff preview. Requires confirm=true to proceed.

delete_configsourceA

Delete a ConfigSource definition (requires write permission). Existing collected data is retained.

create_eventsourceA

Create an EventSource via REST API from a full definition dict (requires write permission). Accepts REST API format (same as export_eventsource output). For LM Exchange format, use import_eventsource.

update_eventsourceA

RAW UPDATE -- full-replace semantics. Any field omitted from definition is BLANKED on the server. PREFER update_logicmodule(type='eventsource', id, changes, mode='preview') for partial updates with diff preview. Requires confirm=true to proceed.

delete_eventsourceA

Delete an EventSource definition (requires write permission). Existing collected data is retained.

import_configsourceA

Import a ConfigSource from LM Exchange JSON format via multipart upload (requires write permission). For REST API format definitions (e.g., from export_configsource), use create_configsource instead.

import_eventsourceA

Import an EventSource from LM Exchange JSON format via multipart upload (requires write permission). For REST API format definitions (e.g., from export_eventsource), use create_eventsource instead.

create_propertysourceA

Create a PropertySource via REST API from a full definition dict (requires write permission). Accepts REST API format (same as export_propertysource output). Use for round-tripping exports or building definitions from scratch. For LM Exchange format, use import_propertysource.

update_propertysourceA

RAW UPDATE -- full-replace semantics. Any field omitted from definition is BLANKED on the server. PREFER update_logicmodule(type='propertysource', id, changes, mode='preview') for partial updates with diff preview. Requires confirm=true to proceed.

delete_propertysourceA

Delete a PropertySource definition (requires write permission). Existing collected data is retained.

import_propertysourceA

Import a PropertySource from LM Exchange JSON format via multipart upload (requires write permission). For REST API format definitions (e.g., from export_propertysource), use create_propertysource instead.

create_logsourceA

Create a LogSource via REST API from a full definition dict (requires write permission). Accepts REST API format (same as export_logsource output). For LM Exchange format, use import_logsource.

update_logsourceA

RAW UPDATE -- full-replace semantics. Any field omitted from definition is BLANKED on the server. PREFER update_logicmodule(type='logsource', id, changes, mode='preview') for partial updates with diff preview. Requires confirm=true to proceed.

delete_logsourceA

Delete a LogSource definition (requires write permission). Existing collected data is retained.

import_logsourceA

Import a LogSource from LM Exchange JSON format via multipart upload (requires write permission). For REST API format definitions (e.g., from export_logsource), use create_logsource instead.

create_topologysourceA

Create a TopologySource via REST API from a full definition dict (requires write permission). Accepts REST API format. For LM Exchange format, use import_topologysource.

update_topologysourceA

RAW UPDATE -- full-replace semantics. Any field omitted from definition is BLANKED on the server. PREFER update_logicmodule(type='topologysource', id, changes, mode='preview') for partial updates with diff preview. Requires confirm=true to proceed.

delete_topologysourceA

Delete a TopologySource definition (requires write permission). Existing collected data is retained.

import_topologysourceA

Import a TopologySource from LM Exchange JSON format via multipart upload (requires write permission). For REST API format definitions, use create_topologysource instead.

import_diagnosticsourceA

Import a DiagnosticSource from LM Exchange JSON format via multipart upload (requires write permission). For REST API format definitions (e.g., from export_diagnosticsource), use create_diagnosticsource instead.

import_jobmonitorB

Import a JobMonitor from JSON (requires write permission)

import_appliesto_functionA

Import an AppliesTo function from JSON (requires write permission)

ingest_logsA

Ingest log entries into LogicMonitor (requires LMv1 auth)

push_metricsB

Push custom metrics into LogicMonitor (requires LMv1 auth)

correlate_alertsA

Correlate alerts by device, datasource, and temporal proximity. Groups alerts into clusters to identify related issues.

get_alert_statisticsA

Aggregate alert counts by severity, device, datasource, and time bucket. Returns statistical summary over a time window.

get_metric_anomaliesB

Detect metric anomalies using z-score analysis. Identifies data points deviating significantly from the mean.

save_baselineB

Save a metric baseline from historical data. Computes mean, min, max, stddev per datapoint and stores as a session variable for later comparison.

compare_to_baselineA

Compare current metrics against a stored baseline. Reports deviation percentage and status (normal, elevated, reduced, anomalous) per datapoint.

forecast_metricC

Forecast when a metric will breach a threshold using linear regression. Analyzes historical data to predict trend direction and estimated breach time.

correlate_metricsA

Compute Pearson correlation between multiple metric series. Builds an NxN correlation matrix and highlights strong correlations (|r| > 0.7). Maximum 10 sources.

detect_change_pointsB

Detect regime shifts in metric data using the CUSUM algorithm. Identifies points where the mean value changes significantly.

score_alert_noiseA

Score alert noise level using Shannon entropy and flap detection. Produces a score from 0 (quiet) to 100 (extremely noisy) with recommendations for tuning.

detect_seasonalityA

Detect periodic patterns in metric data using autocorrelation. Identifies dominant periods (1h, 4h, 12h, 24h, 168h) and peak activity hours.

calculate_availabilityA

Calculate availability percentage from alert history. Computes SLA-style uptime metrics, MTTR, and per-device breakdown from cleared and active alerts.

Common mistakes: hours_back defaults to 720 (30 days). Narrow scope with device_id/group_id for performance.

analyze_blast_radiusA

Analyze the blast radius of a device failure using topology data. Traverses neighbors to identify downstream impact and scores overall blast radius (0-100).

correlate_changesA

Cross-reference alert spikes with audit/change logs. Identifies changes that may have triggered alert increases using configurable correlation windows.

score_device_healthA

Score health of a specific device-datasource instance using z-score analysis. For full device health reports across all datasources, use the health_check composite tool instead.

calculate_error_budgetA

Calculate SLO error budget consumption and projected exhaustion date. Computes remaining budget, burn rate, and status (healthy/warning/critical/exhausted) based on actual availability vs target SLO.

classify_trendB

Classify metric trends as stable, increasing, decreasing, cyclic, or volatile. Uses linear regression slope, coefficient of variation, and autocorrelation.

get_session_contextA

Get current session context (last results, variables, history)

set_session_variableA

Set a user-defined session variable for use across tool calls

get_session_variableB

Get a user-defined session variable

delete_session_variableA

Delete a user-defined session variable

clear_session_contextA

Clear all session context (last results, variables, and history)

list_session_historyB

List recent tool call history

get_trace_servicesA

List APM trace services (deviceType:6). Entry point for discovering traced services.

get_trace_serviceA

Get detailed information about a specific APM trace service

get_trace_service_alertsC

Get alerts for an APM trace service

get_trace_service_datasourcesA

List datasources applied to an APM service (e.g. LogicMonitor_APM_Services, _Operations)

get_trace_operationsA

List operations (endpoints/routes) for an APM service datasource

get_trace_service_metricsA

Get APM service-level RED metrics (Duration, ErrorOperationCount, OperationCount)

get_trace_operation_metricsA

Get per-operation RED metrics (Duration, ErrorOperationCount, OperationCount)

get_trace_service_propertiesA

Get properties for an APM service (OTel attributes, namespace, metadata)

get_diagnosticsourcesB

List DiagnosticSources from LogicMonitor

get_diagnosticsourceA

Get details about a specific DiagnosticSource including datapoints

execute_diagnosticA

Execute a DiagnosticSource script on a target device. Performs pre-execution checks (collector version, device status, script review) before triggering manual execution. Poll get_diagnostic_remediation_results for status and output. Requires write permission.

create_diagnosticsourceA

Create a DiagnosticSource via REST API from a full definition dict (requires write permission). Accepts REST API format (same as export_diagnosticsource output). For LM Exchange format, use import_diagnosticsource.

update_diagnosticsourceA

RAW UPDATE -- full-replace semantics. Any field omitted from definition is BLANKED on the server, including the script. PREFER update_logicmodule(type='diagnosticsource', id, changes, mode='preview') for partial updates with diff preview. Requires confirm=true to proceed.

delete_diagnosticsourceA

Delete a DiagnosticSource definition (requires write permission). Action chains referencing it lose that stage.

get_remediationsourcesC

List RemediationSources from LogicMonitor

get_remediationsourceA

Get details about a specific RemediationSource including the Groovy script

execute_remediationA

Execute a RemediationSource script on a target device. Performs pre-execution checks (collector version, device status, script review) before triggering manual execution. Requires write permission.

create_remediationsourceA

Create a RemediationSource via REST API from a full definition dict (requires write permission). Accepts REST API format (same as export_remediationsource output). RemediationSources have no LM Exchange import endpoint.

update_remediationsourceA

RAW UPDATE -- full-replace semantics. Any field omitted from definition is BLANKED on the server, including the script. PREFER update_logicmodule(type='remediationsource', id, changes, mode='preview') for partial updates with diff preview. Requires confirm=true to proceed.

delete_remediationsourceA

Delete a RemediationSource definition (requires write permission). Action chains referencing it lose that stage.

get_diagnostic_remediation_assignmentsA

List the diagnostic and remediation sources assigned to a specific resource or alert (Automated Diagnostics & Remediation). Unlike get_diagnosticsources/get_remediationsources, this resolves which modules actually apply to the target.

get_diagnostic_remediation_resultsA

Get structured execution results for diagnostic and remediation source runs: status, trigger type, executor, script output, and timing. Provide exactly one of alert_id or host_id. Time window params are epoch milliseconds; result timestamps are epoch seconds.

get_action_chainsA

List action chains: ordered DiagnosticSource/RemediationSource stages that action rules trigger on alerts (Automated Diagnostics & Remediation)

get_action_chainA

Get details about a specific action chain including its stages

create_action_chainA

Create an action chain from ordered diagnostic/remediation stages (requires write permission). Each stage references a DiagnosticSource or RemediationSource by ID.

update_action_chainA

Update an action chain via PATCH; only provided fields are sent (requires write permission)

delete_action_chainA

Delete an action chain (requires write permission). Action rules referencing it stop triggering.

get_action_rulesA

List action rules: alert conditions (severity, device groups, datasource matchers) that trigger action chains

get_action_ruleA

Get details about a specific action rule

create_action_ruleA

Create an action rule binding an action chain to alert conditions (requires write permission)

update_action_ruleA

Update an action rule via PATCH; only provided fields are sent (requires write permission)

delete_action_ruleA

Delete an action rule (requires write permission)

set_action_rule_statusA

Enable or disable an action rule without touching its matchers (requires write permission)

triageA

Composite triage: correlates alerts, clusters by device/time, scores noise, assesses blast radius, and checks recent changes. Returns a prioritized incident report.

health_checkA

Composite health check: resolves a device, scores health across datasources, detects anomalies, checks alerts, and calculates availability. Returns a single device health report.

capacity_planA

Composite capacity planning: forecasts metric breach dates, classifies trends, detects seasonality and change points. Returns per-datasource capacity projections.

portal_overviewA

Composite portal overview: aggregates alert statistics, collector health, maintenance windows, noise scores, and dead devices into a shift-handoff report.

diagnoseA

Composite diagnosis: given an alert or device, gathers alert details, device context, correlated alerts, recent changes, blast radius, and health score. Returns a diagnosis report with probable root cause and recommendations.

search_toolsA

Search available MCP tools by keyword or category. Use this to discover which tools are available for a task.

update_logicmoduleA

Safe partial update for LogicMonitor source types (configsource, datasource, eventsource, logsource, propertysource, topologysource). Exports the current full definition, deep-merges your changes onto it, validates required fields, and either returns a dry-run diff (mode='preview', default) or applies the merged definition (mode='apply'). PREFER this over the raw update_ tools for partial updates -- the raw tools are full-replace and will blank any field omitted from the payload (two prior production incidents).

get_referenceA

Get LogicMonitor reference content (schemas, enums, filter syntax, guides). Mirrors content from MCP Resources for clients without full Resource support (Copilot cloud agent, OpenAI Codex, Cline). Categories: schema, enums, filters, syntax, guide. Pass list=true (or omit both category and name) to discover all available (category, name) pairs.

get_workflowA

Get LogicMonitor workflow guidance text (incident_triage, rca_workflow, remediate_workflow, etc.). Mirrors MCP Prompt content for clients without Prompt support. Prefer the composite workflow tools (triage, diagnose, health_check, capacity_plan, portal_overview) when they exist -- those execute the procedure. Pass list=true to discover available workflows.

terraform_generateA

Export an existing LogicMonitor resource as Terraform HCL configuration using the logicmonitor/logicmonitor provider. Supports device, device_group, collector, alert_rule, escalation_chain, dashboard, datasource, sdt, website, role, and report_group resource types.

get_interface_metricsA

Pull interface-level metrics (in/out bytes, errors, discards, utilization, status) for a device's interface over a time window. Answers 'how is this port performing?' Resolves the Interface-family DataSource and the instance matching the interface name before fetching datapoints.

get_top_talkersA

Rank NetFlow flows on an exporter by bandwidth, packets, or flow count. Group by source IP, destination IP, protocol, application, or source->destination pair. Answers 'what is consuming my WAN?'

detect_alert_burstA

Sliding-window detector for mass alert events: N alerts from the same DataSource across M+ devices within T seconds. Answers 'did a bunch of stuff break at once?' Used for detecting cascading failures like mass interface-down events during a site outage.

get_link_flapsA

Identify interfaces with repeated up/down transitions in a time window. Answers 'which ports are unstable?' Common causes: bad cable, duplex mismatch, bad SFP, PoE power cycling, WAN instability.

get_collector_healthA

Enriched collector status with time-since-last-contact, downstream device count, dependent alert count, and optional CollectorDown history. Leading indicator for site-level events. Prefer this over get_collectors when investigating potential outages.

get_power_eventsA

Filter alerts for UPS/PDU power-event signatures across APC, Liebert, and Eaton DataSources ('on battery', 'runtime remaining', 'input voltage lost') over a time window. Returns events matched by DataSource or alert name substring with counts per pattern.

detect_site_outageA

Composite workflow for site outage detection. Chains CollectorDown detection, mass-interface-down burst analysis, UPS on-battery events, and downstream device silence into a single site-outage verdict with confidence score, scope, and affected device list. Designed to catch the class of site-outage that generic AIOps correlation misses. Pass a device group ID representing the site.

audit_network_monitoring_coverageA

Portal audit that counts UPS/PDU devices onboarded, interface DataSources applied, SNMP credentials configured, and NetFlow exporters set up. Returns a prioritized gap list with onboarding recommendations — turns 'you can't detect X' into 'here's how to enable detection of X.'

Prompts

Interactive templates invoked by user choice

NameDescription
incident_triageAnalyze active alerts, identify patterns, and suggest root cause
capacity_reviewReview resource utilization and identify capacity concerns
health_checkGenerate environment health summary with key metrics
alert_summaryGenerate alert digest grouped by severity or resource
sdt_planningPlan scheduled downtime for maintenance windows
cost_optimizationReview cloud costs, identify idle resources, and find savings opportunities
audit_reviewReview recent activity, failed logins, and configuration changes
alert_correlationCorrelate alerts by device, time, and network topology
collector_healthReview collector status, versions, and group distribution
troubleshoot_deviceInvestigate a specific device with alerts, properties, and datasource status
top_talkersIdentify noisiest devices or datasources by alert volume
rca_workflowRoot cause analysis workflow with correlation, topology, and timeline
capacity_forecastResource utilization trending and capacity planning
remediate_workflowDiagnose a LogicMonitor alert and remediate via Ansible Automation Platform
remediationRemediationSource execution workflow with pre-execution safety checklist

Resources

Contextual data attached and managed by the client

NameDescription
Alert SchemaLogicMonitor alert object fields, types, and descriptions
Device SchemaLogicMonitor device object fields, types, and descriptions
SDT SchemaLogicMonitor SDT (Scheduled Downtime) object fields
Dashboard SchemaLogicMonitor dashboard object fields
Collector SchemaLogicMonitor collector object fields
Escalation Chain SchemaLogicMonitor escalation chain object fields
Report SchemaLogicMonitor report object fields
Website SchemaLogicMonitor website check object fields
DataSource SchemaLogicMonitor DataSource definition fields
User SchemaLogicMonitor user object fields
Audit Log SchemaLogicMonitor audit log entry fields
Alert Severity ValuesValid severity levels: critical(4), error(3), warning(2), info(1)
Device Status ValuesValid device status values: normal(0), dead(1), etc.
SDT Type ValuesValid SDT types: DeviceSDT, DeviceGroupSDT, etc.
Alert Cleared StatusAlert cleared status values: true, false
Alert Acknowledged StatusAlert acknowledgment status values: true, false
Collector Build TypesCollector build version types: EA, GD, MGD
Alert Filter FieldsFilter fields and operators for alert queries
Device Filter FieldsFilter fields and operators for device queries
SDT Filter FieldsFilter fields and operators for SDT queries
Filter OperatorsLogicMonitor API filter operators: :, ~, >, <, !:, !~, >:, <:
Tool CategoriesAll LogicMonitor MCP tools organized by domain category
Common Query ExamplesCommon filter patterns and query examples for LogicMonitor API
MCP Server Orchestration GuidePatterns for combining LogicMonitor with other MCP servers
Best Practices GuideScenario-based best practices for alert noise, device health, availability, and remediation
Example Tool ResponsesRealistic example output from key tools to help understand response formats

TDQS

B3/5.0

Scored across 273 tools

Disambiguation3/5

Many tools follow a clear resource+action pattern, but overlapping families exist, such as get_services vs get_trace_services, get_collectors vs get_collector_health, and get_datasources vs get_device_datasources, which can cause misselection. Descriptions often clarify the distinction, but the sheer 273-tool surface makes it easy to pick the wrong variant anyway.

Naming Consistency3/5

The CRUD tools consistently use verb_noun patterns like get_, create_, update_, delete_, import_, and export_, but listing is inconsistent—list_sdts vs get_datasources—and several composite tools use plain nouns or phrases like triage, health_check, and detect_site_outage, breaking the pattern.

Tool Count1/5

273 tools is far beyond the 50+ threshold for an extreme mismatch. Even for a broad platform like LogicMonitor, the surface is overwhelming and includes many near-duplicate variants such as raw update_* tools versus update_logicmodule and numerous get_* list/detail pairs.

Completeness3/5

The server covers a very wide domain—devices, alerts, dashboards, reports, traces, network, OTLP, and audit—but notable gaps remain: roles, API tokens, and access groups are read-only, website groups have no update tool, integration creation is limited to HTTP delivery, and batch jobs have no lifecycle operations beyond retrieval.

Maintenance

ActivitySlowing
ResponsivenessUnresponsive