Show HN: CLI-use – turn any MCP server into a CLI in one command

  • Posted 3 hours ago by justvugg
  • 1 points
Hi everyone,

I built cli-use, a small Python tool that turns any MCP server into a native CLI.

The idea is simple: HTTP has curl, Docker has docker, Kubernetes has kubectl — MCP should have a shell-native client too.

Why I made it:

MCP is useful, but using it through agents has overhead:

every session pays schema discovery cost every call carries JSON-RPC framing responses are often verbose JSON when the useful output is just a line or two

cli-use converts that into a terse CLI so tools can be called like normal shell commands.

Example:

pip install cli-use cli-use add fs /tmp cli-use fs list_directory --path /tmp

After that, the MCP server behaves like a regular CLI:

usable by agents usable by humans usable from scripts / subprocess.run composable with grep, head, xargs, etc.

Example:

cli-use fs search_files --path /tmp --pattern "*.md" | head cli-use fs read_text_file --path /tmp/notes.md | grep TODO

One thing I cared about a lot is agent ergonomics.

Every add also emits a SKILL.md plus an AGENTS.md pointer, so agents working in a repo can discover and use the CLI automatically.

A few details:

pure Python stdlib zero runtime deps persistent aliases works with npm, pip, pipx, and local MCP servers built-in registry for common MCP servers

I also benchmarked it against the real @modelcontextprotocol/server-filesystem server (14 tools). Depending on session size, token savings were around 60–80%, mostly by removing schema overhead and verbose request / response framing.

It’s still alpha, but already usable.

Repo: https://github.com/JustVugg/cli-use

0 comments