Configuration
Everything MCEC does is configured in one of three places: the File ▸ Settings… dialog, the
mcec.settings file it writes, and the mcec.commands command table. This chapter covers all of them:
running MCEC, every Settings tab, the agent gates in mcec.settings, enabling commands, and logging.
For installing MCEC and where its files live, see Install; for the security model behind the agent gates, see Agent Safety; for the agent tools themselves, see Environment Controller.
Installed under Program Files, MCEC keeps its configuration under %APPDATA%\Kindel\MCEC
(mcec.settings, mcec.commands, mcec.log); a copy run from anywhere else reads its config co-located
in its own folder (see Install).
Running
Setup installs MCEC under Program Files and adds it to the Start Menu; after installation, launch it from there. MCEC runs as a normal windowed app that can minimize to a taskbar (tray) icon. Closing the main window minimizes it to the tray; double-click the tray icon to show it again, or right-click for a menu. To start hidden, check Hide Window at Startup in Settings.
To run headless as an MCP server (no main window, no tray icon; the command overlay and the
emergency-stop hotkey still work), launch it with mcp (or the equivalent --mcp); an MCP client can
spawn it on demand and talk JSON-RPC over stdio:
mcec.exe mcp
The installed copy (under Program Files) refuses to run as an MCP server or to serve the MCP/HTTP endpoint: enabling agent gates in the installed configuration would leak them enabled if a session crashed. Use session provisioning to get a disposable, isolated copy, or copy the install directory somewhere writable and run from there.
mcec.exe also has a command-line surface (built on
Terminal.Gui.Cli): --help, --version, --opencli (machine-readable
command metadata for tools and agents), and agent-guide (prints the same agent guidance the MCP server
hands connecting clients). Run these from a terminal; with no arguments mcec.exe starts the GUI as
always.
You can run side-by-side copies by copying the install directory
somewhere writable; each copy gets its own independent .settings, .commands, and .log. Use
File ▸ Exit to shut down.
Settings

Settings are stored as XML in mcec.settings, in the %APPDATA%\Kindel\MCEC directory. Most settings
are edited from the File ▸ Settings… dialog; the agent gates (except the provisioning opt-in on the
Agent tab, below) are edited directly in mcec.settings.
The General tab:
- Hide Window at Startup: start minimized to the tray icon.
- Log Threshold: how much is shown in the main window (
INFO,DEBUG, orALL). Log files always containALLevents. - Default command pacing (ms): delay MCEC applies before executing each received command (default 0).
The Client, Server, Serial Server, and Activity Monitor tabs configure the classic remote-control transports and are documented in Home Automation & Remote Control.
The Agent tab is where you let an agent (a desktop assistant or computer-use tool) work with MCEC via session provisioning:

- Allow agents to provision disposable instances: the one switch to turn on. A connected agent then gets a fresh, throwaway copy of MCEC to drive, deleted when it finishes. It never opens up this installed copy.
- Provisioned instances: lists those copies (age, size, running or not), with Delete / Delete all to clear any an agent left behind. MCEC also cleans up stale ones on its own.
Agent settings (in mcec.settings)
The agent surface is configured by these keys. All are off/safe by default; see Agent Safety for the full security model.
| Setting | Default | Meaning |
|---|---|---|
AgentCommandsEnabled |
false |
Master opt-in for the agent observation/actuation commands. Separate from the classic command enable. |
McpServerEnabled |
false |
Enables the localhost HTTP/JSON-RPC floor (POST /mcp). |
McpBindAddress |
127.0.0.1 |
Address the HTTP floor binds to (localhost only by default). |
McpHttpPort |
5151 |
Port for the HTTP floor. |
CommandOverlayEnabled |
true |
Shows an on-screen overlay narrating each agent command as it runs, so anyone watching can see MCEC is driving. |
CommandOverlayPosition |
Right |
Which side of the primary screen the overlay docks to. |
EmergencyStopEnabled |
true |
Arms the global emergency-stop hotkey while the agent front door could be driving. |
EmergencyStopHotkey |
Ctrl+Alt+Shift+S |
The panic-hotkey chord (a +-separated spec). |
AllowSessionProvisioning |
false |
Operator opt-in that lets an agent request a fresh, isolated MCEC instance via provision-session. |
AgentRecordMaxFps / AgentRecordMaxDurationMs / AgentRecordMaxFrames / AgentRecordMaxWidth |
30 / 60000 / 600 / 1280 | Safety limits for the record tool (requests above them are clamped, not failed). |
Restart MCEC (or relaunch --mcp) after editing mcec.settings.
Enabling or Disabling Commands
For security, every command is disabled by default; this reduces the surface area MCEC exposes. This
applies to both the classic commands and the agent commands: an agent command runs only when
AgentCommandsEnabled=true and that individual command is enabled.
Use the Commands Window (Commands ▸ Enable and Test Commands…) to enable/disable commands and test
them. Details, including the mcec.commands XML format, are in
Home Automation & Remote Control.
Agent safety
The agent gates above decide whether the agent surface is reachable. Two operator-safety features build on them: the global emergency-stop hotkey and disposable isolated session provisioning. Both are covered in Agent Safety.
Logging
Informational, debug, and diagnostic events are logged to mcec.log and shown in the main window. Installs
under Program Files write the log to %APPDATA%\Kindel\MCEC\mcec.log. Otherwise the log is written to the
directory MCEC is started from.
Every agent action is additionally logged with a loud AGENT-AUDIT: line so agent activity is impossible
to miss.