MCP vs. CLI + Skill: When to Use Which
Overview
A key architectural decision in agentic workflows is whether to use an MCP server (e.g., GitHub MCP) or a locally installed CLI paired with a Skill (e.g., gh CLI + GitHub skill).
MCP (e.g., GitHub MCP)
- Structured, type-safe tool calls via a protocol layer
- No shell access required — works in sandboxed/cloud environments
- Easier auth management (OAuth, token injection at server level)
- Better for read-heavy or CRUD operations where the API surface is well-defined
- Less flexible — constrained to what the MCP server exposes
- Good when the agent is orchestrating across services (e.g., GitHub + Jira + Slack in one workflow)
CLI + Skill (e.g., gh CLI + GitHub skill)
- Full flexibility — anything the CLI can do, the agent can do
- Composable with shell scripting, pipes,
jq, etc. - Skill = a
SKILL.mdthat teaches the agent how to use the CLI idiomatically - Better for power users and complex workflows (e.g., bulk ops, scripted releases, custom queries)
- Requires the CLI to be installed and authenticated in the execution environment
- Higher blast radius — a bad command runs directly on the system
Decision Matrix
| Scenario | Prefer |
|---|---|
| Cloud/sandboxed agent (no shell) | MCP |
| Simple CRUD on well-defined resources | MCP |
| Complex multi-step shell workflows | CLI + Skill |
| Need to pipe/compose with other tools | CLI + Skill |
| Auth managed externally | MCP |
| Agent runs locally with full env access | Either (CLI often simpler) |
| Portability across environments | MCP |
| Debugging / observability | CLI (easier to see raw output) |
The Real Differentiator
Execution environment + composability.
- MCP wins in constrained or multi-tenant environments.
- CLI + Skill wins when the agent lives close to the metal and needs the full power of the tool.
For Claude Code / Local Agent Workflows
When enterprise customers run Claude Code locally, CLI + Skill is often the right default because:
- The agent already has shell access
- The developer likely has the CLI authenticated
- The Skill gives you a repeatable way to encode team conventions — branching strategy, PR templates, etc. — that a generic MCP server won’t know about