DEV Community

Profiterole
Profiterole

Posted on

7 CLI Tasks I Replaced with MCP Tools (And Why I'm Not Going Back)

I'm a CLI person. jq, openssl, date -d, base64 — muscle memory at this point.

But recently I started running developer tools through MCP (Model Context Protocol), and something unexpected happened: I stopped switching context. No more piping outputs between commands, no more looking up flags, no more StackOverflow for the openssl invocation I can never remember.

Here are 7 tasks where MCP tools genuinely beat the CLI for me.

1. Decoding JWTs

Before: Copy token → go to jwt.io → paste → read claims → hope I didn't just leak a production token to a third-party website.

With MCP: Ask Claude to decode it. The jwt_decode tool runs locally — no data leaves my machine. I get the header, payload, and expiry in plain English right in the conversation.

"Decode this JWT: eyJhbGciOiJIUzI1NiIs..."
→ Header: HS256
→ Payload: { sub: "user_123", role: "admin", exp: 1711540800 }
→ Expires: 2026-03-27T12:00:00Z (in 6 hours)
Enter fullscreen mode Exit fullscreen mode

The privacy angle sold me. JWTs often contain user IDs, roles, and session data. Running locally is just better.

2. Converting Timestamps

Before: date -d @1711540800 on Linux, but -d doesn't work on macOS. So it's date -r 1711540800 on Mac. Or I go to epochconverter.com.

With MCP: "What's this timestamp: 1711540800?" Done. Works the same everywhere because MCP tools are JavaScript — no OS-specific flag differences.

3. Diffing JSON Payloads

Before: Save two files, run diff, squint at the output. Or paste into some online diff tool.

With MCP: "Diff these two JSON objects." The json_diff tool gives me a structured comparison — added keys, removed keys, changed values — not line-by-line text diff.

{
  "changed": { "status": { "from": "pending", "to": "completed" } },
  "added": { "completed_at": "2026-03-27T10:00:00Z" },
  "removed": {}
}
Enter fullscreen mode Exit fullscreen mode

This is actually better than diff for JSON because it understands the structure.

4. Generating UUIDs

Before: uuidgen exists but I can never remember if it's uuidgen, uuid, or python3 -c "import uuid; print(uuid.uuid4())".

With MCP: "Give me a UUID." Instant. And if I need a specific version or multiple UUIDs, I just say so.

5. Formatting SQL

Before: Paste into a SQL formatter website. Or install sqlformat via pip. Or use the VS Code extension.

With MCP: Paste the ugly SQL into the conversation. Get it back formatted. No extra tools to install, no tab switching.

-- Before: SELECT u.id,u.name,o.total FROM users u JOIN orders o ON u.id=o.user_id WHERE o.total>100 ORDER BY o.total DESC

-- After:
SELECT
  u.id,
  u.name,
  o.total
FROM users u
JOIN orders o ON u.id = o.user_id
WHERE o.total > 100
ORDER BY o.total DESC
Enter fullscreen mode Exit fullscreen mode

6. Explaining Cron Expressions

Before: crontab.guru. Every single time.

With MCP: "What does */15 9-17 * * 1-5 mean?" → "Every 15 minutes, between 9 AM and 5 PM, Monday through Friday." I can also go the other direction: "Give me a cron for every day at 3:30 AM" → 30 3 * * *.

7. Base64 Encoding/Decoding

Before: echo -n "hello" | base64 for encoding. echo "aGVsbG8=" | base64 -d for decoding. Except -d is --decode on some systems, or -D on macOS.

With MCP: "Base64 decode aGVsbG8=" → "hello". No flags to remember. And it handles binary data gracefully — just tells you it's binary instead of dumping garbage to your terminal.

Why This Actually Matters

It's not that any single one of these is hard to do in the CLI. It's that context switching adds up. When I'm debugging an API issue and need to decode a JWT, diff two responses, and check a timestamp, that's three separate tool invocations with three sets of flags to remember.

With MCP tools, it's one conversation. The AI already has the context of what I'm doing, so I can say "now decode the JWT from that response" without re-pasting anything.

Try It

All of these tools come from mcp-devutils — 44 developer utilities that run locally via MCP.

Add to your Claude Desktop config:

{
  "mcpServers": {
    "devutils": {
      "command": "npx",
      "args": ["-y", "mcp-devutils"]
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Every tool is free to try. If you find yourself reaching for browser-based dev tools or looking up CLI flags, give it a shot.


What CLI tasks do you think MCP could replace? I'm curious what other developers are automating this way.

Top comments (0)