CONTRIBUTING lists "adding CLI commands that mirror existing MCP tool capabilities" as in scope, so this is a parity report rather than a complaint. I diffed every CLI subcommand's option set against the zod schema of the MCP tool it calls, then checked each candidate against --help to drop the ones the CLI takes positionally or under a different flag name (--max for max_trades, --filter for name_filter, --file for file_path, and so on — most of the apparent gaps are those).
What survives is small, and it has a pattern worth naming: three of the six are the safety guards on the most destructive operations, and they are unreachable from the CLI.
| CLI command |
Missing MCP parameter |
Consequence |
tv tab close |
expect_title |
closing a tab cannot be undone through the API, and the guard that names which tab is about to go exists only for MCP callers |
tv layout switch |
discard_unsaved |
when a switch is stopped by unsaved changes, the error's own hint says to pass discard_unsaved:true, which the CLI cannot do |
tv pine new, tv pine set |
confirm_overwrite |
same shape: _assertBufferSafeToReplace refuses and hints at confirm_overwrite:true, and the CLI never passes it. The fail-closed default is right, but from the CLI it is a dead end rather than a decision |
tv replay autoplay |
enabled |
the CLI can only toggle. "Turn autoplay off" is not expressible — you have to read replay_status and infer whether to call it, which is the exact bug fixed on the MCP side in 2.3.0 |
tv state snapshot |
overwrite |
a snapshot name cannot be replaced from the CLI |
tv alert create |
frequency, resolution |
on_bar_close alerts, and any resolution other than the 1 default, are MCP-only |
The three hint-a-flag-that-does-not-exist cases are the ones I would prioritise. A CLI user follows the hint, finds no such option, and has no way to complete an action the tool explicitly offers.
tv replay autoplay is the one I hit hardest in practice: driving replay from a script means turning autoplay on, waiting, and turning it off, and the toggle makes the second half a guess.
Happy to send a PR — these look like handler-signature changes plus option declarations, no core changes. Say if you would rather have them as one PR or separately.
CONTRIBUTING lists "adding CLI commands that mirror existing MCP tool capabilities" as in scope, so this is a parity report rather than a complaint. I diffed every CLI subcommand's option set against the zod schema of the MCP tool it calls, then checked each candidate against
--helpto drop the ones the CLI takes positionally or under a different flag name (--maxformax_trades,--filterforname_filter,--fileforfile_path, and so on — most of the apparent gaps are those).What survives is small, and it has a pattern worth naming: three of the six are the safety guards on the most destructive operations, and they are unreachable from the CLI.
tv tab closeexpect_titletv layout switchdiscard_unsaveddiscard_unsaved:true, which the CLI cannot dotv pine new,tv pine setconfirm_overwrite_assertBufferSafeToReplacerefuses and hints atconfirm_overwrite:true, and the CLI never passes it. The fail-closed default is right, but from the CLI it is a dead end rather than a decisiontv replay autoplayenabledreplay_statusand infer whether to call it, which is the exact bug fixed on the MCP side in 2.3.0tv state snapshotoverwritetv alert createfrequency,resolutionon_bar_closealerts, and any resolution other than the1default, are MCP-onlyThe three hint-a-flag-that-does-not-exist cases are the ones I would prioritise. A CLI user follows the hint, finds no such option, and has no way to complete an action the tool explicitly offers.
tv replay autoplayis the one I hit hardest in practice: driving replay from a script means turning autoplay on, waiting, and turning it off, and the toggle makes the second half a guess.Happy to send a PR — these look like handler-signature changes plus option declarations, no core changes. Say if you would rather have them as one PR or separately.