Comment by james2doyle
4 days ago
The biggest win for me is they can have state. So you can log in to an MCP (via oauth) and not worry about having to refresh tokens locally or in the ENV. I use it for Trello. I log in, then I can call all the data about my board. No CLI to install, no token to copy-paste somewhere. It just opens a browser tab to log in when required, next, next, next, and it works.
Why do think CLI programs can't store state (locally or on a server)?
Your cli is slightly different than how a LLM uses it. We use 'export' and 'cd' to store state. LLMs dont do that generally.
There is an argument for and against having the model repeat this state.
I'm still on team CLI in that i think even designing an interface from the CLI perspective gets you a better domain interface compared to when you can 'cheat' with the MCP state.
But the thing MCP is just better at is credentials.
The thing that _was_ the dealbreaker between CLI and MCPs is that MCP's couldn't be composed. Maybe `codemode` fixed this; haven't tried enough to say 1 way or another.
CLI support using oauth to authenticate via a browser too.