Skip to main content
Glama
MSPbotsAI

logicmonitor-mcp

by MSPbotsAI

logicmonitor-mcp

LogicMonitor MCP server: expone la API REST de LogicMonitor (v3, /santaba/rest) como herramientas MCP.

Descripción general

Este servidor implementa el Model Context Protocol (transporte Streamable HTTP/SSE) y envuelve los endpoints de LogicMonitor utilizados por la propia integración de LogicMonitor de MSPbots. Sigue el SOP de Servicio MCP de Proveedores de MSPbots: sin estado, sin credenciales almacenadas, autenticación por cabecera en cada solicitud.

La API subyacente se autentica mediante LMv1 — una firma HMAC-SHA256 por solicitud calculada a partir de un par Access Id / Access Key (el mismo esquema que MSPbots usa para esta integración: Company + Access Id + Access Key, sin OAuth). Este servidor calcula la firma LMv1 por sí mismo para cada solicitud saliente a partir de las credenciales suministradas en las cabeceras de esa solicitud; nunca las persiste.

Related MCP server: databricks-mcp

Inicio rápido

Docker (recomendado)

docker compose up --build

El servidor se inicia en http://localhost:8080.

Local (uv)

uv sync
python -m logicmonitor_mcp

Comprobación de salud

curl http://localhost:8080/health
# {"status": "ok"}

No se requieren credenciales para el endpoint de salud.

Parámetros de autenticación

Cada solicitud a /mcp debe incluir las siguientes cabeceras HTTP:

Cabecera

Tipo

Obligatorio

Valor por defecto

Valores posibles

Descripción

Ejemplo

X-LogicMonitor-Company

string

Ninguno

Ninguno (texto libre)

Subdominio del portal de LogicMonitor, es decir, la parte {company} de https://{company}.logicmonitor.com, y también parte de la URL base en el algoritmo de firma.

X-LogicMonitor-Company: acme

X-LogicMonitor-Access-Id

string

Ninguno

Ninguno (texto libre)

Access Id del token de API LMv1, coincide con el campo "Access Id" en la configuración de integración de MSPbots.

X-LogicMonitor-Access-Id: abcd1234efgh5678

X-LogicMonitor-Access-Key

string

Ninguno

Ninguno (texto libre, información sensible)

Access Key (secreto) del token de API LMv1, se usa para firmar cada solicitud con HMAC-SHA256; este servicio solo lo usa durante el ciclo de vida de la solicitud, no lo almacena.

X-LogicMonitor-Access-Key: <access_key>

Si falta cualquiera de las tres cabeceras, se devuelve 401 Unauthorized.

Variables de entorno

Variable

Valor por defecto

Descripción

MCP_HTTP_PORT

8080

Puerto de escucha

MCP_HTTP_HOST

0.0.0.0

Host de escucha

logicmonitor-mcp no tiene variables de entorno obligatorias: toda la identidad (company/access id/access key) se envía por solicitud mediante cabeceras.

Endpoint MCP

POST http://localhost:8080/mcp

Conecta tu cliente MCP con:

  • Transporte: http (Streamable HTTP / SSE)

  • Cabeceras: X-LogicMonitor-Company, X-LogicMonitor-Access-Id, X-LogicMonitor-Access-Key (todas obligatorias)

Lista de herramientas

15 herramientas — que coinciden con los 15 endpoints de la API de LogicMonitor ya registrados en esta integración en MSPbots (sys_integration subject_code LOGICMONITOR), de modo que la cobertura de herramientas es coherente con el alcance existente de MSPbots. Todas las herramientas son de solo lectura (readOnlyHint=True); no hay herramientas de escritura/eliminación en este servicio.

Paginación: size tiene un valor predeterminado de 50 y se limita en el servidor a un máximo estricto de 1000 — el máximo documentado/aplicado por LogicMonitor para este parámetro (los valores superiores a 1000 se limitan silenciosamente por LogicMonitor; solicitar más nunca genera error, solo devuelve como máximo 1000). Independientemente de eso, cualquier respuesta de una herramienta está limitada a 20 000 caracteres; si una página de resultados lo excediera, la respuesta se trunca con los campos truncated/original_count en lugar de devolverse completa.

Dispositivos (3)

Herramienta

Función

Parámetros

logicmonitor_get_devices

Listar dispositivos monitoreados

size=50 (máx. 1000), offset=0, sort?, filter?, fields?

logicmonitor_get_device_groups

Listar grupos de dispositivos

size=50 (máx. 1000), offset=0, sort?, filter?, fields?

logicmonitor_get_device_properties

Consultar propiedades personalizadas/sistema de un dispositivo

device_id, size=50 (máx. 1000), offset=0, filter?

DataSources de dispositivos (4)

Herramienta

Función

Parámetros

logicmonitor_get_device_datasources

