DOCS / AI ASSISTANTS
Use Glassmkr in ChatGPT and Claude
Paste the output of smartctl, zpool status, mdadm, dmesg, ipmitool or nvidia-smi -q into ChatGPT or Claude, and Glassmkr's own alert rules read it. The connector needs no account, no sign-in, and nothing installed on your servers.
#What it does
The paste-triage connector is a Model Context Protocol (MCP) server. When you paste command output into a conversation, the assistant hands it to Glassmkr, which runs the same alert rules and fix workflows the dashboard runs on live data from the Crucible agent. The verdict comes from that rule code, not from the assistant's own judgment; the assistant explains it to you.
It reads these outputs:
| Area | Paste the output of | What the rules look at |
|---|---|---|
| Drives (SATA, SAS, NVMe) | smartctl -a, smartctl -x, or smartctl -j -a (JSON) | SMART health and failure attributes, the NVMe critical warning, SSD wear, and disks whose SMART data cannot be read. |
| ZFS | zpool status or zpool status -v | Pool and vdev state, scrub errors, and a faulted log (SLOG) device. |
| Linux software RAID | cat /proc/mdstat and mdadm --detail /dev/md0 | Degraded arrays and which member failed. |
| Kernel log | dmesg -T or journalctl -k | Disk errors, NVMe controller resets, ext4 filesystems remounted read-only, NVIDIA Xid events, and uncorrected memory errors reported by EDAC. |
| BMC (IPMI) | ipmitool sel elist and ipmitool sel info; for fans, ipmitool sdr type Fan; for power supplies, ipmitool sdr elist (ipmitool sensor prints a power supply's state as a hex code that is not decoded) | Critical hardware events, uncorrectable memory errors, an event log that is full or nearly full, and failed fans or power supplies. |
| NVIDIA GPUs | nvidia-smi -q and nvidia-smi nvlink --status | Uncorrected ECC errors and retired or pending pages, a high corrected-ECC count, thermal slowdown, power-cap throttling, a PCIe link below the GPU's maximum, VBIOS versions that differ between GPUs of the same model, and NVLink links that are down. |
One paste can hold several of these at once; each one recognized is read. What comes back to the assistant:
- Findings: the rule that fired, its severity, the drive, array, pool or GPU it concerns, the values it observed, and the fix workflow for it (a quick check to run and the steps that follow).
- Rules that ran without a match: the checks that applied to this output and found no matching signal in it. That is not a clean bill of health; it means this output did not show the problem those rules look for.
- What it could not determine, and why (see Limits).
- What to capture next: the exact command to run when more output would settle the question.
Fix workflows are instructions for you to read and run yourself. Nothing is executed on your servers; the connector never connects to them.
#Connect it
The connector URL is:
https://app.glassmkr.com/api/triage/mcp It takes no authentication: no account, no sign-in, no API key. You add it by URL, as below; that works today and does not depend on any directory listing.
This connector never connects to your servers and never reads a Glassmkr account. To give an assistant the live health and alerts of servers you already monitor, use the authenticated MCP server at https://app.glassmkr.com/mcp instead.
ChatGPT
ChatGPT adds MCP servers by URL in developer mode. Whether you can turn developer mode on depends on your ChatGPT plan and, in a workspace, on its admin's policy.
- In ChatGPT, open Settings, select Security and login, and turn on Developer mode.
- Go to chatgpt.com/plugins and select the plus button.
- Enter a name, for example
Glassmkr triage, and a short description if asked. - Under Connection, enter
https://app.glassmkr.com/api/triage/mcpas the MCP server URL. If the form asks for an authentication method, choose no authentication. - Create the connection. ChatGPT lists the three tools it found: Analyze server output, Get capture command and Get monitoring setup.
- Open your personal plugins at chatgpt.com/plugins?view=personal, open the connector, and select the plus button to install it.
- Go back to the ChatGPT homepage, switch the tab at the top from Chat to Work, and start a new Work chat. In the prompt box, type
@, choose the connector, then paste your output.
Claude
On claude.ai and in the Claude desktop app, add it as a custom connector. Custom connectors depend on your Claude plan; in a Team or Enterprise organization, an owner may need to add it first.
- Open Settings, then Connectors.
- Select Add custom connector.
- Enter a name, for example
Glassmkr triage, and the URLhttps://app.glassmkr.com/api/triage/mcp. Leave any OAuth client fields empty: the connector has no sign-in. - Select Add, then enable the connector for a chat from the tools menu and paste your output.
Claude Code
Add it from your terminal:
claude mcp add --transport http glassmkr-triage https://app.glassmkr.com/api/triage/mcp Add --scope user to make it available in every project rather than only the current one. Run /mcp inside Claude Code to confirm it is connected; there is no authentication step.
Other MCP clients
Any client that supports remote MCP servers over streamable HTTP can use the same URL with no authentication.
#Example prompts
Paste the full output rather than a summary of it, and say what you want to know:
- "Is this drive failing?" followed by the output of
sudo smartctl -a /dev/sda. - "One of my arrays looks degraded. Which disk do I replace?" with
cat /proc/mdstatandsudo mdadm --detail /dev/md0. - "Is this pool OK to keep running?" with
zpool status -v. - "Anything in here I should worry about?" with
sudo env LC_ALL=C dmesg -Torsudo journalctl -k -b -o short-iso. - "What do these BMC events mean?" with
sudo ipmitool sel elist. - "Is one of these GPUs unhealthy?" with
nvidia-smi -qandnvidia-smi nvlink --status. - "What should I run to check my NVMe drives?" The assistant asks Glassmkr for the exact capture command, which you run and paste back.
- "How do I keep an eye on this continuously?" The assistant returns the steps to install and enroll Crucible.
If the output is very long, paste the part for the device or time window you are asking about. To hide hostnames or serial numbers, replace each one with a different placeholder (for example DISK1, DISK2): when the output does not name each device, the serial number is what tells two drives apart, so giving every drive the same placeholder merges them. Leave GPU UUIDs as they are.
#Limits: what one paste cannot tell you
A paste is a single moment, and only what is in it gets judged. Several things need history that one paste does not have:
- Trends and rates. Whether a SMART counter such as reallocated or pending sectors is still climbing, or how fast an SSD is wearing, needs earlier readings to compare against.
- Recurrence. Whether an error came back after it was cleared, or keeps arriving, needs a record over time.
- Absence. A server that stopped reporting leaves nothing to paste, and telling a planned reboot from an unplanned one needs a record of uptime.
- Unseen devices. A drive, array or GPU that is not in the output is not checked.
- Undated events. Plain
dmesgstamps lines with seconds since boot, and plainjournalctl -kprints no year, so the result reports the time of those events as unknown rather than guessing one.dmesg -Tandjournalctl -k -o short-isocarry full dates.
Each result lists what it could not determine, so the assistant can say so instead of filling the gap.
Continuous monitoring answers these. Crucible, the open-source agent, collects these signals on a schedule and the dashboard keeps the history the trend, recurrence and absence rules need, then notifies you when one fires. Install it on the hosted dashboard with Getting started, or run the whole stack yourself with Self-hosting. Already running Crucible? The authenticated MCP server gives an assistant your fleet's live health and alerts, with your consent.
#Privacy
- The text you paste is not kept. Glassmkr processes it in memory to produce the result and returns that result to your assistant. Glassmkr does not store it or write it to any log.
- What is logged. One line per call: which tool was called, the output formats detected, the input size, the rule ids of any findings, how long the call took, whether the call succeeded or was rate limited, and, when the assistant sends an anonymous requester identifier, a hash of it used for rate limiting.
- No account involved. Calls are anonymous and nothing ties them to a Glassmkr account.
- The conversation is the provider's. What you type and paste into ChatGPT or Claude, and what the assistant replies, is handled by OpenAI or Anthropic under their own policies, not Glassmkr's.
The full details, including request metadata and retention, are in the privacy policy.
#Support
For help with the connector, email [email protected] or open an issue at github.com/glassmkr/glassmkr/issues. Leave hostnames, serial numbers and keys out of a public issue.
#Tools
All three are read-only: they take text in and return text out, and change nothing anywhere.
| Tool | Name | Does |
|---|---|---|
| Analyze server output | analyze_server_output | Runs Glassmkr's alert rules on pasted command output and returns findings, fix workflows, what it could not determine, and what to capture next. |
| Get capture command | get_capture_command | Returns the exact commands that produce output it can read, for a goal such as all disks, one disk, NVMe drives, an md array, a ZFS pool, kernel errors, GPUs, NVLink, or BMC events. |
| Get monitoring setup | get_monitoring_setup | Returns the steps to install, enroll and verify Crucible for continuous monitoring. |