Skip to main content
Glama

nvic_read

Read NVIC interrupt state for an STM32 project, including enabled interrupts, IP-specific IRQs, priority grouping, and per-IRQ priority, subpriority, enable, group, and handler-generation details.

Instructions

Read NVIC state: enabled interrupts, an IP's interrupts, the priority group, and per-IRQ priority / subpriority / handler-generated / enable state / group / preempt source.

Input Schema

NameRequiredDescriptionDefault
irqNoIRQ name (USART1_IRQn) or IP name for get_ip_interrupts
actionYesNVIC query
project_idYesProject id

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden, and it does establish that this is a non-mutating read and lists what per-IRQ state is surfaced (priority, subpriority, handler-generated, enable state, group, preempt source). It says nothing about whether a project must be open, what happens for an unknown IRQ, or the shape of the response.

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 the verb and scope first, then the enumerations — dense but efficient. The slash-delimited list is terse at the cost of a little readability, but nothing is padded.

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

Completeness3/5

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

For a 3-parameter read tool with no annotations and no output schema, the definition is adequate: read-only nature is clear and most actions are described. Gaps remain in the undocumented get_usesfreertosfunctions action and in any statement about prerequisites or return format.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3; the description adds modest value by decoding abbreviated enum members ('handler-generated') and mapping actions to query subjects. It omits one enum member entirely (get_usesfreertosfunctions) and says nothing about project_id, so it does not exceed the schema.

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 opens with a specific verb+resource ('Read NVIC state') and enumerates the four kinds of state available, so the agent knows precisely what class of data this returns. It implicitly distinguishes itself from the sibling nvic_write via the verb 'Read', but never names that sibling, so the differentiation is left to inference.

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

Usage Guidelines2/5

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

There is no when-to-use / when-not-to-use guidance and no alternative is named; the agent must infer from the action enum that modification belongs to nvic_write. The only usage signal is the passing hint that the irq parameter accepts an IP name 'for get_ip_interrupts', which is already present in the schema.

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