Read-only health and storage diagnostics for an enrolled CMDOP machine fleet.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
A small, read-only Model Context Protocol (MCP) stdio server exposing 4 read-only tools over an already-enrolled cmdop machine fleet: roster visibility, machine health, one bounded live diagnostic, and cmdop-owned storage usage.
Published: io.github.commandoperator/cmdop-care
Β· Current version: v0.1.2 Β· License: Apache-2.0
If you already use cmdop on a machine, this is the conservative MCP entry point: connect an MCP-aware assistant to read fleet health without exposing a shell, arbitrary file reads, or open-ended machine delegation. The host must already be enrolled; credentials stay in the host operating system keyring. For broader machine operations, use the main cmdop MCP server instead.
This is not the full cmdop MCP surface. It intentionally omits
ask_machine, run_command, read_file, and list_dir β every tool that
executes a command, reads an arbitrary file, or delegates an open-ended task
to another machine. If you need those, use the main cmdop CLI's own MCP
server (cmdop mcp stdio), which is a separate, broader, product-integration
surface with its own review requirements. cmdop-care exists specifically to
offer a narrower, safer, publishable subset for the official MCP Registry.
cmdop CLI on the hostcmdop-care requires the host machine to already be enrolled via the main
cmdop CLI. It does not implement enrollment itself, and it does not accept a
relay token via an environment variable or a mounted secret as a primary
credential path. On startup it reads:
cmdop CLI already stored in
the OS keyring (macOS Keychain / Linux Secret Service / Windows Credential
Manager) when you ran cmdop join <join-key>;cmdop CLI has already cached in the
same keyring (e.g. from a prior cmdop connect), for care_diagnose only.If no token is found, every tool responds with a clear "not enrolled" message instead of failing silently or hanging.
This "host-keyring passthrough" model was a deliberate design decision (see
security-architecture-2026-07-18.md in this artifact's source repository)
to avoid introducing a second, weaker credential-handling path for the
product β this binary is not a fully standalone identity; it rides the same
enrollment as the CLI already installed on the host.
list_machinesLists the machines in the enrolled fleet.
{host, online, os}. No machine ID/UUID is ever
returned β this is a deliberate redaction decision (the internal relay
identifier is dropped before serialization, not merely omitted from
rendering).care_statusReads the durable Machine Care projection (facts, findings, coverage, freshness) for one enrolled machine.
machine (string, required) β exact display name from
list_machines.care_diagnoseRuns one bounded, typed process/startup diagnostic on a live enrolled machine β useful for "why is this machine slow?"
machine (string, required).Two disclosures, read before using this tool:
It never executes a shell command, accepts no PID or command argument, and performs no mutation.
care_storage_inventoryReads the latest validated cmdop-owned storage inventory for one enrolled machine.
machine (string, required).cmdop_logs, devcache_go_build). Accepts no path argument and
deletes nothing.machine string, used
purely as an opaque lookup key resolved server-side against your own
fleet β never interpolated into a path, command, or query.Or via Docker (after resolving and pinning the base image digest β see the
<PIN-BEFORE-BUILD> comment in Dockerfile):
The server speaks MCP over stdio only β there is no listening port. Point your MCP client (Claude Code, Codex, or any other MCP-speaking assistant) at the built binary or image the way you would any other stdio MCP server.
For AI-client setup notes, including a minimal MCP JSON configuration and first
prompt, see llms-install.md.
For marketplace submissions that require a square logo image, use the canonical
400Γ400 PNG in assets/cmdop-care-400.png.
Maintainers: see RELEASE.md β the short version is make publish, always run manually, never triggered by any CI or by cmdop_go's
own release.
By default cmdop-care dials the local embedded cmdop relay on loopback
(127.0.0.1:63142). Set CMDOP_CARE_RELAY_ADDR to override the dial target
for advanced self-hosted setups. This is a transport address only β never a
credential.
cmdop-care version | Compatible cmdop relay wire contract |
|---|---|
v0.1.2 | AiAgentService.GetMachineCare / RunMachineCareDiagnostic / roster-list shape as of 2026-07-18 |
This repository enables a tracked pre-commit hook that rejects staged environment files, private keys, and probable API tokens. After cloning, run:
This artifact went through an explicit threat-model and code-audit review
before implementation (see the Cmdop organization's internal
security-architecture-2026-07-18.md and code-audit-2026-07-18.md, referenced
from this repository's delivery track). Report a security issue privately to
security@cmdop.com β see SECURITY.md for what to include and
what to expect.
Apache-2.0 β see LICENSE.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/cmdop-machine-care)<a href="https://allmcps.com/mcp/cmdop-machine-care"><img src="https://allmcps.com/api/badge/cmdop-machine-care?style=directory" alt="CMDOP Machine Care on AllMCPs" /></a>