Skip to main content
Glama
CodeHealth MCP Server

CodeHealth MCP Server

rules_config_list_thresholds

List all code health thresholds with default values and sources before overriding any, so you can see baseline settings and avoid misconfiguration.

Instructions

List every threshold with its default value and source.

When to use: before overriding a threshold, to see names and defaults.
Limitations: shows defaults, not a repository's overrides.
Languages without their own template fall back to the baseline values
(template: false).
Returns: {language, template, thresholds:[{name, value, operator, published, description}], rules:[names]}.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "rules_config_list_thresholds"
  }
}

Input Schema

NameRequiredDescriptionDefault
languageNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does well: it discloses the baseline-fallback behavior (template: false), that only defaults are returned, and even the shape of the response. It omits permission requirements and whether the call is purely read-only, which is left to be inferred from 'List'.

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 purpose, then clearly labeled When to use / Limitations / Returns sections. The Returns line partly duplicates the existing output schema, but it gives a fast shape preview and costs little; nothing else is wasteful.

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?

A simple single-parameter list tool with an output schema is well covered: what it returns, when to call it, and the key limitation are all present. The only meaningful gap is the unstated meaning of an omitted 'language' argument.

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 0% for the single optional 'language' parameter, so the description must compensate. It hints at language-scoped behavior via the fallback sentence, but never explains what an empty/default value means — presumably all languages — leaving the parameter's core semantics unexplained.

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 and resource — 'List every threshold with its default value and source' — which immediately separates it from the set_threshold/set_rule siblings. The scope (defaults, not overrides) is stated in the same breath, so an agent knows exactly what it gets back.

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?

Explicit when-to-use clause: 'before overriding a threshold, to see names and defaults', plus an explicit limitation that it does not show a repository's overrides. It stops short of naming the sibling to call instead for overrides, so the routing is implied rather than spelled out.

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