skip to content
ainoya.dev
Table of Contents

Recently, the Model Context Protocol (MCP) has been gaining significant attention in the context of AI agent utilization. However, I deliberately chose a different path—a mature approach using the CLI (Command Line Interface)—to create my own operation interfaces for daily tools like Slack, Atlassian, and Esa, going against the current trend.

“Why use a simple CLI now instead of the rich MCP?” The reason lies in the “economics of information” surrounding the context windows of current LLMs and a return to the good old “Unix Philosophy”.

Here are the tools I created (written in Go):

The “Context Pressure” Problem with MCP

Many current MCP server implementations tend to be designed to pass rich information from connected tools into the context. However, LLM context windows are finite and cost money. Simply asking an AI to “check the latest Slack messages” can result in loading a massive amount of unnecessary noise, lowering the signal-to-noise ratio of information (which in turn lowers the accuracy of the answer). This puts the cart before the horse.

”Pre-filtering” with CLI and Pipelines

This is where the strength of the CLI comes into play. With a CLI, you can physically narrow down information using Linux pipeline processing before passing it to the AI.

For example, when letting an AI agent read logs, an MCP implementation might inadvertently pass “all logs”. With a CLI, you can write it like this:

Terminal window
# Filter only the truly necessary information and pass it to the context
slack-cli log --channel "dev-ops" | grep "ERROR" | tail -n 20

Instead of throwing raw information at the AI, humans filter it with intention (Pre-filtering). I believe this “Unix Philosophy” approach is what directly leads to token savings and improved accuracy.

The Ease of Defining in “Markdown”

The CLI approach is also advantageous for configuring Claude Code or Cursor. Modifying the logic of an MCP server itself is a hassle, but with a CLI, you can tune the behavior simply by describing instructions in Markdown (natural language), such as “run this command with these arguments”.

  • MCP: Requires server-side code modifications.
  • CLI: Adjustable just by rewriting the prompt (configuration file).

This “tactile feel” and “agility” are extremely important in individual development workflows.

Summary

Of course, MCP is suitable for operations requiring complex state management. However, for “Read operations” such as checking documents or logs, I feel that the CLI × Pipeline approach might actually be the most “AI Native” solution.

If you are interested, please take a look at the repositories.