View as Markdown

#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:

AreaPaste the output ofWhat 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.
ZFSzpool status or zpool status -vPool and vdev state, scrub errors, and a faulted log (SLOG) device.
Linux software RAIDcat /proc/mdstat and mdadm --detail /dev/md0Degraded arrays and which member failed.
Kernel logdmesg -T or journalctl -kDisk 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 GPUsnvidia-smi -q and nvidia-smi nvlink --statusUncorrected 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.

  1. In ChatGPT, open Settings, select Security and login, and turn on Developer mode.
  2. Go to chatgpt.com/plugins and select the plus button.
  3. Enter a name, for example Glassmkr triage, and a short description if asked.
  4. Under Connection, enter https://app.glassmkr.com/api/triage/mcp as the MCP server URL. If the form asks for an authentication method, choose no authentication.
  5. Create the connection. ChatGPT lists the three tools it found: Analyze server output, Get capture command and Get monitoring setup.
  6. Open your personal plugins at chatgpt.com/plugins?view=personal, open the connector, and select the plus button to install it.
  7. 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.

  1. Open Settings, then Connectors.
  2. Select Add custom connector.
  3. Enter a name, for example Glassmkr triage, and the URL https://app.glassmkr.com/api/triage/mcp. Leave any OAuth client fields empty: the connector has no sign-in.
  4. 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/mdstat and sudo 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 -T or sudo 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 -q and nvidia-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 dmesg stamps lines with seconds since boot, and plain journalctl -k prints no year, so the result reports the time of those events as unknown rather than guessing one. dmesg -T and journalctl -k -o short-iso carry 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.

ToolNameDoes
Analyze server outputanalyze_server_outputRuns 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 commandget_capture_commandReturns 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 setupget_monitoring_setupReturns the steps to install, enroll and verify Crucible for continuous monitoring.