为何选择 MCP-first

为何选择 MCP-first

UI-first 思维遇到结构性瓶颈——六个论点,说明为何以智能体能力架构为核心是更彻底的答案。

传统软件开发首先从界面出发:客户列表、项目页面、 上传按钮、发票表单、日历视图。对人类而言这很合理。 对 AI 智能体、自动化系统和外部系统而言,这是错误的抽象模型。

智能体不应该需要知道按钮在哪个页面上。

核心问题

智能体真正需要什么

智能体不导航界面,它调用能力。相关问题是:

  • 有哪些可用操作?
  • 操作期望哪些输入,返回哪些输出?
  • 需要哪些权限?
  • 哪些操作是高风险或不可逆的?
  • 何时需要询问用户?
  • 什么会被审计?

UI-first 软件无法回答这些问题。MCP-first 软件能全部回答。

Klassisch

  1. Webapp
  2. Mobile App
  3. Admin UI
  4. API
  5. Automation
  6. AI-Integration

MCP-first

  1. Domain Model
  2. Action Layer
  3. Permission Layer
  4. MCP Tools
  5. MCP Resources
  6. MCP Workflows
  7. Audit Layer
  8. Webapp · Mobile · Admin · API · Automation

论点一:AI 智能体使用软件的方式与人类不同

人类会点击、滚动、阅读和理解。智能体需要可以直接、 安全调用的结构化能力。

第二种方式是确定性的、类型化的、权限验证的且可审计的。 第一种方式产生脆弱的浏览器自动化,每次 UI 更新都会崩溃。

示例:安排跟进
  • schedule_follow_up(contactId, projectId, datetime, note)
  • contacts.search(query, tenantId)
  • reminders.create(contactId, datetime, note, assignedTo)
  • calendar.find_free_slot(participantIds, duration, after)

论点二:用户界面成为众多客户端之一

过去,UI 是访问软件的主要入口。未来将有多个同等地位的 访问渠道,全部访问同一个能力层:

  • 人类通过 Web 应用
  • 人类通过移动应用
  • AI 智能体通过 MCP
  • 自动化通过 Worker
  • 第三方通过 API
  • 内部系统通过事件
  • CLI 通过 Action 层

先构建 Web 应用再追加其余部分,意味着重复构建同一个 Action 层—— 每次略有不同,每次有各自的权限逻辑。

论点三:没有智能体能力的软件将难以集成

如果软件只能通过界面运行,必然会产生脆弱的变通方案:

  • 浏览器自动化和屏幕抓取
  • CSV 导入和手动复制粘贴流程
  • 半自动化工作流
  • 针对每个客户或集成项目的专项方案

这些变通方案在 UI 变更时会崩溃,无法扩展,也无法审计。 MCP-first 从根本上消除了它们存在的理由,因为系统从一开始就 具备结构化的可控性。

论点四:对许多任务而言,最好的界面是没有界面

许多任务是对话式的、情境化的、基于工作流的——它们不再需要一个页面:

“生成所有未结交易的摘要。"
"我今天应该联系哪些客户?"
"检查该员工是否缺少文件。"
"生成所有存在风险的项目报告。"
"比较最近两次薪资运行的结果。”

对于这些任务,一个可以访问能力层的对话式智能体比任何 带过滤器和表格的页面都更高效。前提是:能力经过清晰建模、 类型化并标注了风险等级。

Low 生成摘要 — Medium 创建文档 — Critical 薪资导出——系统必须了解这些区别。

论点五:MCP-first 减少重复开发

当一个功能首先作为 Action 构建时,每个客户端都可以使用相同的 Action—— 无需重复实现:

create_project(name, templateId, ownerId, tenantId)

这一个 Action 可被以下所有端使用:

  • Web 应用
  • 移动应用
  • 管理 UI
  • MCP 智能体
  • CLI
  • Worker
  • 导入流程
  • 集成
  • 测试套件

这不仅减少了工作量——它消除了客户端之间随时间积累的不一致性。

论点六:MCP-first 强制产生更好的架构

MCP-first 构建方式自然会带来更清晰的建模。每项能力都需要:

  • 具有明确用户意图的清晰领域 Actions
  • 类型化的输入和输出 Schema
  • 清晰的权限和错误处理
  • 已定义的副作用
  • 审计事件和保护级别

这迫使在编写任何一行 UI 代码之前,就明确分配业务职责。

示例:每项能力必须描述的内容
  • Input Schema — 类型化,已验证
  • Output Schema — 确定性
  • Permission Scopes — 哪种角色可以调用
  • Risk Level — low / medium / high / critical / forbidden
  • Side Effects — 外部影响,是或否
  • Audit Event — 记录什么内容
  • Confirmation Policy — 自主执行或需要人工审批

API-first 是为开发者而生的。MCP-first 是为智能体而生的。

API-first 是为开发者而生的。

首先作为完整描述、权限验证和可审计的能力系统构建的软件, 对人类更好,对智能体更好,对介于两者之间的一切也更好。