moda command is exposed as exactly one MCP tool with the same name (kebab-case becomes snake_case, subcommand spaces become underscores) and the same wire behavior — same endpoints, same query parameters, same encodings, same warnings. The trace tools keep their original names (conversations, cluster_conversations) while the CLI’s primary commands are now moda traces and moda cluster-traces — the legacy moda conversations / moda cluster-conversations aliases still match 1:1; the mapping below covers the documented tools. Each tool’s registration carries the command it mirrors in _meta["dev.moda/cli_command"], and the manifest tool returns this entire map machine-readably at runtime.
Tool-to-command map
The documented tools, grouped by toolset. Writes? reflects each tool’sreadOnlyHint annotation — what approval-gating clients see.
Wire parity contract
The server ports the CLI’s request-building rules exactly; anything the backend sees is byte-for-byte what the CLI would have sent. The rules:Timeout budgets
Per-call timeouts mirror the CLI’s budgets. Calls not listed use the 30-second default.Deliberate deviations
The following behaviors intentionally differ from the CLI. Each is also called out in the affected tool’s description.CLI-only commands
Commands that open a browser, manage local credentials, or read and write your repo have no MCP tool. Themanifest tool returns this list with the same reasons.
Next steps
- MCP server — endpoint, authentication, toolsets, and client setup.
- MCP tool reference — every tool with its parameters and example output.
- CLI reference — the
modacommands these tools mirror, with flags and trimmed outputs.