Skip to main content
Glama
Hobart Warewash MCP

Hobart Warewash MCP

Hobart Warewash MCP

English | Français

License: Apache-2.0 Node.js >= 22.12 MCP Unofficial

A Hobart dishwasher MCP server for Hobart commercial dishwashers (warewashers) connected to Hobart SmartConnect. It gives AI assistants such as Claude and ChatGPT structured access to your machines through the Hobart Cloud-to-Cloud (C2C) API, Visiotronic 1.5:

  • the machines registered on your account, and when each last reported

  • active errors

  • wash tank and rinse temperatures, last program run

  • daily water, energy, detergent and rinse-aid consumption

  • the hygiene protocol: one entry per wash cycle, with its program

  • optional: register a machine, change dosage, density and autostart times, only if you enable it, and only after you confirm

It is read-only by default. Write tools do not even exist unless you set HOBART_ALLOW_WRITE=true.

Unofficial. Independent personal project, not affiliated with, endorsed or sponsored by Hobart or ITW Food Equipment Group. You need your own Hobart Cloud-to-Cloud API credentials.

Status: early release (0.1.0). Validated against the real Hobart C2C API on Hobart AMXXS-B-SEF machines. Feedback and machine reports are welcome.

Why this project?

A connected Hobart dishwasher records useful data (temperatures, errors, consumption, every wash cycle), but it sits in the Hobart SmartConnect app, where you can look at it, not ask questions about it.

This server is a small bridge between the Hobart C2C API and any Model Context Protocol client. Ask in plain language, "Did the dishwasher in the main kitchen reach its rinse temperature today?", and the assistant calls a precise tool and answers from your machine's data instead of guessing.

As of November 2026 there was no other public MCP server, plugin or SDK for the Hobart C2C / SmartConnect API (searched: MCP registries, GitHub, npm, PyPI).

Related MCP server: BackCrew HubSpot MCP Server

Features

  • 6 read tools, designed for questions people actually ask, including a one-call health check (hobart_machine_overview).

  • Respects Hobart's polling limits (errors 30 s, temperatures 60 s): answers are cached, and every answer says when it was fetched and whether it came from the cache, so the assistant never confuses an old reading with a live one.

  • Read-only by default, opt-in write tools with explicit confirmation.

  • Works locally (stdio) and remotely (Streamable HTTP), so it plugs into Claude Code, Claude Desktop, claude.ai and ChatGPT.

  • Claude Code plugin + Agent Skill (hobart-dishwashers): teaches the model the traps: stale data from offline machines, daily data that only refreshes overnight, undocumented parameter codes.

  • Token caching and refresh for the Hobart OAuth2 login; clear, actionable errors (NOT_FOUND, NOT_BIDIRECTIONAL, AUTH_FAILED, …).

Quick start

1. Store your Hobart credentials

Create ~/.config/hobart-warewash-mcp/.env (on Windows %USERPROFILE%\.config\hobart-warewash-mcp\.env):

HOBART_USERNAME=you@example.com
HOBART_PASSWORD=your-password
# HOBART_ALLOW_WRITE=true   # only if you want the write tools

Environment variables, when set, always win over this file.

2. Connect your AI assistant

Claude Code: plugin (MCP server + skill)

claude plugin marketplace add christophe77/hobart-warewash-mcp
claude plugin install hobart-warewash@hobart-warewash-mcp

Claude Desktop, Cursor, VS Code, Windsurf, Cline… (local stdio)

{
  "mcpServers": {
    "hobart-warewash": {
      "command": "npx",
      "args": ["-y", "hobart-warewash-mcp@0.1.0"]
    }
  }
}

For the skill in Claude Desktop / claude.ai, zip plugins/hobart-warewash/skills/hobart-dishwashers and upload it in Settings → Capabilities → Skills.

From source

git clone https://github.com/christophe77/hobart-warewash-mcp.git
cd hobart-warewash-mcp
npm install
npm run build
cp .env.example .env    # fill HOBART_USERNAME and HOBART_PASSWORD
node scripts/smoke.mjs  # calls every read tool against the real API

A clone reads .env from the current folder, then the user file above, then its own folder.