Listar DataSources aplicados a un dispositivo

device_id, size=50 (máx. 1000), offset=0, filter?, fields?

logicmonitor_get_device_datasource_instances

Listar instancias de un DataSource en un dispositivo

device_id, source_id, size=50 (máx. 1000), offset=0, filter?

logicmonitor_get_device_datasource_data

Obtener puntos de datos recopilados por un DataSource

device_id, source_id, start?, end?

logicmonitor_get_device_datasource_instance_alertsettings

Consultar umbrales de alerta/ajustes de cobertura de una instancia de DataSource

device_id, source_id, instance_id

Alertas (3)

Herramienta

Función

Parámetros

logicmonitor_get_alerts

Listar alertas activas/históricas

size=50 (máx. 1000), offset=0, sort?, filter?, fields?

logicmonitor_get_alert_detail

Consultar detalle de una alerta

alert_id

logicmonitor_get_alert_rules

Listar reglas de escalado de alertas

size=50 (máx. 1000), offset=0, filter?

Administración (2)

Herramienta

Función

Parámetros

logicmonitor_get_users

Listar cuentas de usuario (admin) del portal

size=50 (máx. 1000), offset=0, filter?, fields?

logicmonitor_get_roles

Listar roles (conjuntos de permisos)

size=50 (máx. 1000), offset=0, filter?

Informes (2)

Herramienta

Función

Parámetros

logicmonitor_get_reports

Listar informes

size=50 (máx. 1000), offset=0, filter?, fields?

logicmonitor_get_report_groups

Listar grupos de informes

size=50 (máx. 1000), offset=0, filter?

SDT (1)

Herramienta

Función

Parámetros

logicmonitor_get_sdts

Listar entradas de tiempo de inactividad programado (Scheduled Down Time)

size=50 (máx. 1000), offset=0, filter?

Manejo de errores

Los errores de las herramientas se devuelven como una cadena JSON (no como una excepción a nivel de protocolo), de modo que un Agente pueda tomar decisiones programáticamente:

{"error": {"code": "upstream_error", "message": "...", "retryable": true}}

code es uno de un vocabulario fijo: not_configured, unauthorized, not_found, invalid_argument, rate_limited, upstream_error. retryable indica si la misma llamada es segura de reintentar (true para rate_limited/upstream_error, false en caso contrario).

Robustez de red

  • Tiempos de espera de salida: conexión 5s / lectura 30s / escritura 10s / pool 5s.

  • Reintentos limitados (hasta 3 intentos) con retroceso exponencial limitado en 429/5xx, respetando Retry-After cuando está presente.

  • Cada intento de reintento recalcula la firma LMv1 desde cero (incluye la época actual), por lo que una solicitud reintentada nunca se envía con una firma obsoleta/expirada.

  • Se reutiliza un único pool de conexiones httpx.AsyncClient compartido durante toda la vida del proceso.

Ejemplo de prueba

Listar dispositivos:

{
  "method": "tools/call",
  "params": { "name": "logicmonitor_get_devices", "arguments": { "size": 10 } }
}

curl equivalente contra el servidor en ejecución (endpoint MCP HTTP streamable):

curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -H "X-LogicMonitor-Company: <company>" \
  -H "X-LogicMonitor-Access-Id: <access_id>" \
  -H "X-LogicMonitor-Access-Key: <access_key>" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": { "name": "logicmonitor_get_devices", "arguments": { "size": 10 } }
  }'

Una llamada parametrizada:

{
  "method": "tools/call",
  "params": {
    "name": "logicmonitor_get_device_datasources",
    "arguments": { "device_id": "7186" }
  }
}

Referencia de API

Brechas conocidas / No verificado aún

  • Aún no se ha probado contra un portal de LogicMonitor en vivo; solo se ha realizado verificación a nivel de protocolo (comprobación de salud, 401 con cabeceras faltantes/parciales, tools/list que devuelve las 15 herramientas, mapeo de códigos de error probado con unit tests).

  • La cobertura de herramientas coincide intencionalmente con las 15 entradas de API de LogicMonitor existentes en MSPbots, en lugar de la superficie completa de la API REST de LogicMonitor (que además cubre operaciones de escritura, paneles, sitios web, coleccionistas y LogicModules); se puede ampliar si se necesita una cobertura más amplia.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for the FortiMonitor v2 monitoring API. 241 tools across 33 modules covering server management, outage monitoring, maintenance windows, metrics, notifications, cloud monitoring, SNMP, dashboards, reporting, and more. Unofficial community project, not affiliated with Fortinet. Python, MIT license, Docker and local deployment supported.
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Exposes the ConnectWise Command (Continuum) ITSupport247 Reporting API as MCP tools, enabling querying of sites, devices, patches, antivirus, performance, and more.
    Apache 2.0

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/MSPbotsAI/logicmonitor-mcp'

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