Skip to content
VS Code

logicmonitor for VS Code

io.github.ryanmat/logicmonitor

LogicMonitor REST API v3 in 273 tools: alerts, devices, metrics, dashboards, logs and Edwin AI.

client:VS Code transport:stdio runtime:pypi

Install logicmonitor in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "lm-portal",
      "description": "LM_PORTAL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-bearer-token",
      "description": "LM_BEARER_TOKEN",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-access-id",
      "description": "LM_ACCESS_ID",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-access-key",
      "description": "LM_ACCESS_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-timeout",
      "description": "LM_TIMEOUT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-enable-write-operations",
      "description": "LM_ENABLE_WRITE_OPERATIONS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-max-retries",
      "description": "LM_MAX_RETRIES",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-retry-after-cap-seconds",
      "description": "LM_RETRY_AFTER_CAP_SECONDS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-multi-portal",
      "description": "LM_MULTI_PORTAL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-vault-file",
      "description": "LM_VAULT_FILE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-age-key",
      "description": "LM_AGE_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-portals-file",
      "description": "LM_PORTALS_FILE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-transport",
      "description": "LM_TRANSPORT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-http-host",
      "description": "LM_HTTP_HOST",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-http-port",
      "description": "LM_HTTP_PORT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-http-auth-token",
      "description": "LM_HTTP_AUTH_TOKEN",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-http-allow-unauthenticated",
      "description": "LM_HTTP_ALLOW_UNAUTHENTICATED",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-http-allowed-hosts",
      "description": "LM_HTTP_ALLOWED_HOSTS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-http-ssl-certfile",
      "description": "LM_HTTP_SSL_CERTFILE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-http-ssl-keyfile",
      "description": "LM_HTTP_SSL_KEYFILE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-http-ssl-keyfile-password",
      "description": "LM_HTTP_SSL_KEYFILE_PASSWORD",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-session-history-size",
      "description": "LM_SESSION_HISTORY_SIZE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-enabled-tools",
      "description": "LM_ENABLED_TOOLS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-disabled-tools",
      "description": "LM_DISABLED_TOOLS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-mcp-categories",
      "description": "LM_MCP_CATEGORIES",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-health-check-connectivity",
      "description": "LM_HEALTH_CHECK_CONNECTIVITY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lm-log-level",
      "description": "LM_LOG_LEVEL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "edwin-client-id",
      "description": "EDWIN_CLIENT_ID",
      "password": true
    },
    {
      "type": "promptString",
      "id": "edwin-client-token",
      "description": "EDWIN_CLIENT_TOKEN",
      "password": true
    },
    {
      "type": "promptString",
      "id": "edwin-host",
      "description": "EDWIN_HOST",
      "password": true
    }
  ],
  "servers": {
    "logicmonitor": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "lm-mcp"
      ],
      "env": {
        "LM_PORTAL": "${input:lm-portal}",
        "LM_BEARER_TOKEN": "${input:lm-bearer-token}",
        "LM_ACCESS_ID": "${input:lm-access-id}",
        "LM_ACCESS_KEY": "${input:lm-access-key}",
        "LM_TIMEOUT": "${input:lm-timeout}",
        "LM_ENABLE_WRITE_OPERATIONS": "${input:lm-enable-write-operations}",
        "LM_MAX_RETRIES": "${input:lm-max-retries}",
        "LM_RETRY_AFTER_CAP_SECONDS": "${input:lm-retry-after-cap-seconds}",
        "LM_MULTI_PORTAL": "${input:lm-multi-portal}",
        "LM_VAULT_FILE": "${input:lm-vault-file}",
        "LM_AGE_KEY": "${input:lm-age-key}",
        "LM_PORTALS_FILE": "${input:lm-portals-file}",
        "LM_TRANSPORT": "${input:lm-transport}",
        "LM_HTTP_HOST": "${input:lm-http-host}",
        "LM_HTTP_PORT": "${input:lm-http-port}",
        "LM_HTTP_AUTH_TOKEN": "${input:lm-http-auth-token}",
        "LM_HTTP_ALLOW_UNAUTHENTICATED": "${input:lm-http-allow-unauthenticated}",
        "LM_HTTP_ALLOWED_HOSTS": "${input:lm-http-allowed-hosts}",
        "LM_HTTP_SSL_CERTFILE": "${input:lm-http-ssl-certfile}",
        "LM_HTTP_SSL_KEYFILE": "${input:lm-http-ssl-keyfile}",
        "LM_HTTP_SSL_KEYFILE_PASSWORD": "${input:lm-http-ssl-keyfile-password}",
        "LM_SESSION_HISTORY_SIZE": "${input:lm-session-history-size}",
        "LM_ENABLED_TOOLS": "${input:lm-enabled-tools}",
        "LM_DISABLED_TOOLS": "${input:lm-disabled-tools}",
        "LM_MCP_CATEGORIES": "${input:lm-mcp-categories}",
        "LM_HEALTH_CHECK_CONNECTIVITY": "${input:lm-health-check-connectivity}",
        "LM_LOG_LEVEL": "${input:lm-log-level}",
        "EDWIN_CLIENT_ID": "${input:edwin-client-id}",
        "EDWIN_CLIENT_TOKEN": "${input:edwin-client-token}",
        "EDWIN_HOST": "${input:edwin-host}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

logicmonitor in other clients