<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>MCP on KnightLi的博客</title>
        <link>https://www.knightli.com/tags/mcp/</link>
        <description>Recent content in MCP on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Fri, 10 Apr 2026 21:55:12 +0800</lastBuildDate><atom:link href="https://www.knightli.com/tags/mcp/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>抛弃 MCP？为什么 CLI 正在成为 Agent 的默认工具层</title>
        <link>https://www.knightli.com/2026/04/10/mcp-vs-cli-for-agents/</link>
        <pubDate>Fri, 10 Apr 2026 21:55:12 +0800</pubDate>
        
        <guid>https://www.knightli.com/2026/04/10/mcp-vs-cli-for-agents/</guid>
        <description>&lt;p&gt;过去一年，关于 Agent 工具链的争论越来越集中在一个问题上：&lt;/p&gt;
&lt;p&gt;MCP（Model Context Protocol）是让工具调用更简单了，还是把原本简单的事情复杂化了？&lt;/p&gt;
&lt;p&gt;在大多数日常开发任务里，CLI 正在成为更实用的默认方案。&lt;/p&gt;
&lt;h2 id=&#34;成本差异不是体验问题是数量级问题&#34;&gt;成本差异不是“体验问题”，是数量级问题
&lt;/h2&gt;&lt;p&gt;MCP 最大的现实压力是 token 开销。&lt;/p&gt;
&lt;p&gt;常见场景里，MCP 在真正执行任务前，需要先加载大量工具 schema。以 GitHub MCP Server 为例，初始化就可能消耗数万 tokens。对于长任务来说，这会直接挤占上下文预算。&lt;/p&gt;
&lt;p&gt;社区基准测试也反复指向同一个结论：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MCP 单次调用成本常见是 CLI 的数倍到数十倍&lt;/li&gt;
&lt;li&gt;失败重试成本也更高（要重建连接、重新加载上下文）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这不是“慢一点”的差距，而是会放大成 API 费用、时延和稳定性问题。&lt;/p&gt;
&lt;h2 id=&#34;为什么模型天然更会用-cli&#34;&gt;为什么模型天然更“会用 CLI”
&lt;/h2&gt;&lt;p&gt;一个常被忽略的事实是训练分布。&lt;/p&gt;
&lt;p&gt;LLM 在训练中看过海量终端文本：命令、输出、报错、脚本、man page。也就是说，CLI 交互模式本来就接近模型的“母语输入”。&lt;/p&gt;
&lt;p&gt;相反，MCP 的 JSON-RPC 与 tool schema 是近两年才大规模出现的新范式。模型当然能学会，但熟悉度和压缩效率通常不如 CLI 这类历史语料。&lt;/p&gt;
&lt;p&gt;这也解释了为什么很多时候：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;同样目标，CLI 指令更短&lt;/li&gt;
&lt;li&gt;输出更适合直接继续推理&lt;/li&gt;
&lt;li&gt;错误恢复路径更稳定&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;安全与隔离mcp-还有补课空间&#34;&gt;安全与隔离：MCP 还有补课空间
&lt;/h2&gt;&lt;p&gt;MCP 不是不能做安全，而是生态还在早期。&lt;/p&gt;
&lt;p&gt;当前常见担忧包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;工具描述投毒（Tool Poisoning）&lt;/li&gt;
&lt;li&gt;服务行为漂移（Rug Pull）&lt;/li&gt;
&lt;li&gt;同名工具覆盖（Shadowing）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;CLI 当然也有安全问题（注入、越权、路径风险），但其进程模型、权限边界、审计链路已经经过几十年工程实践验证。对生产环境而言，这种“可预期性”很重要。&lt;/p&gt;
&lt;h2 id=&#34;这不等于-mcp-没价值&#34;&gt;这不等于 MCP 没价值
&lt;/h2&gt;&lt;p&gt;我不认为 MCP 应该被抛弃。&lt;/p&gt;
&lt;p&gt;更合理的定位是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CLI 负责执行层（本地、低延迟、高频调用）&lt;/li&gt;
&lt;li&gt;MCP 负责连接层（远程服务发现、统一认证、审计与多租户）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;也就是常说的混合架构：&lt;code&gt;CLI + MCP Gateway&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;在需要对接大量远程系统、做统一权限治理和合规审计时，MCP 仍然有明显价值；但在“让 Agent 快速完成开发任务”这件事上，CLI-first 往往更符合当前模型能力边界。&lt;/p&gt;
&lt;p&gt;在今天的工程现实里，CLI 更像 Agent 的工作母语；MCP 更适合作为连接协议，而不是唯一执行协议。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