ChatGPT and claude.ai (remote connector)

Web and mobile assistants only accept remote MCP servers over HTTPS. Run the HTTP mode and expose it, for example with a tunnel:

npx -y hobart-warewash-mcp@0.1.0 --http         # http://127.0.0.1:3333/mcp
cloudflared tunnel --url http://localhost:3333  # or: ngrok http 3333

Connector URL: https://<your-host>/mcp/<MCP_HTTP_SECRET>. ChatGPT and claude.ai cannot send custom headers, so the secret travels in the path; Authorization: Bearer <secret> works for clients that can. Without MCP_HTTP_SECRET the server only answers on localhost.

  • ChatGPT: Settings → Apps & Connectors → Advanced → Developer mode → Create; paste the URL; authentication "No authentication". Paste plugins/hobart-warewash/skills/hobart-dishwashers/SKILL.md into a project's instructions for the same domain knowledge.

  • claude.ai: Settings → Connectors → Add custom connector; paste the URL.

Example questions

  • "List my Hobart dishwashers and tell me which ones haven't reported for a week."

  • "Is the dishwasher 867237207 OK right now?"

  • "What were the wash and rinse temperatures on the last cycle?"

  • "How much water and energy did each machine use yesterday?"

  • "Show me today's hygiene protocol: how many cycles, which programs?"

  • "Any active errors on any machine?"

  • With write mode: "Set autostart slot 1 to 06:30 on 867237207". The assistant reads the current value, shows old → new, and waits for your yes.

Available MCP tools

Tool

What it answers

Access

hobart_list_machines

Machines on the account, type, protocol, last contact time

read

hobart_machine_overview

Active errors + temperatures + daily consumption, one call

read

hobart_get_machine_data

All parameters, counters, hygiene protocol (cycle log)

read

hobart_get_active_errors

