| ▲ | wenc 3 hours ago | |||||||
MCPs (especially remote MCPs) are like a black box API -- you don't have to install anything, provision any resources, etc. You just call it and get an answer. There's a place for that, but an MCP is ultimately a blunt instrument. CLI tools on the other hand are like precision instruments. Yes, you have to install them locally once, but after that, they have access to your local environment and can discover things on their own. There are two CLIs are particularly powerful for working with large structured data: `jq` and `duckdb` cli. I tell the agent to never load large JSON, CSV or Parquet files into context -- instead, introspect them intelligently by sampling the data with said CLI tools. And Opus 4.6 is amazing at this! It figures out the shape of the data on its own within seconds by writing "probing" queries in DuckDB and jq. When it hits a bottleneck, Opus 4.6 figures out what's wrong, and tries other query strategies. It's amazing to watch it go down rabbit holes and then recovering automatically. This is especially useful for doing exploratory data analysis in ML work. The agent uses these tools to quickly check data edge cases, and does a way more thorough job than me. CLIs also feel "snappier" than MCPs. MCPs often have latency, whereas you can see CLIs do things in real time. There's a certain ergonomic niceness to this. p.s. other CLIs I use often in conjunction with agents: `showboat` (Simon Willison) to do linear walkthroughts of code. `br` (Rust port of Beads) to create epics/stories/tasks to direct Opus in implementing a plan. `psql` to probe Postgres databases. `roborev` (Wes McKinney) to do automatic code reviews and fixes. | ||||||||
| ▲ | itintheory an hour ago | parent | next [-] | |||||||
> you have to install them locally once or install Docker and have the agent run CLI commands in docker containers that mount the local directory. That way you essentially never have to install anything. I imagine there's a "skill" that you could set up to describe how to use docker (or podman or whatever) for all CLI interactions, but I haven't tried yet. | ||||||||
| ▲ | leohart 2 hours ago | parent | prev [-] | |||||||
I have also found this as well. CLI outputs text and input text in an interactive manner, exactly the way that is most conducive to text-based-text-trained LLM. I do believe that as vision/multi-modal models get to a better state, we would see even crazier interaction surfaces. RE: duckdb. I have a wonderful time with ChatGPT talking to duckdb but I have kept it to inmemory db only. Do you set up some system prompt that tell it to keep a duckdb database locally on disk in the current folder? | ||||||||
| ||||||||