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

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:

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:

Settings ▸ Agent

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.