LABSCO SUMMARY
Worker probes stay off until you hand them a map.
By default this is a thin control-plane bridge and nothing more. Point ENOCH_WORKER_PROBES_JSON or ENOCH_WORKER_PROBES_FILE at a lane map and it also reaches CPU and GPU workers directly — worker-gate URLs first, SSH only as a fallback, and only for fixed diagnostic commands with bounded output. User-supplied run and project ids are restricted to safe identifier characters, and the recommended deployment is a read-only worker user or a forced-command policy.
What it is
A local stdio bridge to a running Enoch FastAPI control plane. It registers tools for the control-plane, Dashboard V1 and core endpoints, attaches your bearer token to each request, and returns the API's own responses.
What you get
- Typed tools over the Enoch API, with read-only tools carrying MCP read-only annotations and mutating tools flagged as such with approval metadata
- Safe defaults for dry-run operations
- Optional worker diagnostics: API health, worker-gate dashboard status, active process markers, bounded log tails, disk space, and whether expected artifacts are present
- A deliberately narrow surface — no raw shell tool, no arbitrary SSH commands, no direct reads or writes of local artifact files, and no path around Enoch's own authentication
Requirements
A running Enoch API — the default is http://localhost:8787 — and a bearer token for it. The PyPI package enoch-mcp, version 0.1.3, runs as uvx enoch-mcp, taking --api-url and --api-token or the environment variables ENOCH_API_URL and ENOCH_API_TOKEN. The token is required: without it, calls fail before any HTTP request is made. Python 3.11 or newer.
Setup effort
One command plus a key — uvx enoch-mcp --api-url http://localhost:8787 --api-token '<YOUR_API_TOKEN>', then supply credentials
USE CASES
01
Checking whether a run is actually progressing
Read control-plane and dashboard state through typed tools rather than curling the API by hand.
02
Letting an agent operate the control plane without shell access
Mutating tools are flagged and carry approval metadata, so the client can ask before anything changes.
03
Diagnosing a worker that has gone quiet
Turn on worker probes and read service status, a bounded log tail, disk space and expected artifacts.
BEFORE YOU INSTALL
What to know first
Requires
- uvx on PATH
- Python 3.11 or later
- ENOCH_API_TOKEN in your environment
Where it runs
Both documented setups run the server on your machine.
INSTALLATION
Connect your client
Server setup
TERMINAL
uvx enoch-mcp --api-url http://localhost:8787 --api-token '<YOUR_API_TOKEN>'MCP Clients
Claude Desktop — uvx
CLAUDE DESKTOP — UVX · JSON
{
"mcpServers": {
"enoch": {
"command": "uvx",
"args": [
"enoch-mcp"
],
"env": {
"ENOCH_API_URL": "http://localhost:8787",
"ENOCH_API_TOKEN": "<YOUR_ENOCH_API_TOKEN>"
}
}
}
}Claude Desktop — local build
CLAUDE DESKTOP — LOCAL BUILD · JSON
{
"mcpServers": {
"enoch": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_ENOCH_MCP>",
"run",
"enoch-mcp"
],
"env": {
"ENOCH_API_URL": "http://localhost:8787",
"ENOCH_API_TOKEN": "<YOUR_ENOCH_API_TOKEN>"
}
}
}
}