Skip to main content
Glama
ryanpag3

coolercontrol-mcp

by ryanpag3

Create function

create_function

Creates a CoolerControl function that defines fan or pump control behavior, filling omitted settings from the default function so you can configure duty limits and response rules.

Instructions

Create a function. Required: name. Unset fields copy the Default Function. Common fields: f_type (Identity | Standard), duty_minimum / duty_maximum (step size per change, %), step_size_min_decreasing / step_size_max_decreasing, threshold_hopping, bypass_min_at_extremes; Standard also takes deviance, response_delay, only_downward.

Input Schema

NameRequiredDescriptionDefault
fieldsYesFields using the daemon's names, as returned by the list tool

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the description is free to add context — and it does, disclosing the important default behavior that unset fields are copied from the Default Function, plus which fields apply per f_type. It doesn't address duplicate-name handling or what happens on invalid field names.

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 the action and the one required key ('Required: name'), then a dense but purposeful field inventory. The compound field list is terse yet earns its space because the schema is an untyped bag.

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 mutation tool with annotations covering safety and no output schema, the description supplies the essentials: required key, default-copy behavior, and valid field vocabulary. Remaining gaps (conflict behavior on an existing name, whether the created object is echoed back) are minor given no output schema exists.

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 schema's single 'fields' parameter is a free-form object bag, so nominal 100% coverage conveys almost nothing. The description compensates heavily by enumerating the valid field names, the enum values for f_type (Identity | Standard), step-size semantics, and units (%). This is exactly the value-add that the schema cannot provide.

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?

Opens with a specific verb+resource ('Create a function') that clearly distinguishes it from siblings like update_function, delete_function, and list_functions. It stops short of naming those alternatives explicitly, so differentiation is by verb only.

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?

Creation vs. update is implied by the verb and by the statement that unset fields copy the Default Function, but there is no explicit 'use this instead of update_function when...' guidance or mention of prerequisites such as name uniqueness.

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