Semlith

Connect IO CLI to Semlith

How to connect IO CLI to Semlith over MCP, the command or file that adds it, and how to check the connection works.

Every stanza writes ${SEMLITH_BIN} where the binary goes, the path which semlith prints. Set up your agent client explains it and the HTTP form.

IO CLI — io.local.toml in the project root. Servers are an array of tables, so each is its own [[mcp]] block with the name as a field. That file is per-checkout, so it is not tagged for --register-all; the CLI is what reaches every project. Its scopes are user, project and local (--scope global is rejected by name), so --scope user means your own file everywhere. On Windows the installer puts io.exe in %LOCALAPPDATA%\io\bin without adding it to PATH; add that directory before running semlith setup, or the CLI reads as not installed. io mcp add --scope user writes the entry into ~/.io-cli/io.toml, which is also where semlith doctor reads it:

~/.io-cli/io.toml
[[mcp]]
id = "semlith"
transport = "stdio"
command = "${SEMLITH_BIN}"
args = ["mcp"]

Or against a daemon on another machine, over HTTP:

[[mcp]]
id = "semlith"
url = "http://127.0.0.1:7365/mcp"
headers = { Authorization = "Bearer ${SEMLITH_AGENT_KEY}" }

To replace an existing entry (remove takes no --scope; io goes to whichever file declares the name):

io mcp remove semlith
io mcp add --scope user semlith -- "${SEMLITH_BIN}" mcp