CLI tools that replace MCP servers for AI agents. Same capabilities, fraction of the context, fully composable.
MCP servers bloat your agent's context with dozens of tool descriptions and prevent composability. These CLI tools give agents the same access through bash: searchable, pipeable, chainable.
| Tool | Replaces | Status |
|---|---|---|
| notion | Notion MCP Server | Ready |
| linear | Linear MCP Server | MCP-synced read/write surface |
| circleci-cli | CircleCI MCP Server | Ready |
| slack | Slack MCP Server | Planned |
| metabase | Metabase MCP Server | Planned |
| newrelic | NewRelic MCP Server | Planned |
| Tool | Purpose | Status |
|---|---|---|
| agent-ledger | Local ledger that records which agent claimed which files, what changed, and whether changes stayed in scope. Harness-neutral, with adapters for pi (stable) and Babysitter (experimental). | v0.2.0 |
agent-ledger does not replace an MCP server. It sits next to the others and gives any agent harness a coordination layer: assignments, file claims, change records, and a verifiable agent-ledger.verify.v1 contract per task.
# Via npm (ready today)
npm i -g @ruminaider/notion-cli
# Linear publish target
# npm i -g @ruminaider/linear-cli
# agent-ledger ships as a Go binary (requires Go 1.22+)
go install github.com/ruminaider/agent-clis/agent-ledger/cmd/agent-ledger@latest
# Or clone and install all tools
git clone https://github.com/ruminaider/agent-clis.git
bash agent-clis/install.sh
# Or clone and install one tool
bash agent-clis/notion/install.sh
bash agent-clis/linear/install.sh
bash agent-clis/circleci-cli/install.shFor agent-ledger release archives and source builds, see agent-ledger/README.md.
MCP servers consume 2,000 to 5,000 tokens of context for tool descriptions alone. A CLI skill consumes roughly 200 tokens, because the agent loads full instructions only when it needs them.
MCP approach:
Agent context β 46 tool schemas (metabase) + 22 tool schemas (notion) + ...
Every turn, every prompt, whether you need them or not.
CLI approach:
Agent context β "notion: Search/read/write Notion pages" (one line)
Agent loads full instructions only when it decides to use Notion.
CLI tools compose through standard pipes:
# MCP can't do this
notion-cli search "Q3 roadmap" | jq '.results[0].id' | xargs notion-cli fetch
# Chain across tools
notion-cli search "deploy checklist" | jq -r '.results[0].text' | slack-cli post "#deploys"Each tool handles its own authentication. Most use OAuth with a browser flow, and some tools also accept direct API keys for headless use:
notion-cli auth # Refreshes token first, then opens browser if needed
slack-cli auth login # Same pattern
linear-cli auth status # Also supports --api-key and persisted credentialsYou create no custom integrations, and most flows should not require admin permissions.
agent-ledger needs no auth: it is a local-only tool that writes to $XDG_STATE_HOME/agent-ledger/ (overridable via AGENT_LEDGER_DIR).
Each tool includes a skill file (Agent Skills standard) compatible with pi, Claude Code, and any harness that supports the standard.
agent-ledger goes one step further. Its adapters/pi/ and adapters/babysitter/ wrappers translate harness events into ledger calls (assign, claim, record, close, verify) so the agent does not have to remember to coordinate. The cross-harness env contract lives in agent-ledger/docs/adapters.md.
agent-clis/
βββ notion/
β βββ cli/ # The CLI tool
β βββ skill/ # Agent skill (SKILL.md)
β βββ install.sh # Standalone installer
βββ linear/
β βββ cli/
β βββ skill/
β βββ install.sh
βββ slack/
β βββ cli/
β βββ skill/
β βββ install.sh
βββ agent-ledger/ # Go-based coordination kernel
β βββ cmd/agent-ledger/ # Binary entrypoint
β βββ adapters/ # pi (stable), babysitter (experimental)
β βββ docs/ # Walkthrough, exit codes, finding codes
βββ install.sh # Install all tools
MIT