Errors active now (cached 30 s, Hobart's limit)

read

hobart_get_temperatures

Wash (A270) / rinse (A283) °C, last program (cached 60 s)

read

hobart_ping

API reachable, account accepted

read

hobart_register_machine

Register a machine with its 6-character code

write

hobart_update_settings

Detergent / rinse-aid dosage and density, autostart on/off and times

write

Settings map to Hobart parameter codes: A133 / A134 (dosage), A104 / A105 (density), S078 (autostart), A180–A186 (autostart time slots, HH:MM). Machines without bidirectional communication refuse settings changes (NOT_BIDIRECTIONAL, HTTP 409).

Configuration

Variable

Default

Purpose

HOBART_USERNAME

(none)

Hobart C2C account (required)

HOBART_PASSWORD

(none)

Hobart C2C password (required)

HOBART_ALLOW_WRITE

false

Expose the write tools

PORT / HOST

3333 / 127.0.0.1

HTTP mode listen address

MCP_HTTP_SECRET

(none)

Secret guarding the HTTP endpoint

HOBART_BASE_URL, HOBART_TOKEN_ENDPOINT, HOBART_CLIENT_ID, HOBART_SCOPE

production Hobart values

Overrides

FAQ

Is there an official Hobart MCP server or API for AI assistants? Not that we could find. Hobart exposes a Cloud-to-Cloud REST API for partners; this project wraps it as an MCP server. It is unofficial.

Which Hobart machines are supported? Any machine your Hobart C2C account can see, i.e. Hobart dishwashers connected through SmartConnect. Tested on AMXXS-B-SEF.

Does it work with ChatGPT? Yes, as a remote connector (developer mode), through the HTTP mode. It also works with Claude (Desktop, Code, claude.ai) and any MCP client.

Can the AI change my machine's settings by itself? No. Write tools are off by default; when enabled, the tool descriptions and the skill require showing the change and getting your explicit agreement first. Clients like Claude also ask before calling a destructive tool.

Is the data live? Errors and temperatures are near-live (within Hobart's 30 s / 60 s limits). Daily data refreshes only after power-off or shortly before midnight. If a machine is offline, its last contact time in the machine list tells you how old everything is.

Can it help with HACCP or hygiene records? It exposes the hygiene protocol (one entry per wash cycle with its program) and temperatures, which an assistant can summarise. It does not replace your official HACCP records.

Privacy & security

  • Runs on your machine (or your own server); talks only to Hobart's official endpoints. No telemetry.

  • Credentials stay in your .env or environment, never in tool output.

  • One shared Hobart account: whoever can reach an HTTP deployment acts as that account. The path secret is fine for personal use; a multi-user deployment needs OAuth in front.

Limitations

  • The API returns no units for daily consumption figures, and most A0xx / C0xx codes are undocumented: the server returns them as-is and the skill tells the model not to invent meanings.

  • The default token scope is Machines.Read; whether settings writes are accepted depends on your account and machine.

License

Apache-2.0

Disclaimer

This is an independent open-source project. It is not affiliated with, endorsed by or sponsored by Hobart or ITW Food Equipment Group. "Hobart" and "SmartConnect" are trademarks of their owners and are used here only to describe compatibility. Use at your own risk; food safety must never depend on an AI assistant.

Available Tools

6 tools
hobart_get_active_errorsHobart active errorsA
Read-onlyIdempotent

Errors currently active on a dishwasher, with their code and since when. An empty list means no active error was reported, not that the machine is running. Hobart allows one real call every 30 seconds per machine; faster calls return the cached answer.

NameRequiredDescriptionDefault
serialYesMachine serial number, as returned by hobart_list_machines.

TDQS

A3.8/5.0
Behavior4/5

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

The annotations already declare readOnly, idempotent, non-destructive behavior, so the bar is lower, and the description still adds two non-obvious traits: a per-machine 30-second real-call throttle and cached responses on faster calls. It also clarifies the semantics of an empty result, which is a genuine behavioral edge case. It stops short of saying whether cached answers are distinguishable from fresh ones or how long the cache window is.

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 tight sentences with zero filler: what it returns, how to read an empty result, and the rate-limit/caching rule. The primary definition is front-loaded ahead of the caveats.

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 no output schema, the description must convey return shape, and it does at a high level (error code plus since-when) along with empty-list semantics and throttling behavior. What remains unspecified is the exact response structure (array vs. wrapper) and whether error severity or description fields accompany the code.

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 'serial' parameter already carries a description pointing at hobart_list_machines, so the schema does the heavy lifting. The description adds nothing about serial format, case sensitivity, or what happens with an unknown serial. 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?

The description names a specific resource and scope: active errors on a dishwasher, including error code and start time. This is clearly distinct from sibling tools like hobart_get_temperatures or hobart_machine_overview, though it never explicitly contrasts itself with them. The purpose is unambiguous, but the differentiation is left implicit.

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?

Usage is implied rather than stated: the tool reports active errors, and the 'empty list means no active error was reported, not that the machine is running' note helps interpret results. Missing is any statement about when to reach for this versus hobart_machine_overview or hobart_get_machine_data, or any prerequisite such as needing a serial from hobart_list_machines.

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

hobart_get_machine_dataHobart machine daily dataA
Read-onlyIdempotent

Daily data of a dishwasher: consumption (DailyWaterCons, DailyEnergyCons, DailyDetergentCons, DailyRinseAidCons), counters (C0xx codes) and the hygiene protocol (one entry per wash cycle, with its program code). Hobart refreshes this only after the machine is powered off or shortly before midnight, so it describes the last completed day of use, not right now.

NameRequiredDescriptionDefault
serialYesMachine serial number, as returned by hobart_list_machines.

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already cover the read-only/idempotent/non-destructive profile, but the description adds the crucial non-obvious trait: Hobart only refreshes after power-off or shortly before midnight, so the payload is stale by design. That freshness caveat materially changes how an agent interprets and reports the data, and it is exactly the kind of behavior annotations cannot express.

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?

Two sentences, no filler, with the payload contents front-loaded and the staleness caveat placed where it will be read before calling. Every clause carries information.

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 no output schema, the description usefully enumerates the returned sections, and the refresh caveat covers the main interpretive risk. Minor gaps remain: units for consumption values and the potential size of the hygiene protocol (one entry per wash cycle) are unstated.

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?

Only one parameter, and the schema already documents it at 100% coverage, including the pointer to hobart_list_machines for obtaining the serial. The description adds nothing further about the serial, so the baseline 3 applies.

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 names the specific resource (daily dishwasher data) and enumerates its three sections: consumption metrics, C0xx counters, and the per-cycle hygiene protocol. This distinguishes it in practice from hobart_get_temperatures and hobart_get_active_errors, though no sibling is named explicitly.

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?

It gives a clear selection rule: this returns the last completed day, not the current state, so an agent needing live readings knows to look elsewhere. It stops short of naming the alternative tool for real-time data.

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

hobart_get_temperaturesHobart temperaturesA
Read-onlyIdempotent

Wash tank (A270) and rinse (A283) temperatures in °C, and the last program run. Hobart allows one real call every 60 seconds per machine; faster calls return the cached answer.

NameRequiredDescriptionDefault
serialYesMachine serial number, as returned by hobart_list_machines.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely non-obvious behavior: a 60-second per-machine real-call limit and that faster calls silently return cached data — a caveat an agent otherwise could not know.

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?

Two sentences, no waste. Return contents are front-loaded and the operational caveat follows immediately after.

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 no output schema, the description usefully enumerates the returned fields and their unit, and covers the rate-limit/caching behavior. It stops short of explaining the shape of 'last program run' (name vs timestamp vs status), a minor remaining gap for a tool of this simplicity.

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 `serial` parameter already documents that it comes from hobart_list_machines. The description adds no further meaning about the parameter, so the baseline 3 applies.

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 names the specific resources returned — wash tank (A270) and rinse (A283) temperatures in °C plus the last program run — so the agent knows exactly what this yields. It does not, however, distinguish itself from siblings like hobart_get_machine_data or hobart_machine_overview, which plausibly overlap.

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?

Usage is only implied: an agent infers it should call this when it wants temperature readings. There is no explicit when-to-use statement and no routing to or away from the overlapping siblings hobart_get_machine_data and hobart_machine_overview.

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

hobart_list_machinesList Hobart machinesA
Read-onlyIdempotent

Lists the Hobart dishwashers registered on this account: serial number, machine type, protocol version and the machine clock at last contact. Start here: every other tool needs a serial number.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds value the annotations don't: the exact payload fields returned, which matters because there is no output schema. It stops short of stating result limits or whether the list is paginated, leaving a minor gap.

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?

Two short sentences: the first defines the resource and its return fields, the second delivers the usage rule up front. Nothing is redundant and nothing is buried.

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?

With no output schema, the description carries the burden of telling the agent what comes back, and it does so by listing four concrete fields. Combined with the entry-point guidance and existing annotations, an agent has everything needed to invoke it correctly.

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 takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. The account scoping mentioned ('registered on this account') is useful framing even though no parameter exists for it.

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 (Lists) and resource (Hobart dishwashers registered on this account), then enumerates the returned fields: serial number, machine type, protocol version, machine clock. This clearly distinguishes it from data-oriented siblings like hobart_get_machine_data or hobart_get_temperatures.

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?

'Start here: every other tool needs a serial number' explicitly names when to use this tool and why, and implicitly routes the agent away from every sibling until a serial is obtained. That is an explicit entry-point rule rather than an inferred one.

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

hobart_machine_overviewHobart machine overviewA
Read-onlyIdempotent

One-call health check of a dishwasher: active errors, last wash/rinse temperatures and the daily consumption figures. Prefer this to calling the three detail tools separately when the question is "how is machine X doing".

NameRequiredDescriptionDefault
serialYesMachine serial number, as returned by hobart_list_machines.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds real value by disclosing the composite nature of the call (errors + temperatures + consumption in one shot) and implying a single-round-trip cost advantage, though it does not discuss freshness or limits of the aggregated data.

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?

Two sentences, both load-bearing: the first defines the aggregated payload, the second routes the agent away from the three detail tools. Front-loaded with the core purpose and zero filler.

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?

No output schema exists, but the description effectively enumerates the return categories (errors, temperatures, consumption), which is enough for an agent to know what to expect. Annotations carry the safety profile, so the only minor gap is the precise shape of the aggregated response.

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 is documented in the schema as the serial from hobart_list_machines. The description only refers to 'machine X' and adds no syntax or format detail beyond the schema, so baseline 3 applies.

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 ('One-call health check of a dishwasher') and enumerates exactly what it returns: active errors, last wash/rinse temperatures, daily consumption. The reference to 'the three detail tools' makes clear it aggregates hobart_get_active_errors, hobart_get_temperatures, and the consumption data, distinguishing it from siblings.

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 says 'Prefer this to calling the three detail tools separately when the question is "how is machine X doing"', naming the alternative and the exact condition that selects this tool. Nothing is left to inference about when to prefer the aggregate over the individual calls.

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

hobart_pingCheck the Hobart connectionA
Read-onlyIdempotent

Checks that the Hobart Cloud-to-Cloud API is reachable and that the configured account can sign in. Use it only when another tool fails and you need to know whether the problem is the connection.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, openWorld, so safety is covered; the description adds useful behavior beyond that by disclosing that it exercises the configured account's sign-in, implying credentials must be set up. It stops short of describing the outcome/return shape, which matters for a diagnostic with no output schema.

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?

Two sentences and zero filler: the first states what is verified, the second states the usage constraint. The condition that selects the tool is front-loaded after the purpose.

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 zero-parameter, no-output-schema health check, the description gives enough to call it correctly and interpret its intent. The only gap is the absence of any statement about what a result looks like (pass/fail, error text), which is the remaining ambiguity an agent would face.

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 takes zero parameters, so there is no parameter semantics to explain; the baseline of 4 applies and the description correctly does not waste space on inputs.

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 (checks) and a specific resource (Hobart Cloud-to-Cloud API reachability plus account sign-in), which clearly distinguishes this diagnostic from the sibling data-retrieval tools like hobart_get_machine_data or hobart_get_active_errors.

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 names the trigger condition ('only when another tool fails') and the goal ('whether the problem is the connection'), which also acts as an exclusion against routine/periodic use. An agent has no ambiguity about when to call this versus a sibling.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.1.0
    • First observedhobart_get_active_errors
    • First observedhobart_get_machine_data
    • First observedhobart_get_temperatures
    • First observedhobart_list_machines
    • First observedhobart_machine_overview
    • First observedhobart_ping

TDQS

A4/5.0

Scored across 6 tools

Disambiguation4/5

Tools target distinct resources, and the overview tool's overlap with get_machine_data/get_active_errors/get_temperatures is explicitly addressed in its description ('prefer this to calling the three detail tools separately'). The remaining ambiguity is between overview and get_machine_data, since both surface consumption figures; an agent must read the descriptions carefully to choose.

Naming Consistency3/5

Most tools follow a hobart_verb_noun pattern (list_machines, get_machine_data, get_active_errors, get_temperatures), but machine_overview is noun-first and breaks the pattern, and ping is a bare verb with no object. Readable overall, but the convention is not uniform.

Tool Count5/5

Six tools is well-scoped for a read-only machine-monitoring server, and each covers a real need (connectivity, enumeration, composite health, daily data, errors, temperatures). No padding or redundant endpoints beyond the deliberate overview convenience tool.

Completeness4/5

The surface covers the monitoring lifecycle well: discovery, connectivity, health summary, daily consumption/counters, active errors, and temperatures. Minor gaps exist around historical queries (no date-range or prior-day retrieval) and machine metadata (model/capabilities beyond type and protocol version), but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Connects AI assistants to Housecall Pro to look up and manage customers, jobs, invoices, and more through natural language. Operates in read-only mode by default with optional write capabilities.
    30
    1
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to interact with a HubSpot CRM account via natural language, starting with read-only lookups and optionally enabling write operations like creating contacts, deals, and notes.
    11
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables natural-language control of home appliances through Home Assistant, exposing tools to list entities and areas, read states and history, call services, activate scenes, render templates, and confirm sensitive actions via one-time tokens. A built-in safety policy restricts it to appliance-class devices, outright denying gas, valves, locks, alarms, security panels, water heaters, door/window covers, and arbitrary-command domains.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to manage and interact with Ignition Gateway 8.3+ through a curated set of tools covering gateway administration, projects, resources, tags, alarms, historian data, and script execution via the REST API.
    GPL 3.0