【CLI】CLI vs MCP: A Simple Guide
文章目录
- 1. 一句话理解
- 2. 类比理解
- 3. 架构区别
- 4. 为什么 MCP 火了
- 5. Claude Code 为什么大量使用 MCP
- 6. 二者关系
- 7. Agent 时代的典型架构
- 8. 通俗的理解
- 9. Claude Code 的真实情况
- 10. 最终记忆口诀
- 疑问:CLI 能 git,MCP 也能 GitHub,那到底区别在哪?
CLI 和 MCP 经常一起出现,但它们根本不是同一个层面的东西。
可以理解成:
CLI 是“操作方式”
MCP 是“能力接口标准”
1. 一句话理解
假设你雇了一个 AI 程序员。
CLI相当于:
给 AI 一个键盘和终端
AI 可以执行:
lscdprojectgitstatus python train.pyClaude Code、Gemini CLI、OpenAI Codex CLI 都属于这种模式。
MCP(Model Context Protocol)相当于:
给 AI 发工作证,让它能进入各种系统
例如:
- GitHub
- Notion
- Jira
- Slack
- 数据库
- 浏览器
AI 不再只能敲命令。
还能直接调用:
GitHub.get_pull_request() Notion.search_page() Jira.create_ticket() Database.query()2. 类比理解
把 AI 当员工。
没有 MCP,AI 只有一台电脑。
它只能:
gitclone...grep...cat...像一个实习生。
有 MCP,AI 获得各种系统权限。
它可以:
读取 Jira 需求 查看 GitHub PR 查询数据库 读取 Notion 文档 发送 Slack 消息像一个正式员工。
3. 架构区别
CLI
┌─────────┐ │ AI │ └────┬────┘ │ ▼ Terminal │ ▼ Linux命令AI 通过 Shell 操作世界。
MCP
┌─────────┐ │ AI │ └────┬────┘ │ ▼ MCP Client │ ┌───┼─────────┐ ▼ ▼ ▼ GitHub Notion Database MCP MCP MCP Server Server ServerAI 通过 MCP 调用外部系统。
4. 为什么 MCP 火了
过去 Agent 经常这样:
defgithub_search():...每家模型厂商:
- OpenAI 一套
- Anthropic 一套
- Google 一套
工具接口完全不同。
MCP 想解决:
一次开发 到处使用类似:
- USB-C
- HTTP
- OpenAPI
统一工具调用协议。
MCP 最早由Anthropic提出,现在已经被大量 AI Agent 框架支持。
5. Claude Code 为什么大量使用 MCP
Claude Code 本质上:
CLI + MCP结构如下:
Claude Code │ ├── Terminal │ ├── Git │ ├── Filesystem │ └── MCP Servers │ ├── GitHub ├── Notion ├── Slack └── Browser所以它既能:
gitdiff又能:
读取 GitHub Issue这两种能力同时存在。
6. 二者关系
很多人误以为:
CLI vs MCP其实不是竞争关系。
而是:
CLI = 操作入口 MCP = 扩展能力关系更像:
浏览器 vs 插件或者:
手机 vs APP手机不是 APP。
APP 也不是手机。
但二者一起才能发挥价值。
7. Agent 时代的典型架构
当前最流行的 Agent 架构基本都是:
LLM │ ┌────────┴────────┐ ▼ ▼ CLI MCP │ │ ▼ ▼ Linux命令 外部系统CLI 负责本地操作
- 写代码
- 编译
- 运行
- Git
MCP 负责外部连接
- GitHub
- Jira
- Notion
- Slack
- 数据库
所以很多人会说:
CLI 是 Agent 的手脚,MCP 是 Agent 的神经网络接口。
前者让 AI 能干活,后者让 AI 能接入整个数字世界。
8. 通俗的理解
可以把 AI 想象成一个机器人同学。
(1)场景一:只有 CLI
老师说:
帮我整理教室。
机器人同学只能自己动手。
它会:
打开抽屉 整理书本 擦黑板 扫地这就像 CLI。
CLI(命令行)就是:
AI 自己动手操作电脑。
例如:
lsmkdircppython train.py相当于机器人:
开门 搬桌子 拿书 扫地都是自己干。
(2)场景二:有了 MCP
老师又说:
顺便看看图书馆有没有《西游记》,再问问校长明天放不放假。
机器人傻眼了。
因为:
- 图书馆不在教室
- 校长办公室也不在教室
它进不去。
这时候给机器人发了几张通行证:
图书馆通行证 校长办公室通行证 广播室通行证有了这些证件:
查询图书馆 联系校长 发送广播都可以了。
这就是 MCP。
(3)再举个游戏例子
假设 AI 在玩《我的世界》。
CLI 相当于:
挖矿 砍树 造房子自己动手。
MCP 相当于:
打开仓库 查看地图 联系队友 访问服务器连接外部系统。
9. Claude Code 的真实情况
Claude Code 就像一个机器人程序员。
它有 CLI 能自己敲命令:
gitstatus python train.pyvimmain.py相当于:
写作业 整理书包 做实验MCP 还能访问外部工具:
GitHub Notion Jira Slack相当于:
图书馆 老师办公室 学校广播站一个完整故事
假设老师说:
修复第 35 个 Bug,然后告诉开发组。
没有 MCP
AI:
我不知道 Bug 35 是什么。因为 Bug 在 Jira 里面。
只有 MCP
AI:
我看到了 Bug。但不会改代码。
CLI + MCP
AI:
第一步
通过 MCP:
读取 Jira发现:
Bug #35 登录页面崩溃第二步
通过 CLI:
greploginvimlogin.py修改代码。
第三步
通过 CLI:
pytestgitcommit测试并提交。
第四步
通过 MCP:
更新 Jira 状态 发送 Slack 消息告诉大家:
Bug 已修复10. 最终记忆口诀
记住这一句就够了:
CLI = 自己动手干活 MCP = 连接外部世界再简单一点:
CLI 是手和脚 MCP 是各种通行证AI 只有手脚(CLI),只能在自己房间里干活。
AI 有了通行证(MCP),才能去图书馆、办公室、仓库、数据库等各种地方拿信息。
所以现在最强的 Agent 基本都是:
大模型 + CLI + MCP也就是:
聪明的大脑 + 手脚 + 通行证这才像一个真正能工作的 AI 程序员。
疑问:CLI 能 git,MCP 也能 GitHub,那到底区别在哪?
这是很多人刚接触 MCP 时最困惑的地方:
CLI 能 git,MCP 也能 GitHub,那到底区别在哪?
其实它们操作的根本对象不一样。
CLI 操作 Git 仓库
MCP 操作 GitHub 服务
Git 的例子最明显
(1)假设你想看一个 PR
CLI 方式
AI 需要:
gitfetchgitcheckout pr-123gitdiffgitlog一步步操作。
像这样:
去仓库 拿文件 打开文件 比较差异MCP 方式
直接:
github.get_pull_request(123)立刻得到:
标题 作者 评论 Review状态 修改内容(2)再看一个 Issue
假设:
Issue #35 登录页面崩溃CLI
gitgreplogingrep"#35".到代码里找。
MCP
github.get_issue(35)直接返回:
Issue内容 讨论记录 负责人 标签(3)一个现实例子
你在公司。
领导说:
帮我看看这个 PR 为什么没过。
CLI
AI:
gitclone...gitcheckout...gitdiff...自己分析代码。
它能看到:
代码变了什么但看不到:
Review意见 审批状态 讨论记录MCP
AI:
GitHub.get_pull_request()直接看到:
Alice: 这里有空指针风险 Bob: 单元测试没过 Charlie: 请补文档(4)更准确地说
CLI 操作的是:
本地仓库.git 代码文件 日志MCP 操作的是:
GitHub 服务PR Issue Review Comment Workflow Organization(5)一个特别经典的区别
假设:
PR #456CLI 能看到:
- a = b + a = c知道代码改了啥。
MCP 能看到:
Alice: 这个改动导致线上事故 Bob: 不要合并知道人为什么这么改。
(6)用现实世界理解
CLI 像什么?
像拿到一本书。
自己看 自己翻 自己找MCP 像什么?
像能直接问作者。
这段为什么这么写? 作者: 因为第三章埋了伏笔。(7)Claude Code 实际上怎么干
很多时候是两者一起用。
例如:
第一步(MCP)
读取 GitHub Issue得到:
用户反馈登录崩溃第二步(CLI)
greplogin.找到代码。
第三步(CLI)
pytest验证修复。
第四步(MCP)
更新 Issue 状态通知团队。
所以更准确的说法是:
CLI 看代码 MCP 看平台或者:
CLI 操作 Git 仓库 MCP 操作 GitHub 服务虽然都跟 Git 有关,但关注层级完全不同:
CLI -> Repository(仓库) MCP -> Collaboration(协作平台)这也是为什么现在很多 Agent 架构里会同时保留:
Git CLI + GitHub MCP因为它们不是重复,而是互补。一个负责“改代码”,一个负责“理解团队正在干什么”。