Skip to main content
Glama

wf_fb_profile

Idempotent

Profiles a function block instance to record leaf changes, sample task timing, and report active symbols, pulse rates, state dwell, silent symbols, and task cost. Read-only.

Instructions

Profile an FB instance for duration_s: records every leaf (change mode), samples task timing in parallel, then reports most-active symbols, boolean pulse rates, state dwell timelines, silent symbols and the FB's cost on the task. Read-only on the PLC.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cycle_msNo
instanceYes
duration_sNo
task_indexNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.0

TDQS

B3.1/5.0
Behavior1/5

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

The description ends with the safety claim 'Read-only on the PLC,' while the annotations declare readOnlyHint=false, which tells an agent the tool may modify its environment. These are directly conflicting safety signals on a tool whose whole purpose is instrumenting a live controller, so the description undercuts rather than clarifies the structured hints.

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?

Two sentences, front-loaded with the verb and target, followed by the output inventory. The single-sentence output list is dense but each item earns its place by telling the agent what data comes back; only the trailing safety clause is problematic, not the length.

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?

An output schema exists, so the description need not re-explain return values, and it usefully summarizes what is reported. However, for a long-running sampling tool (default duration_s=10) it omits whether the call blocks for the full duration, what load it places on the target task, and what prerequisites must hold before calling.

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%, so the four parameters (cycle_ms, instance, duration_s, task_index) are documented only by bare titles. The description explains duration_s ('for duration_s') and loosely ties task_index to 'the FB's cost on the task,' but cycle_ms (sampling resolution) and instance (which FB instance, and in what notation) are left entirely unexplained, which is a real gap for a profiling tool where sampling rate matters.

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?

States a specific verb (profile) and resource (an FB instance) and enumerates exactly what it produces: leaf recordings, task timing samples, most-active symbols, pulse rates, state dwell timelines, silent symbols, and task cost. This is specific enough to separate it from siblings such as rec_profile_start, ads_watch, or wf_debug_symbol.

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?

Usage is implied by the phrasing ('Profile an FB instance for duration_s'), so an agent can infer this is the deep-profiling entry point, but there is no explicit when-to-use vs when-not, and no mention of alternatives or prerequisites (e.g. needing an established ADS connection or a running task). The sibling set contains several overlapping profiling/recording tools that are never referenced.

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