whats-running-mcp
This server provides read-only, real-time ground truth about what is running on your machine, helping AI agents avoid stale assumptions. It is safe, executing only fixed binaries with no shell, and degrades gracefully on timeouts (10s).
whats_running— Get a full live snapshot in one call: agent sessions, TCP listeners, loaded daemons, and system stats.agent_sessions— List active AI-agent processes (e.g., Claude Code, Codex, Aider) with PID, uptime, and working directory; distinguishes terminal-attached vs detached/orphan sessions. Optionally include detached sessions.listening_ports— Show all TCP ports in LISTEN state with owning process and PID, to verify if a service is actually up.daemons— List persistent services loaded vialaunchctl(macOS) orsystemduser services (Linux), with optional substring filter.system_stats— Provide load average, system uptime, and root disk free space.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@whats-running-mcp what's running on this machine?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
whats-running-mcp
Ground truth for agent fleets. An MCP server that tells your AI agent what is actually running on the machine — live agent sessions, listening TCP ports, loaded daemons, system load — read straight from the OS (ps / lsof / launchctl / df), never from docs, transcripts, or memory files.
Why
If you run more than one coding-agent session (Claude Code, Codex, Aider…), you've seen this failure mode: an agent "health-checks" a server that died weeks ago, or confidently reports a daemon as live because an old transcript said so. Model memory is a cache with no invalidation. The OS is the source of truth.
This server started as a shell script (whats-running) I wrote after my own fleet of Claude Code sessions kept reporting stale state as live. Wrapping it in MCP means every session grounds itself the same way, automatically.
Related MCP server: Enterprise Infrastructure & Metrics MCP Server
Tools
Tool | What it answers |
| Full snapshot in one call — use at session start |
| Which agent processes are live? Terminal-attached vs detached/orphan, with pid, uptime, and working directory |
| Is service X actually up? Every TCP LISTEN socket with owning process |
| What persistent services are loaded? |
| Load average, uptime, root-disk free space |
Install
Claude Desktop (one-click, no terminal): download the latest whats-running-mcp-<version>.dxt from Releases and open it with Claude Desktop (double-click, or Settings → Extensions → Install Extension…). The server and its dependencies ship inside the bundle — no npm, no Node install.
Register with Claude Code (available in every session):
claude mcp add --scope user whats-running -- npx -y whats-running-mcpOr in any MCP client config:
{
"mcpServers": {
"whats-running": {
"command": "npx",
"args": ["-y", "whats-running-mcp"]
}
}
}git clone https://github.com/stcmain/whats-running-mcp.git
cd whats-running-mcp
npm install && npm run build
# then point your client at node /path/to/whats-running-mcp/dist/index.jsPublished as whats-running-mcp on npm and as
io.github.stcmain/whats-running-mcp in the MCP Registry.
Configuration
Env var | Default | Purpose |
|
| Comma-separated substrings that mark a process as an "agent" in |
Design notes
Read-only by construction. Every command is a fixed binary with fixed flags via
execFile— no shell, and nothing derived from model input is ever executed. The only model-controlled inputs are a boolean and a substring filter applied in-process.Local information disclosure is the point. The model sees process names, pids, working directories, and ports of your own machine. Don't attach this server to an untrusted client.
Best-effort, never blocking. Commands time out at 10s and degrade to empty results rather than erroring the whole snapshot.
Platform: macOS first (my daily driver), Linux best-effort (systemd --user in place of launchctl).
Related free tools
Same idea — read-only, MIT, no telemetry — pointed at different blind spots:
whats-loaded-mcp — what is consuming your agent's context before a session starts: skill descriptions ranked by token cost, skills installed more than once,
CLAUDE.md/AGENTS.mdsizes including what their imports pull in.npx -y whats-loaded-mcpwhats-inherited-mcp — what a checkout tells your agent to do before you run it: instruction files, commands wired to auto-run, declared MCP servers, shipped skills. Repo strings come back labelled as data, not instructions.
npx -y whats-inherited-mcpwhats-allowed-mcp — what your agent can do without asking you: every settings file that contributes permission rules, which one wins, what runs unattended, and the rules your client accepts and then ignores.
npx -y whats-allowed-mcp
Who makes this
Built by Shift The Culture — we run a one-person company on AI agents and ship the tooling we needed ourselves. This server is free and MIT-licensed, no strings.
This server is the free, standalone piece of a larger multi-agent setup. The rest of that tooling is paid:
Agent Fleet Ops Kit ($29) — the other failure modes of running three or four agents on one box: two sessions editing the same checkout, a dev server nobody owns (so the agent tests a different app than it edits), and MCP servers leaked from crashed sessions that hold ports and RAM for weeks. Prefer PayPal? Same kit on Payhip.
Agent Reliability Kit ($29) — a Stop hook and two CLIs that block a turn when an agent claims "done" against a repo, URL, or build that was never actually checked. Prefer PayPal? Same kit on Payhip.
The server above stays free and MIT either way — it has no upsell in it, no telemetry, and no dependency on the paid kits.
Sponsors
This server is MIT and stays MIT. There is no pro edition, no telemetry, and nothing held back from the free build. Sponsorship is how the maintenance gets paid for without any of that changing.
No sponsors yet — the first slot is open. Company sponsors get their name or logo in this section, in the two sibling servers, and on the sponsor page. Tiers, exactly what the placement is, and what it explicitly does not buy: https://shifttheculture.media/sponsor
Individuals: https://paypal.me/ShiftTheCultureLLC — any amount, no perks, no tier.
License
MIT © Zachary Pampu
Available Tools
5 toolsagent_sessionsA
List AI-agent processes actually running right now (Claude Code, Codex, Aider, ...). Separates terminal-attached sessions (a human can see them) from detached/orphan ones. Reads ps/lsof directly — never transcripts or docs. Patterns configurable via WR_AGENT_PATTERNS.
Inputs: include_detached.
daemonsA
Persistent services actually loaded right now: launchctl (macOS, non-Apple) or systemd user services (Linux). Optional case-insensitive substring filter on the label.
Inputs: filter.
listening_portsA
All TCP ports currently in LISTEN state with owning process and pid (lsof). The definitive answer to 'is service X actually up?' — nothing hidden, nothing assumed.
Inputs: no named parameters.
system_statsA
Load average, uptime, and root-disk free space.
Inputs: no named parameters.
whats_runningA
Full live snapshot in one call: agent sessions, TCP listeners, loaded daemons, system stats. Use at session start to ground yourself in what is ACTUALLY live instead of stale memory.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool targets a distinct aspect of system state: daemons for persistent services, system_stats for machine health, listening_ports for network listeners, and agent_sessions for AI processes. The aggregate tool whats_running is explicitly designed to combine these, so there is no ambiguity between specific tools.
All tool names use lowercase snake_case and are noun phrases describing their data (daemons, system_stats, listening_ports, agent_sessions). The one outlier is whats_running, which is a phrase rather than a simple noun, but it still follows the same formatting and is easily distinguishable.
With five tools, the server is well-scoped for its monitoring purpose. Each tool covers a specific area, and the aggregate whats_running tool adds value by providing a single-call snapshot without bloating the count.
The server covers the key areas of system state: daemons, system stats, listening ports, and AI agent sessions, with a combined snapshot. Minor gaps exist, such as a general process list or memory usage details, but these are not core to the defined scope and can be worked around.
Maintenance
Related MCP Connectors
Read-only server insight: why a Linux server or K8s cluster is slow, failing or changed.
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Context and control for any AI. Agent identity, scoped access, and proof across tools.
Verified, sourced, real-time intelligence layer for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceGives AI agents real-time access to system metrics, process management, and container orchestration.-
- AlicenseAqualityDmaintenanceProvides read-only access to host system metrics (CPU, memory, disk), Docker container health/logs, and sandboxed log file analysis via MCP tools, enabling AI agents to monitor enterprise infrastructure safely.3MIT
- FlicenseAqualityBmaintenanceProvides AI coding agents with real-time visibility into local development runtime state, enabling them to tail application logs, inspect ports, monitor process metrics, and diagnose network errors.1-
- AlicenseNot gradedqualityCmaintenanceEnables LLMs to monitor system health, manage processes, execute shell commands, and inspect environment variables and directories.1MIT