Skip to main content
Glama

manage_ecu_node

Add, rename, or delete ECU nodes in a DBC file and update sender/receiver references to keep the CAN database consistent.

Instructions

Add, rename, or delete an ECU node (BU_), updating sender/receiver references.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "dbc_path": "<dbc_path>",
      "action": "<action>",
      "node_name": "<node_name>"
    },
    "name": "manage_ecu_node"
  }
}

Input Schema

NameRequiredDescriptionDefault
actionYes
commentNo
dry_runNo
dbc_pathYes
new_nameNo
node_nameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.1/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full behavioral burden, and it does disclose one genuinely valuable trait: sender/receiver references are updated as a side effect, which signals cross-file consistency implications. Beyond that it is silent on the destructive nature of delete, on what happens to messages still referencing a deleted node, and critically on the existence and effect of the dry_run parameter, which is never mentioned anywhere.

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?

A single front-loaded sentence with no filler, and the 'BU_' parenthetical earns its place by mapping to the DBC construct. It is efficient to the point of being terse for a six-parameter mutation tool, but there is no padding or repetition to trim.

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

Completeness2/5

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

This is a file-mutating tool with a destructive branch, an undocumented dry_run safety flag, six undocumented parameters, no annotations, and no output schema. For that level of complexity, one sentence of description leaves the agent without enough information to invoke it safely or correctly, particularly regarding delete semantics and parameter requirements.

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

Parameters2/5

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

Schema description coverage is 0% across six parameters, so the description must compensate and largely does not. It hints that node_name/new_name relate to the add-vs-rename distinction, but dbc_path, comment, dry_run, and the conditional requirement of new_name are entirely undocumented, leaving an agent to guess the contract for half the inputs.

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 names a specific resource (ECU node / BU_) and three concrete operations (add, rename, delete), then adds the non-obvious consequence of updating sender/receiver references. That is well beyond a restatement of the name. It loses a point only because it does not explicitly position itself against siblings such as upsert_dbc_message, leaving the agent to infer that node-level edits belong here rather than with message/signal tools.

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

Usage Guidelines3/5

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

The three verbs in the description implicitly enumerate valid values for the 'action' parameter, which is useful guidance since the schema declares 'action' as an untyped string with no enum. However, there is no statement of prerequisites (does the node need to exist for rename/delete?), no guidance on choosing between add and rename, and no mention of when to avoid this tool versus the sibling message/signal tools.

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