Skip to main content
Glama

cw_midi_devices

Lists all MIDI input and output devices recognized by Windows so you can identify available ports for routing or troubleshooting.

Instructions

List every MIDI device Windows reports, in and out.

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are present, so the description carries the full disclosure burden. 'List' implies a read-only, side-effect-free enumeration, but the description never confirms that, says whether ports must be enabled or a host process running, or describes what an entry looks like (name, index, direction, availability).

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

Conciseness5/5

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

One short sentence, front-loaded with the verb and resource, with the 'in and out' qualifier adding useful scope. Nothing is wasted and nothing important is buried.

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?

There is no output schema, so the description is the only place a caller could learn what comes back; 'in and out' hints at direction but the identity of each device (name, index, enabled state) is left unspecified. Adequate for a trivial zero-param lister, but not fully complete.

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

Parameters4/5

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

With zero input parameters there is nothing to disambiguate, so the baseline of 4 applies; the description correctly implies a no-argument call.

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?

Specific verb 'List' plus resource 'MIDI device' with the scope 'every ... Windows reports, in and out', which clearly separates it from siblings like cw_midi_note, cw_midi_cc, or cw_midi_send. It does not explicitly name the neighbouring device-related tools (cw_midi_config, cw_enable_midi_port, cw_midi_status) it sits beside, keeping it at a 4.

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?

The description never says when to call this instead of cw_midi_status, cw_midi_config, or cw_enable_midi_port, nor does it state a precondition such as 'call this before enabling a port'. Usage must be inferred entirely from the tool name and purpose.

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