Skip to main content
Glama
KphungFROMM

motionworks-iec-mcp-server

by KphungFROMM

search_library

Find the correct firmware block for any task by searching names, parameters, descriptions, notes, example code, and enumerated types.

Instructions

Search the firmware library by block name, pin name, type or description.

Answers "which block do I use for X?" — searching names, formal parameters, descriptions, notes and example code, plus enumerated types and their values.

Args: query: Text to look for, e.g. "torque", "cam in", "BufferMode", "alarm". limit: Maximum number of matches.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden. It discloses what the search covers (names, formal parameters, descriptions, notes, example code, enumerated types) and includes example queries showing breadth. It does not mention side effects (search implies read-only), but that is implicitly safe. It does not discuss performance or limits beyond the 'limit' parameter, which is documented. Overall, it gives a solid behavioral picture.

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 front-loaded with the primary purpose in the first sentence, then a clarifying purpose statement, then a structured 'Args:' section. It is economical, though the enumeration of search fields is repeated (first sentence lists some, second sentence expands), causing slight redundancy. Still, it is compact and scannable.

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 search tool with two simple parameters, the description covers the core behavior, search targets, and parameter meanings. An output schema exists, so return format is presumably defined there. It omits edge-case behavior (case sensitivity, wildcard support, pagination beyond limit), but for a straightforward search tool this is adequate. The example queries add practical context that helps an agent use it correctly.

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?

Schema description coverage is 0%, so the description must compensate. It does: for 'query' it provides a type ('Text to look for') and concrete examples ('torque', 'cam in', 'BufferMode', 'alarm'); for 'limit' it says 'Maximum number of matches', clarifying its meaning. Both parameters are covered, though default value (40) is not mentioned in the description (it is in the schema). This adds significant value over the bare schema.

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 states a specific verb ('search') and resource ('firmware library'), enumerates the search fields (block name, pin name, type, description, formal parameters, notes, example code, enumerated types), and explicitly frames the intended use case: 'Answers "which block do I use for X?"'. This clearly distinguishes it from siblings like list_library_blocks (listing all blocks) and search_logic (searching logic contexts).

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

Usage Guidelines4/5

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

The description gives a clear usage context: 'Search the firmware library by block name, pin name, type or description' and the purpose answer for 'which block do I use for X?'. It does not explicitly name alternatives or say when not to use it (e.g., for logic-specific searches, use search_logic), but the context is sufficient for an agent to infer typical use. Lacks explicit exclusions.

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