Skip to main content
Glama
ryanpag3

coolercontrol-mcp

by ryanpag3

Call CoolerControl API

call_api
Destructive

Send direct GET, POST, PUT, PATCH, or DELETE requests to any CoolerControl API endpoint to read or change daemon state; use dedicated validated tools when available.

Instructions

Call any endpoint from list_api_endpoints directly. Prefer the dedicated tools when one fits; they validate inputs. Non-GET calls change daemon state and need a token with Write Access.

Input Schema

NameRequiredDescriptionDefault
bodyNoJSON body
formNomultipart/form-data body (LCD image endpoints)
pathYesConcrete path, e.g. /devices/<uid>/settings/fan1/lighting
textNoPlain-text body, for endpoints that take text
queryNo
methodYes

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 flag destructiveHint=true and readOnlyHint=false, but the description adds two pieces the annotations can't: that non-GET calls 'change daemon state' and that they require a token 'with Write Access.' That auth prerequisite is genuinely useful behavioral context. It does not describe error behavior or response format, but with annotations covering the safety profile a 4 is warranted.

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?

Three short sentences, front-loaded with the core action and the routing rule, and the behavioral warning last. Zero filler; every sentence earns its place.

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 generic API passthrough with a moderately rich schema and no output schema, the description covers the key decision (when to use this vs dedicated tools) and the critical write-access warning. It omits any guidance on constructing the body/form/query payloads, but the schema covers most of that and annotations cover safety.

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 67%, with body, form.files, path, and text documented inline but query and method essentially undocumented. The description's reference to 'Non-GET calls' vaguely contextualizes the method enum, but it adds no detail on body/form/query/text usage. The schema does the heavy lifting, so baseline 3 is appropriate.

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?

States a specific verb and resource: 'Call any endpoint from list_api_endpoints directly.' The phrase 'Prefer the dedicated tools when one fits' differentiates it from the numerous specialized siblings without ambiguity. It lacks a crisp statement of its unique role (power-user escape hatch) but an agent can distinguish it from the dedicated tools.

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?

Explicitly directs the agent to prefer dedicated sibling tools 'when one fits' because 'they validate inputs,' which is a clear routing rule. The fallback case (use this for unlisted/unsupported operations) is implied rather than stated, so it stops short of full when/when-not coverage.

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