By 88plug
The sanctioned OS 'motor cortex' for an agent on a Linux box: control systemd services/timers, query journald, read host resources/processes, send desktop notifications, drive D-Bus, and manage power (suspend/reboot/poweroff) — all through structured interfaces (systemctl/loginctl/journalctl/busctl), never raw PID hacks. Pure standard library, zero pip deps. A self-preservation guard refuses severing actions on units the agent depends on (dbus, logind, sshd, network, tailscaled, the session, goosed) unless force=true. Ships the MCP server plus a control-os skill. The system-service counterpart to screen-mcp's GUI control.
Based on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Admin access level
Server config contains admin-level keywords
The sanctioned OS "motor cortex" for an agent on a Linux box — control systemd, logind, journald, and D-Bus through structured interfaces, never raw PID hacks.
os-control-mcp is an MCP server — usable by any agent or MCP client
(Claude Code, Cursor, Cline, Goose, Continue, your own MCP host, …) — that gives
a model sanctioned control of a Linux host: manage systemd services and
timers, query journald, read host resources and processes, send desktop
notifications, drive the D-Bus buses, and manage power — all through the host's
structured interfaces (systemctl, loginctl, journalctl, busctl), never
raw kill/PID hacks. It is the system-service counterpart to
screen-mcp's GUI control. Pure standard
library, zero pip runtime deps. Linux + systemd.
Install the plugin in Claude Code:
/plugin marketplace add 88plug/os-control-mcp
/plugin install os-control-mcp@os-control-mcp
Then confirm the server loaded and its tools are available:
/mcp
No setup needed — it uses the host's existing systemd/D-Bus tooling. Run the
os_diag tool first; it reports your privilege level and which backends are
present.
⚠️ Treat this plugin as privileged. It can stop services and power off the machine. The guards below make that hard to do by accident, but install it deliberately and disable it via
/pluginwhen you're not using it.
It's a plain stdio MCP server — no Claude-Code lock-in. Point any MCP client at
the launcher (or python3 server.py directly):
// e.g. Cursor / Cline / Goose / your own MCP host
{
"mcpServers": {
"os": { "command": "python3", "args": ["/path/to/os-control-mcp/server.py"] }
}
}
It speaks MCP 2025-11-25 over stdio; the tools appear like any other MCP server.
Observe (read-only)
| Tool | What |
|---|---|
os_diag | health: privilege, backends, manager state, bus reachability, safety status |
os_services | inspect units — list/status/show/cat/deps/files (system or user) |
os_journal | journald — unit/since/until/priority/grep (server-side regex)/-k dmesg/boots/match |
os_resources | load + memory + disk (+ optional per-unit accounting) |
os_processes | top processes by cpu/mem |
os_pressure | PSI from /proc/pressure — the real "is the box starving" signal |
os_net | network — sockets (ss), ip addr/links/routes, wifi, NetworkManager |
os_disk | storage — df, du (largest dirs), lsblk, mounts |
os_containers | Docker/Podman — ps/logs/inspect/stats/images/compose |
os_hardware | cpu/pci/usb/gpu (nvidia-smi + DRM) inventory |
os_sensors | thermal-zone temperatures (+ lm_sensors if present) |
os_session | logind sessions / users / inhibitors |
Act (guarded)
| Tool | What | Safety |
|---|---|---|
os_service | start/stop/restart/reload/enable/disable/mask/kill/reset-failed/daemon-reload (single or batch) | hard floor + self-preservation guard; dry_run |
os_wait | block until a unit is active/inactive/failed (or timeout) | — |
os_power | suspend/hibernate/reboot/poweroff/halt | needs confirm=true; dry_run |
os_time / os_hostname / os_locale | machine settings (timezone/NTP, hostname, locale/keymap) | writes need force=true; dry_run |
os_dbus | list/tree/introspect/get-property/set-property/call (system or session bus) | writes need force=true; dry_run |
os_notify | desktop notification to the logged-in user | — |
os_reload | hot-reload the server in place | — |
Human-in-the-loop, not model-in-the-loop. Every destructive action — severing a service (stop/kill/restart/disable/mask), power (reboot/poweroff/…), and D-Bus / machine-setting writes — is gated for a human's approval, in this order:
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimnpx claudepluginhub 88plug/claude-code-plugins --plugin os-control-mcpUltra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Eyes and hands on a Linux Wayland desktop: screenshot any monitor and click, type, scroll, drag, and read any visible app over xdg-desktop-portal (RemoteDesktop + ScreenCast), with optional OCR + OmniParser icon grounding. Pure-Python, CPU-only. GNOME/Wayland only. Ships the MCP server plus a drive-screen skill that encodes the locate-ground-act-confirm loop.
Seamless context continuity across Claude Code compaction. Four background layers (continuous tool-call capture, mechanical PostCompact handoff, async Opus 4.7 enrichment at --effort max, async Stop-hook refinement, and preemptive snapshot before the next compact) keep the agent's working state intact across every compaction and resume. All summarization is isolated from CLAUDE.md/auto-memory and invisible to the user.
Fast, token-efficient MCP for SearXNG metasearch. Privacy-respecting search across 70+ engines with stdio + streamable-http transports, Docker, and optional rendered (Playwright) fetch for JS-heavy pages. Self-hostable. The underlying server is also usable independently of Claude Code via `uvx --from git+https://github.com/88plug/searxng-mcp searxng-mcp`.
Detects when Claude drifts away from your active output contract (a terse persona, hard formatting/length rules, an in-character voice) and quietly steers it back. Each assistant turn is scored by a deterministic, dependency-free engine; a status-line badge shows live drift and the next prompt gets a one-shot correction nudge when the previous reply broke contract.
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Access thousands of AI prompts and skills directly in your AI coding assistant. Search prompts, discover skills, save your own, and improve prompts with AI.
Reliable automation, in-depth debugging, and performance analysis in Chrome using Chrome DevTools and Puppeteer
Intelligent draw.io diagramming plugin with AI-powered diagram generation, multi-platform embedding (GitHub, Confluence, Azure DevOps, Notion, Teams, Harness), conditional formatting, live data binding, and MCP server integration for programmatic diagram creation and management.
A growing collection of Claude-compatible academic workflow bundles. Covers scientific figures, manuscript writing and polishing, reviewer assessment, citation retrieval, data availability, paper reading, literature search, response letters, paper-to-PPTX conversion, and evidence-grounded Chinese invention patent drafting. Rules are organized as reusable skill folders with explicit workflows and quality checks.
Harness-native ECC plugin for engineering teams - 67 agents, 277 skills, 92 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses