Skip to main content
Glama
ober37

AC Infinity MCP

by ober37

Server Quality Checklist

75%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0-beta

  • Disambiguation5/5

    Every tool has a clearly distinct purpose: discovery, reading, port control, automation management, and environmental analysis. Even closely related tools like set_port_on and set_port_off are differentiated by their specific action.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using lowercase and underscores (e.g., discover_devices, set_port_speed, list_advance_automations). No mixing of conventions.

    Tool Count4/5

    With 25 tools, the server is comprehensive but slightly heavy. Each tool serves a clear purpose within the AC Infinity ecosystem, but the count is on the higher end of the ideal range.

    Completeness4/5

    The tool surface covers core CRUD operations, automations, port control, and environmental monitoring. Missing an update_advance_automation tool and some scheduling tweaks, but overall well-rounded.

  • Average 4.5/5 across 25 of 25 tools scored. Lowest: 3.9/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 75 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

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

    No annotations provided, so description carries full burden. It discloses return format (JSON with automations list) and error behavior, but does not mention side effects, authentication requirements, or rate limits. Adequate for a read-only list operation.

    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?

    Well-structured with header, explanations, arguments, and return examples. Front-loaded purpose clearly. Slightly verbose with docstring-style formatting but no wasted sentences.

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

    Completeness5/5

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

    Given one parameter, no annotations, and presence of output schema, the description fully explains input, output structure including fields and error cases. No additional context needed.

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

    Parameters5/5

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

    The single parameter 'device_id' is described as 'The AC Infinity device code (from discover_devices)', adding meaning beyond the schema which only specifies type string. Schema coverage is 0%, so description fully compensates.

    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 clearly states the tool lists all Advance Automations on a device, explains that they are also called 'programs' and are named schedules governing ports, which distinguishes it from siblings that create, delete, or get individual automations.

    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 explicit guidance on when to use this tool versus alternatives like 'get_advance_automation' or 'create_advance_automation'. The description simply states what it does without clarifying context for selection.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It describes a read-only calculation but does not explicitly state it is non-destructive, idempotent, or require specific permissions. The lack of explicit behavioral traits leaves some ambiguity.

    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 concise and well-structured, using separate sections for args and returns without unnecessary words. Every sentence adds value.

    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?

    The description covers input and output comprehensively, including return JSON fields. It lacks examples or error handling notes, but given the existing output schema, it is sufficiently complete for an AI agent.

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

    Parameters5/5

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

    The description thoroughly explains both parameters: device_id as 'The AC Infinity device code (from discover_devices)' and stage with enumerated options and default. This compensates fully for the 0% schema description coverage.

    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 clearly states the tool calculates a composite environment health score (0–100) for a device. It is distinct from sibling tools like get_all_device_readings or get_device_reading which provide raw data, making its purpose unique.

    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?

    The description implies usage for health assessment but does not explicitly specify when to use versus alternatives, such as when needing raw readings or trend detection. No when-not or alternative references are given.

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

  • Behavior4/5

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

    Without annotations, the description carries full burden. It explains return format (readings, statistics, dropped_readings), error structure, and crossing midnight logic for time filters. It also notes timezone conversion hints. Missing rate limits or auth details, but overall transparent.

    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 well-structured with Args and Returns sections. It is fairly long but every sentence provides unique guidance. Could be slightly more concise, but 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 6 parameters, no annotations, and an output schema (though not shown), the description covers return shape, error cases, and references full docs. It is complete for a query tool, though could mention pagination or rate limits.

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

    Parameters5/5

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

    Schema description coverage is 0%, so description must compensate. It explains each parameter in detail: device_id source, date formats, sample_interval with examples and default, time_start/time_end format with crossing midnight logic and error handling. This adds significant value beyond the 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 'Query AC Infinity environment data across a date range with configurable sampling,' which is a specific verb+resource+scope. It clearly distinguishes from sibling tools like get_all_device_readings and get_device_reading.

    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?

    The description mentions using device_id from discover_devices and gives format hints, but does not explicitly state when to use this tool vs alternatives. Usage is implied but not guided with exclusions or comparisons.

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

  • Behavior5/5

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

    With no annotations, description fully carries behavioral disclosure. It details conditional field presence (plug_status, remain_time_seconds, automation_name, note), handling of edge cases (unpowered ports, default vs custom names), failure response format, and ADVANCE detection logic. Extremely thorough.

    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?

    Front-loaded with core purpose, then detailed behavior. Slightly verbose with multiple paragraphs, but every sentence adds value. Could be more structured (e.g., bullet points for conditional fields), but still efficient.

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

    Completeness5/5

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

    Despite schema parameters being minimal, description and output schema (assumed present) together fully cover expected behavior. Includes JSON example, error handling, and edge cases. Context signals show output schema exists, so description need not repeat return values.

    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 has 0% coverage, so description adds essential meaning: device_id source (from discover_devices) and port numbering (1-based). This is clear and helpful, though could mention type or constraints (e.g., valid device IDs).

    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?

    Clearly states 'Get the live operational status of a single port,' identifying specific verb and resource. Distinguishes from siblings like 'get_all_device_readings' and 'get_port_settings' by focusing on live status of a single port.

    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 explicit guidance on when to use this tool versus alternatives. Does not mention when not to use or suggest other tools from the sibling list. Only implies usage for live status retrieval.

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

  • Behavior5/5

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

    With no annotations, description fully discloses behavior: dry_run safety, automatic bitmask, off_speed unused, error handling with available_ports and suggested_reply, and return structure.

    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?

    Structured clearly with purpose first then parameter details. Slightly verbose with return value enumeration but well-organized. Could be more concise without losing clarity.

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

    Completeness5/5

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

    Complete for a complex tool with 8 parameters and no annotations. Covers all inputs, behaviors, defaults, return types, and error cases. Output schema exists but description adds extra context.

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

    Parameters5/5

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

    Schema coverage is 0%, yet description adds meaning for all 8 parameters: valid ranges, defaults, special values (255), and usage context like off_speed being compatibility-only.

    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?

    Clearly states 'Create a new Advance Automation on a device', specifying verb and resource. However, does not explicitly differentiate from sibling tools like set_temperature_automation or modify operations.

    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?

    No explicit when-to-use or alternative comparisons. Provides safety hints (dry_run default) but no guidance on when to choose this tool over others.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden. It clearly explains the return format (JSON with slope, direction, projection, alert flag) and notes the API limitation of ~1257 records per day, which affects data density. This is sufficient transparency for a read-only analysis tool.

    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 well-structured with Args and Returns sections, and the API limitation note is useful. It is fairly concise, though the note could be integrated more succinctly. Still, it avoids redundancy and is easy to parse.

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

    Completeness5/5

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

    Given the low complexity (2 parameters, no nested objects) and that an output schema exists, the description covers purpose, parameters, return structure, and a key limitation. It is fully informative for an AI agent to select and invoke the tool correctly.

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

    Parameters5/5

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

    The input schema has 0% description coverage, but the description fully compensates by explaining device_id as 'The AC Infinity device code (from discover_devices)' and days with default, range (1–30). This adds crucial meaning beyond the schema's basic type info.

    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 explicitly states it detects linear trends in temperature, humidity, and VPD over a look-back window. The verb 'detect' and the resource 'environment trends' are specific and distinct from sibling tools like check_vpd_drift (focuses on drift) and get_historical_readings (raw data).

    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?

    The description implies usage for trend analysis but does not explicitly state when to use this tool versus alternatives like check_vpd_drift or get_environment_health. The note about API data sparsity provides some context, but explicit when-to-use and when-not-to-use guidance is missing.

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

  • Behavior5/5

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

    With no annotations, the description carries full burden and excels: it details data_quality stripping, ghost-port filter rules, debouncing, unreliable port caveats, and device-specific notes. All behavioral traits are disclosed.

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

    Conciseness3/5

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

    The description is quite lengthy and could be more tightly organized. While it has sections (Args, Returns, Presentation guidance), it includes many granular details that might be streamlined for brevity.

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

    Completeness5/5

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

    Given the tool's complexity and the presence of an output schema, the description covers all necessary aspects: parameters, return values, edge cases, and presentation. It is complete and leaves no significant gaps.

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

    Parameters5/5

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

    Schema coverage is 0%, but the description adds full meaning: device_id is explained as 'The AC Infinity device code (from discover_devices)' and days has default and range (1–30). This compensates completely for the schema gap.

    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 clearly states the tool 'Build a per-port runtime activity report from historical data', using a specific verb and resource. It distinguishes itself from siblings like get_port_status by focusing on historical analysis over time.

    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?

    The description provides extensive guidance on presentation and interpretation, but does not explicitly state when to use this tool versus alternatives like get_port_status or list_advance_automations. The context is implicit.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden. It discloses dry_run default and meaning, read-before-write behavior, and return format including error handling. This provides sufficient behavioral transparency.

    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?

    Description is concise and well-structured. Brief intro, clearly labeled Args section, and Returns section. Every sentence provides necessary information without redundancy.

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

    Completeness5/5

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

    Given no annotations but presence of output schema, the description covers behavior, parameters, and return format comprehensively. An agent can correctly invoke the tool based on this description.

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

    Parameters5/5

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

    Schema coverage is 0%, so description compensates fully. Each parameter is explained: device_id source, port 1-based, target_vpd range and typical stage values, dry_run default and effect. Adds significant value beyond schema titles.

    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?

    Description clearly states it enables VPD automation on a port using built-in sensors. The verb 'enable' and resource 'VPD automation on a port' are specific, and the tool is distinct from siblings like set_humidity_automation or set_temperature_automation.

    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?

    Description mentions switching to VPD mode and setting target, but does not explicitly state when to use this tool over alternatives. No when-not guidance is provided. However, the context of VPD automation is clear enough for an agent to infer appropriate usage.

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

  • Behavior4/5

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

    With no annotations, the description discloses all behavioral traits: it is a read-only discovery operation, returns a list of devices with ID and status, and handles empty accounts and errors with specific response structures. This gives agents full transparency about the tool's behavior and error handling.

    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 extremely concise, front-loading the purpose in the first sentence and using a structured format with examples. Every sentence adds value, and there is no redundant information.

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

    Completeness5/5

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

    Given zero parameters and the presence of an output schema, the description is complete. It covers all necessary information: purpose, output format, error cases, and guidance on using the results. There are no gaps for a simple discovery tool.

    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?

    Since there are no parameters, the baseline is 4. The description adds value by explaining the purpose of the output (device_ids for other tools) and providing example responses, making the tool's usage clear despite no input parameters.

    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 clearly states 'Discover all AC Infinity devices from the cloud API' and outlines the return values (device IDs, names, online status) and the purpose of finding device_ids for other tools. This distinguishes it from sibling tools that perform actions on devices.

    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 explicitly says 'Use this to find device_ids for use in other tools,' providing clear guidance on when to invoke it. It does not state exclusions, but the context of sibling tools makes it evident this is the primary device listing tool.

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

  • Behavior5/5

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

    With no annotations, the description fully carries the transparency burden. It discloses read-before-write behavior, dry_run default, error handling, and warning conditions for disconnected ports. No contradictions.

    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 well-structured with sections for args, returns, and warnings. It is front-loaded with the core action. However, it is slightly verbose; some sentences could be merged without losing clarity.

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

    Completeness5/5

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

    Given the tool's three parameters, the output schema is described in detail, covering all returned fields, warning conditions, and error cases. The description is fully complete for an AI agent to understand correct usage and expected output.

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

    Parameters5/5

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

    Schema coverage is 0%, but the description adds significant meaning: device_id is exemplified, port is specified as 1-based, and dry_run's behavior and default are explained. This compensates completely for the missing schema descriptions.

    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 clearly states the action: turning a port on at full speed (onSpeed=10). It specifies the tool's applicability to fan-type and on/off toggle devices, and the sibling context (e.g., set_port_off, set_port_speed) further distinguishes its purpose.

    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?

    The description mentions the types of devices it works for and the dry_run default, but does not explicitly provide when-to-use vs alternatives, when-not-to-use, or prerequisites. Usage is implied but not fully guided.

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

  • Behavior4/5

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

    With no annotations provided, the description carries full weight. It discloses the use of read-before-write and the default dry_run=True, and explains the return format. While it does not cover permissions or rate limits, these are not expected for this tool. The behavioral details are sufficient for safe invocation.

    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 well-structured: a one-line summary, followed by important notes (supported modes, read-before-write, dry run default, alternative tools), then a clear args listing with each parameter's description and conditions. No extraneous text; every sentence adds value.

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

    Completeness5/5

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

    Despite 9 parameters and conditional requirements, the description covers all aspects: purpose, usage notes, parameter semantics (including which modes require which parameters), and return structure. The presence of an output schema is noted, but the description already explains the return format. This is a complete and self-contained documentation.

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

    Parameters5/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 provides thorough explanations for each parameter, including conditional requirements for specific modes (e.g., cycle_on_seconds required for CYCLE, schedule_start/end required for SCHEDULE). This fully clarifies the meaning and constraints beyond the raw 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 opens with a clear verb and resource: 'Switch a port to a specific automation mode.' It lists all 8 modes and explicitly distinguishes from dedicated tools like set_vpd_automation, set_temperature_automation, and set_humidity_automation, making its purpose unambiguous.

    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 states when to use this tool and recommends alternative specialized tools for VPD, AUTO modes. However, it does not explicitly mention when not to use it (e.g., for simple on/off actions, where set_port_on/set_port_off may be more appropriate). This is a minor gap in comprehensive guidance.

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

  • Behavior5/5

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

    Without annotations, description fully discloses key behaviors: read-before-write, dry_run effect, return value structure, warning for disconnected ports, and failure error. No contradictions.

    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?

    Well-structured with paragraphs for purpose, args, returns. Some redundancy (e.g., 'dry_run=True — set dry_run=False') but front-loaded and every sentence adds value.

    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?

    With output schema present, return values are well explained including warning and error. No mention of prerequisites or permissions, but overall complete for a state-changing tool.

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

    Parameters5/5

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

    Schema has 0% description coverage, so description compensates by explaining all three parameters: device_id (source), port (1-based), dry_run (dry run vs write). Adds meaningful context beyond schema types.

    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?

    Clearly states the action ('Sets mode to OFF') and resource ('port'). Includes technical details (atType=1, onSpead=0) that differentiate it from sibling tools like set_port_on or set_port_speed.

    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?

    Provides clear guidance on dry_run usage (default True, set False to write). States it works for all device types but does not explicitly exclude alternatives or specify when not to use.

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

  • Behavior5/5

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

    With no annotations, the description fully discloses behavior: idempotent, locks co-ports, requires safety confirmation, dry_run versus live, and return formats. It is transparent about every step and outcome.

    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 well-structured with bullet points and sections, but it is somewhat verbose. However, it is front-loaded with the purpose and process, and every sentence adds value.

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

    Completeness5/5

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

    The description is complete: it covers idempotent, dry_run, live, error responses, and safety confirmation. Given the output schema exists, the return values are adequately explained.

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

    Parameters5/5

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

    Despite 0% schema description coverage, the description explains each parameter in detail (device_id from discover_devices, port 1-based, dry_run default, confirm_automation_name required for live), adding significant meaning beyond the 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 clearly states the tool's purpose: 'Break a port out of Advance Automation control and lock co-governed ports.' It uses a specific verb and resource, and the step-by-step process differentiates it from sibling tools like disable_advance_automation.

    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 explains when to use the tool ('safe way to manually override a port') and mentions idempotent behavior and dry_run default. It lacks explicit when-not-to-use or alternatives, but the context is clear.

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

  • Behavior5/5

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

    No annotations provided; description fully details behavior: status values (OK, LOW, HIGH), deviation semantics, alert field (null when OK), and error format. It discloses return structure comprehensively.

    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?

    Well-structured with Args and Returns sections, front-loaded purpose. Includes a helpful JSON example. Slightly lengthy but every sentence adds value; no fluff.

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

    Completeness5/5

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

    Given output schema is implicitly provided via example and field explanations, description covers return values, deviations, alerts, and error handling. Sufficient for an AI agent to use the tool correctly.

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

    Parameters5/5

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

    Input schema has 0% description coverage, providing only titles and types. Description adds meaning: device_id sourced from discover_devices, stage lists allowed values (clones, seedling, etc.) and default. This significantly enhances 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?

    Description clearly states the tool checks if current VPD is within target range for a growth stage, specifying the verb 'check', resource 'VPD', and context 'growth stage'. It distinguishes from sibling tools like 'set_vpd_automation' and 'detect_environment_trends'.

    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?

    Description explains parameters and return values, implying use when needing to verify VPD compliance. However, it does not explicitly exclude alternative tools or provide when-not guidance, so it scores 4.

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

  • Behavior5/5

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

    With no annotations, the description fully discloses behavior: reads current state, no-ops if already enabled, uses a toggle endpoint, and explains the dry-run mode. No hidden side effects.

    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?

    Well-structured with sections, but slightly verbose. Every sentence adds value, though some could be tightened. Still clear and organized.

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

    Completeness5/5

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

    Given small schema and no annotations, description covers all needed info: behavior, parameters, return values, error handling. Differentiates well from sibling automation tools.

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

    Parameters5/5

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

    Schema coverage is 0%, but description defines each parameter: device_id from discover_devices, automation_id from list_advance_automations, dry_run default True. Adds essential context beyond 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 clearly states the tool enables a previously disabled Advance Automation, distinguishes from sibling tools like disable_advance_automation, and specifies it reads current state to avoid redundant toggles.

    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?

    Provides clear guidance: defaults to dry_run=True, set to False to execute, and explains the toggle logic. Lacks explicit when-not-to-use but context from siblings fills the gap.

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

  • Behavior5/5

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

    With no annotations, the description fully discloses behavior: it returns JSON with detail, including quirks like Quirk 21 for schedule modes and port resolution from bitmasks. It also specifies the failure response format. This provides comprehensive behavioral transparency.

    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 detailed but well-structured with Args, Returns, and specific formatting details. Every sentence adds value, though it is somewhat lengthy. It could be slightly more concise, but the level of detail justifies the length.

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

    Completeness5/5

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

    Given the output schema exists, the description goes beyond by explaining return fields in detail, including edge cases like schedule_note and error responses. It covers everything needed for an agent to invoke and interpret the result correctly.

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

    Parameters5/5

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

    The input schema has 0% description coverage, but the description explains each parameter: device_id is 'The AC Infinity device code (from discover_devices)' and automation_id is 'the automation_id from list_advance_automations.' This adds necessary context beyond bare parameter names.

    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 starts with 'Get full detail for a single Advance Automation by ID,' using a specific verb and resource. It clearly distinguishes from siblings like list_advance_automations and create/delete/disable/enable, which are separate operations.

    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 mentions prerequisites ('device_id from discover_devices' and 'automation_id from list_advance_automations'), guiding the agent on when to use this tool. It does not explicitly state when not to use it or list alternatives, but the context is clear enough for an AI agent.

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

  • Behavior5/5

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

    With no annotations provided, the description carries the full burden and excellently discloses return format, device-level error handling, port_status condition, external_sensors filtering, and auth/API failure 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 well-structured with a clear opening sentence followed by detailed return information. Every sentence adds value and is appropriately concise.

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

    Completeness5/5

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

    Given the tool has zero parameters and no annotations but an output schema, the description is highly complete, covering purpose, return format, error cases, and special conditions.

    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?

    The tool has zero parameters, so baseline is 4. No parameter info needed.

    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 clearly states 'Get current sensor readings for all AC Infinity devices' with a specific verb and resource. It distinguishes itself from the sibling tool 'get_device_reading' which targets a single device.

    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 says 'Useful for a full status check across all controllers', implying when to use. However, it does not explicitly mention when not to use or directly reference the alternative single-device tool.

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

  • Behavior5/5

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

    With no annotations, the description thoroughly discloses behaviors: timezone/unit handling, exclusion of phantom external sensors, conditional plug_status field, and error format. This is highly transparent.

    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 well-structured with a clear purpose, args section, return example, and edge case notes. Every sentence adds value, and it is front-loaded with the core function.

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

    Completeness5/5

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

    Given the complex return data and lack of annotations, the description is complete: it covers return fields, edge cases, error format, and parameter origin. The output schema presence reduces burden, but the description adds necessary context.

    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?

    The schema has only a device_id string with no description. The description adds meaning by noting the device_id comes from discover_devices and showing an example. This compensates for 0% schema coverage.

    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 clearly states the tool gets current sensor reading for a device by device_id, listing the specific fields returned. It differentiates from siblings like get_all_device_readings by focusing on a single device.

    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 implies usage for retrieving a single device's current reading, but does not explicitly mention alternatives like get_all_device_readings or when not to use it. The context is clear enough for basic guidance.

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

  • Behavior5/5

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

    No annotations provided, but description fully compensates by disclosing endpoint, both normal and ADVANCE modes, edge cases (disconnected ports), staleness handling, error format, and enrichment fields. Highly transparent.

    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?

    Well-structured with clear sections (Args, Returns, examples) and front-loaded purpose. Slightly verbose due to detailed edge-case explanations, but each sentence adds value. Good balance of completeness and readability.

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

    Completeness5/5

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

    Given the tool's complexity (two modes, multiple fields, edge cases) and presence of output schema, description covers all necessary aspects: return values, failure handling, staleness, and human_summary variants. No gaps.

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

    Parameters5/5

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

    Schema has 0% description coverage, yet description adds clear meaning: device_id is 'AC Infinity device code (from discover_devices)' and port is '1-based port number'. Provides essential context beyond 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?

    Clearly states 'Get the full automation configuration for a port' with specific verb and resource. Differentiates from siblings like set_port_mode and get_port_status by focusing on full automation configuration.

    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?

    Implies usage context by detailing return values (mode, speed, automation targets). Lacks explicit alternatives or when-not-to-use guidance, but the description is informative enough for an agent to infer appropriate use cases.

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

  • Behavior5/5

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

    Discloses read-before-write, dry_run behavior, threshold rounding, valid ranges, and return format. No annotations provided, so description bears full burden and meets it thoroughly.

    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?

    Well-structured with clear sections (Args, Returns). Detailed but not overly verbose. A minor trim could improve conciseness, but it's effective.

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

    Completeness5/5

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

    Given no annotations, the description covers all behavioral aspects: read-before-write, rounding, defaults, modes. Also describes return schema. Complete for a tool of this complexity.

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

    Parameters5/5

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

    Schema coverage is 0%, but the description explains every parameter including device_id, port, min_rh (with rounding), max_rh (with constraint > min_rh), and dry_run (with default). Adds meaning beyond 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?

    Clearly states 'Enable humidity automation on a port' using a specific sensor. Distinguishes itself from siblings like set_temperature_automation and set_vpd_automation by focusing on humidity.

    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?

    Describes the effect (switches to AUTO mode, sets thresholds) and includes details like read-before-write and dry_run default. Does not explicitly mention when not to use, but the purpose is clear.

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

  • Behavior5/5

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

    With no annotations provided, the description fully carries the burden of disclosing behavior. It explains the read-before-write approach, default dry_run=True, the response format including a warning for OFF mode, and failure output.

    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 well-structured with Args, Returns, and an Example section, but it is somewhat lengthy. While every sentence adds value, a slightly more condensed version could be possible while retaining clarity.

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

    Completeness5/5

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

    The description fully covers the tool's complexity, including edge cases (OFF mode), dry_run behavior, return values, and error handling. It provides sufficient context for correct invocation, given the output schema enriches this further.

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

    Parameters5/5

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

    Schema coverage is 0%, so the description must fully explain parameters. It does so clearly: device_id (from discover_devices), port (1-based), speed (1-10), dry_run (boolean, default true). This adds significant meaning beyond the 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 clearly states the action as 'Set fan or dimmer speed on a specific port', with a specific verb and resource. It distinguishes itself from sibling tools like set_port_mode and set_port_on/off by focusing on speed setting.

    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 provides clear context for using the dry_run parameter and warns about the OFF mode requirement, but it does not explicitly state when to use this tool versus alternatives like set_port_mode. The guidance on dry_run usage is strong.

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

  • Behavior5/5

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

    Discloses read-before-write behavior, default dry_run=True, controller speed-up/slow-down logic, and failure return format. No annotations exist, so description carries full burden and does so well.

    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?

    Well-structured with sections for purpose, usage, args, and returns. Slightly lengthy but justified by complexity; front-loaded with main action.

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

    Completeness5/5

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

    Covers prerequisites, behavior, parameter constraints, and return format. Output schema exists but description enriches understanding with unit and rounding details.

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

    Parameters5/5

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

    Explains all five parameters in detail, including device_id source, port numbering, threshold constraints, rounding, and dry_run purpose. Schema provides no descriptions, so this adds significant value.

    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?

    Clearly states it enables temperature automation on a port, switches to AUTO mode, and sets thresholds. Distinguishes from sibling tools by focusing on temperature specifically.

    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?

    Provides guidance on unit handling (preferred unit, call discover_devices), valid ranges, and rounding. Lacks explicit alternatives but gives sufficient context for correct usage.

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

  • Behavior5/5

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

    Discloses that it issues an atomic write, sets VPD mode with atType=8, stores temperature and humidity thresholds for fallback, and describes the dry_run behavior. No annotations provided, so description carries full burden and does so thoroughly.

    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?

    Well-structured with purpose first, then dry_run explanation, table for stages, followed by Args and Returns. No unnecessary sentences, every part earns its place.

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

    Completeness5/5

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

    Covers all aspects: what it does, parameters, defaults, return format, and error handling. Complements the output schema richness.

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

    Parameters5/5

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

    Schema has zero descriptions, but the description explains each parameter in detail, including the stage table with exact targets for VPD, temperature, and humidity. This adds substantial meaning beyond the 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?

    Description clearly states 'Apply a grow-stage automation template' which is a specific verb and resource. It explains the combined action of setting VPD, temperature, and humidity, distinguishing it from sibling tools that handle individual parameters.

    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?

    Provides usage context: defaults to dry_run=True, set dry_run=False to actually write. Implicitly suggests previewing before applying, but does not explicitly mention when not to use or compare to individual automation tools.

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

  • Behavior5/5

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

    Discloses key behaviors: no-op if already disabled, dry_run defaults to true, disabling sets governed ports to OFF, re-enabling restores ADVANCE mode immediately. Includes live-testing date for confidence.

    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?

    Well-structured with clear sections: purpose, behavior, arguments, returns. Slightly verbose but every sentence adds value. Could be tightened without losing clarity.

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

    Completeness5/5

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

    Covers all necessary context: preconditions, execution behavior, arguments, return format, error handling. Output schema is described adequately, making the tool fully understandable.

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

    Parameters5/5

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

    With schema coverage at 0%, the description fully explains each parameter: device_id from discover_devices, automation_id from list_advance_automations, dry_run as boolean defaulting to true. Also details the return structure.

    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 clearly states the tool's action: 'Disable a currently enabled Advance Automation.' It also notes that it reads current state and no-ops if already disabled, distinguishing it from similar tools like break_out_of_automation.

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

    Usage Guidelines5/5

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

    Explicitly mentions default dry_run=True and contrasts with break_out_of_automation for controlled handoff. Provides clear instructions for when to use this tool vs. alternatives.

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

  • Behavior5/5

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

    No annotations provided, but the description fully discloses the dry_run safety mechanism, the disabling step, and the error response format. This compensates for the lack of annotations.

    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?

    Concise yet comprehensive: a single sentence for the main action, followed by necessary details in a structured format (Args, Returns). No superfluous content.

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

    Completeness5/5

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

    Given the tool's complexity (3 params, output schema exists but not shown), the description covers all behavioral aspects, return format, and preconditions. No gaps identified.

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

    Parameters5/5

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

    Schema coverage is 0%, but the description documents each parameter with its source (discover_devices, list_advance_automations) and default (dry_run=True), adding significant meaning beyond the 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 explicitly states 'Delete an Advance Automation from a device', using a specific action and resource. It uniquely identifies the tool's purpose among siblings like disable_advance_automation.

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

    Usage Guidelines5/5

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

    Provides clear guidance: dry_run default, disabling before deletion, and references to other tools for obtaining device_id and automation_id. Also explains return behavior on failure.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

ac-infinity-mcp MCP server

Copy to your README.md:

Score Badge

ac-infinity-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ober37/ac-infinity-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server