CLI Reference
ktx mcp
Run the ktx MCP HTTP server for agent clients.
ktx mcp starts, stops, inspects, and tails the local ktx MCP server for a ktx
project. Use it when an agent client connects through MCP instead of generated
CLI instructions.
Command signature
ktx mcp <subcommand> [options]
Subcommands
| Subcommand | Description |
|---|---|
start | Start the ktx MCP HTTP server |
stop | Stop the ktx MCP daemon |
status | Show daemon status, URL, PID, token mode, and project path |
logs | Print the daemon log |
mcp start Options
| Flag | Description | Default |
|---|---|---|
--host <host> | Host to bind | 127.0.0.1 |
--port <n> | Port to bind | 7878 |
--token <token> | Bearer token for non-loopback binding | KTX_MCP_TOKEN |
--foreground | Run the server in the foreground | false |
--allowed-host <host> | Additional allowed Host header; repeatable | - |
--allowed-origin <origin> | Allowed browser Origin header; repeatable | - |
mcp logs Options
| Flag | Description | Default |
|---|---|---|
--follow | Follow log output | false |
Examples
# Start the daemon on localhost ktx mcp start # Check status ktx mcp status # Tail logs ktx mcp logs --follow # Run in the foreground on a custom port ktx mcp start --port 8787 --foreground
Security notes
The default host is loopback-only. If you bind to a non-loopback host, configure
a bearer token with --token <token> or KTX_MCP_TOKEN and restrict allowed
hosts and origins for browser clients.
Common errors
| Error | Cause | Recovery |
|---|---|---|
| No ktx project found | Current directory has no ktx.yaml and KTX_PROJECT_DIR is unset | Run from a ktx project or pass --project-dir <path> |
| Non-loopback host rejected | The server needs token auth before binding beyond localhost | Pass --token <token> or set KTX_MCP_TOKEN |
| Client cannot connect | Host, port, token, allowed host, or allowed origin does not match the client | Check ktx mcp status, then restart with explicit --host, --port, --allowed-host, and --allowed-origin values |