kenny¶
Self-hosted remote administration and fleet monitoring for Windows and Linux, driven by Claude (MCP) and a web dashboard.
kenny administers a small fleet of Windows and Linux machines from one place: pushed telemetry with server-side health rules and alerting, capability tools that act on a host, account governance, a web filter and screen time, and a ticket queue the people who use those machines can open themselves. Operate it through Claude over MCP, through the built-in chat, or by hand in the console. It is for the machines you administer, with the consent of the people who use them — family PCs, a home lab, a small office.
flowchart LR
Operator(("Operator"))
Claude["Claude<br/>(local client, optional)"]
subgraph Server["kenny-server (cloud)"]
UI["Dashboard + Chat"]
MCP["MCP endpoint /mcp"]
Tunnel["Agent tunnel /agent/ws"]
Store[("Telemetry store<br/>SQLite")]
end
Agent["kenny-agent (Windows / Linux host)<br/>PowerShell / shell · winget · systemd<br/>filesystem · screenshot · collectors"]
Operator -->|https dashboard + chat| UI
Operator --> Claude -->|MCP, OAuth| MCP
UI --> Tunnel
MCP --> Tunnel
Tunnel <-->|WSS, agent dials out| Agent
Agent -->|telemetry push| Store
Store --> UI
- kenny-server (Python / FastMCP) — MCP endpoint for Claude, the agent tunnel, the telemetry store (SQLite), and the operator dashboard. One ASGI app, one port.
- kenny-agent (Rust, single binary) — runs on each managed host, Windows or Linux, dials out to the server (NAT/firewall friendly), executes tool calls in the user's session, and pushes health snapshots.
Where to next¶
- Setup & operations — host the server, configure TLS and environment, build & distribute the agent.
- User guide — operator workflows: dashboard, chat, running tools, onboarding and updating agents.
- Dashboard reference — every tab, widget, menu, and popup in the fleet console, with screenshots.
- Telemetry reference — every section the agent reports and the server-side health rule that grades it.
- Tool reference — the capability and orchestration tools Claude can call, and the confirm-gate.
- Parental controls — web activity, the web filter, and screen time.
- Alerting & digests — push alerts, the weekly digest, and disk/battery forecasts.
- Wire protocol — the agent⇄server contract (single source of truth, round-tripped by both sides).
- Architecture decisions — MADR records for every significant choice.
Contributing¶
kenny is open source under AGPL-3.0-only. See CONTRIBUTING, the Code of Conduct, and the Security policy (report vulnerabilities privately). Questions and ideas go to Discussions.