Skip to main content
Glama
KphungFROMM

motionworks-iec-mcp-server

by KphungFROMM

get_io_config

List the controller and network I/O configuration for a MotionWorks IEC project, mapping named I/O groups to address ranges and drivers to clarify the physical meaning of %I/%Q variables.

Instructions

List the controller and network I/O configuration.

Each entry is a named I/O group mapped to an address range and a driver, which is how the AT %I/%Q variables in the global variable table get their physical meaning.

Args: path: Project file or directory.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It does state the operation is 'List' and explains the conceptual mapping to AT %I/%Q variables, which is useful context. However, it does not disclose whether the project must already be loaded, whether the path can be a directory with a specific structure, or any error/edge-case behavior.

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?

The description is compact and front-loaded. The first sentence states the core action, the second adds valuable domain context, and the Args line documents the only parameter. Every sentence earns its place with no redundancy.

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?

Given the tool has a single parameter and an output schema, the description is largely sufficient. It explains what the tool returns conceptually and documents the path argument. The main gaps are the lack of usage guidance versus sibling tools and implicit prerequisites, but these are minor for a simple listing operation.

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 coverage is 0%, so the description must compensate. It does add meaning by defining 'path' as 'Project file or directory,' which goes beyond the bare string type in the schema. However, it does not explain expected file extensions, directory layout, or whether the path is resolved relative to the current workspace.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'List the controller and network I/O configuration.' It clearly distinguishes this from sibling tools like get_tasks or get_motion_config by naming the exact subject matter, and the added explanation about I/O groups, address ranges, and drivers makes the purpose concrete.

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?

No guidance is given about when to use this tool versus alternatives such as get_motion_config or get_tags. The description implies a read-only listing operation, but it never states prerequisites, exclusions, or how to choose between this and related configuration tools.

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