Skip to main content
Glama
ryanmat

io.github.ryanmat/logicmonitor

by ryanmat

update_logicmodule

Safely patch LogicMonitor source modules by merging only specified fields into the current definition. Preview changes as a dry-run diff or apply them, avoiding accidental blanking of omitted fields.

Instructions

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).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesLogicModule ID
modeNo'preview' returns a dry-run diff without writing (default). 'apply' writes the merged definition via the underlying update_<type> handler.preview
typeYesSource type to update
changesYesPartial update -- only the fields to change. Use `null` as a value to explicitly delete a key. Lists replace wholesale.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv4.2.0

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses the full operational flow: exporting the current definition, deep-merging changes, validating required fields, and either returning a dry-run diff (preview, default) or applying the merged definition. This gives the agent an accurate mental model of the tool's side effects and safety posture beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and information-rich, with no wasted sentences; the key preference hint is clearly emphasized. It loses a point because the parenthetical type list duplicates schema information while being incomplete, and the long single paragraph could be broken into more scannable pieces.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a write-capable tool with no output schema, the description explains what preview and apply modes return and how the update is applied, which is highly complete. The small inconsistency in the type list and the lack of any mention of permissions or error conditions keep it from being fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although the schema already documents all four parameters, the description adds crucial behavioral semantics: how the 'changes' object is interpreted, the meaning of null values (explicit deletion), and that lists replace wholesale. This goes well beyond the baseline established by the high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies this as a safe partial update tool for LogicMonitor source types and distinguishes it from the raw update_<type> siblings. However, the parenthetical list of source types omits diagnosticsource and remediationsource even though the input schema's enum allows them, creating a slight ambiguity about the tool's full supported scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs the agent to PREFER this tool over raw update_<type> tools for partial updates. It explains the failure mode of the alternatives (full-replace, blanking omitted fields) and reinforces the warning with two production incidents, making the when-to-use decision unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools