Skip to main content
Glama
TMHSDigital

Local AI MCP

Official
by TMHSDigital

Health check

health_check
Read-onlyIdempotent

Check whether configured AI providers are reachable and report their versions and live metrics, including vLLM KV-cache usage, with an optional provider filter.

Instructions

Check whether each provider is reachable and report its version (and live metrics such as vLLM KV-cache usage). Without provider, checks every configured provider, including hosted ones.

Input Schema

NameRequiredDescriptionDefault
providerNoProvider instance name. Omit to let the server choose (local providers only, unless LOCAL_AI_ALLOW_HOSTED_FALLBACK is set).

Output Schema

NameRequiredDescriptionDefault
healthYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.5.0
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedInput schema / properties / provider / description
      Previous value: -"Optional provider id"New value: +"Provider instance name. Omit to let the server choose (local providers only, unless LOCAL_AI_ALLOW_HOSTED_FALLBACK is set)."
    • changedInput schema / properties / provider / enum
      Previous value: -[
      -  "ollama",
      -  "lmstudio",
      -  "moonshot",
      -  "openaicompat",
      -  "llamacpp"
      -]New value: +[
      +  "ollama",
      +  "lmstudio",
      +  "llamacpp",
      +  "dockermodelrunner"
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "health": {
      +      "additionalProperties": {},
      +      "propertyNames": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "health"
      +  ],
      +  "type": "object"
      +}
  2. First observedv0.4.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered and the description correctly stays consistent with it. It adds that version and live metrics are reported, which is useful behavioral context. However, the claim that omitting the provider checks every configured provider 'including hosted ones' conflicts with the schema's statement that omission restricts to local providers unless LOCAL_AI_ALLOW_HOSTED_FALLBACK is set — a misleading scope claim in the description itself.

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 core action and with the no-argument scope stated second; nothing is padding. The only cost is that the second sentence introduces an inaccurate scope claim rather than a needed clarification.

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 an output schema present, the description needn't explain return values, and rich annotations cover the safety profile. What an agent needs to call it correctly is present. It loses a point because the hosted-provider default is stated in a way that contradicts the schema, potentially causing wrong expectations about which providers get probed.

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 100% and the single parameter has a documented enum and a detailed omit-behavior note, so the schema does the heavy lifting. The description's 'Without provider...' sentence partially duplicates that note but adds nothing about the enum values themselves. Baseline 3 applies when the schema fully documents the parameter.

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?

The description uses a specific verb and resource ('check whether each provider is reachable and report its version'), which clearly separates it from sibling tools like list_providers or model_info. It also names the metrics returned (vLLM KV-cache usage), giving the agent a concrete idea of output. It stops short of explicitly naming the sibling it should be preferred over, so a 4 rather than a 5.

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 second sentence explains the no-argument behavior ('checks every configured provider'), which is about scope rather than when to call it. There is no explicit guidance such as 'use before load_model to verify a provider is up' or 'use list_providers instead when you only need configured names', so usage must be inferred from the tool name and sibling set.

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