# MCP 是一个运输机*,}不是建筑

<!-- category -- MCP, ACP, AI,Architecture,LLM,Patterns -->
<datetime class="hidden">2026-01-20T16:00</datetime>

*这是 "+LLMs 作为构件的 & MSSK2 中的 {2} 部分 。 @ title [为何LLM女士失败为传感器](/blog/llms-fail-as-sensors) 包含使用 LLMs 进行感知的类别错误@.}此条涵盖将 MCP 用作架构的分类错误 @.*

---


**@"_# 我如何建立 MCP 服务器@?"}是错误的疑问 @MS K2}**

SDKs 存在=.}一个LLM能在几秒内 将一具尸体架在手脚上 *.}真正的问题就是~:

> *MCP 服务器在一定不能是“?”的系统中应该扮演什么角色?*

现在稀缺的技巧正在设计 **围绕系统周围** MCP:当局 ,授权 MS K2可审计性,和确定控制 □.MCP处理运输

这篇文章解释我如何使用MCP **没有代理人@ , @ 自主性 @ MS K1 @ 或氛围**以及为什么大多数MCP案例都重现了我们所看到的同样问题,

[TOC]

---


## 实际上,MCP究竟是什么? (吗?

MCP {(} 模式背景协议})是 **电线协议**它在移动 :

- 投入和产出
- 气囊
- 工具元数据
- 能力发现

确实如此 **否**:

- 决定 *何时* 工具应该运行
- 校正真相
- 强制执行信任
- 管理副作用

```mermaid
flowchart LR
    subgraph MCP["MCP: What It Does"]
        Schema[Schema Discovery] --> Transport[Transport Layer]
        Transport --> Invoke[Tool Invocation]
        Invoke --> Response[Structured Response]
    end

    subgraph NotMCP["Not MCP's Job"]
        When[When to run?]
        Trust[Is this true?]
        Should[Should we act?]
        Safe[Is this safe?]
    end

    style MCP fill:none,stroke:#16a34a,stroke-width:2px
    style NotMCP fill:none,stroke:#dc2626,stroke-width:2px
    style Schema fill:none,stroke:#059669,stroke-width:2px
    style Transport fill:none,stroke:#059669,stroke-width:2px
    style Invoke fill:none,stroke:#059669,stroke-width:2px
    style Response fill:none,stroke:#059669,stroke-width:2px
    style When fill:none,stroke:#dc2626,stroke-width:2px
    style Trust fill:none,stroke:#dc2626,stroke-width:2px
    style Should fill:none,stroke:#dc2626,stroke-width:2px
    style Safe fill:none,stroke:#dc2626,stroke-width:2px
```

**MCP 与 OpenAPI 相比,它更接近于一个代理框架@.**

如果您使用 MCP 作为推理阶层@ , @ 您% MS K2 已经做了相同分类错误 [部分#1](/blog/llms-fail-as-sensors).

如果 MCP 是运输, 那么建筑结构的寿命 高于它=:管弦 ,Policy_,}验证°,固性\ .本篇文章的其余部分是这个层+.

---


## 核心原则_:}提案与决定

这是根基规则 [减少的RAG](/blog/reduced-rag) 和 [受限制的模糊](/blog/constrained-fuzzy-image-intelligence):

- **建议的概率组成部分**
- **确定性系统决定**

在我的系统中

- LLM 是 *从未* 当局主管部门
- 工具 *从未* 自治自主
- 每个MCCP反应都是a **提议**不是事实

"#Deterministic_"}这里的意思是简单化=.Q **规则@- @governed_,}可复制},和可审计**.

```mermaid
flowchart TD
    subgraph Proposers["Proposers (Probabilistic)"]
        LLM[LLM Synthesis]
        MCP1[MCP Tool Response]
        MCP2[MCP Tool Response]
    end

    subgraph Constrainer["Constrainer (Deterministic)"]
        Validate[Validate Proposals]
        Compare[Compare Confidence]
        Policy[Apply Policy Rules]
        Decide[Accept / Reject / Escalate]
    end

    subgraph Persistence["Persistence (Facts)"]
        Facts[(Verified Facts<br/>With Provenance)]
    end

    LLM --> Validate
    MCP1 --> Validate
    MCP2 --> Validate
    Validate --> Compare
    Compare --> Policy
    Policy --> Decide
    Decide --> Facts

    style Proposers fill:none,stroke:#d97706,stroke-width:2px
    style Constrainer fill:none,stroke:#2563eb,stroke-width:2px
    style Persistence fill:none,stroke:#16a34a,stroke-width:2px
    style LLM fill:none,stroke:#d97706,stroke-width:2px
    style MCP1 fill:none,stroke:#d97706,stroke-width:2px
    style MCP2 fill:none,stroke:#d97706,stroke-width:2px
    style Validate fill:none,stroke:#2563eb,stroke-width:2px
    style Compare fill:none,stroke:#2563eb,stroke-width:2px
    style Policy fill:none,stroke:#2563eb,stroke-width:2px
    style Decide fill:none,stroke:#2563eb,stroke-width:2px
    style Facts fill:none,stroke:#16a34a,stroke-width:3px
```

MCP 服务器决定@' @ t 决定 @ .} 约束器决定.{

---


## 为何「"#Tools @Tools@"}是错误的心理模式?

默认 MCP 框架为 @ : @ {}

- @" 将方法作为工具来应用@"
- @ "_ @ 让模型选择该调用哪个工具来调用@"}
- @"Ask 执行前的授權@"

这失败是因为可以预测的原因。 @: @%

1. **工具描述成为提示**“LLM”从措辞中推断出意图,
2. **工具选择流**: 依据描述相似性选择工具
3. **权限提示是 UX,不安全**:# 模式对话框 does MS K1}% t 防止错误工具被选中@ info
4. **无可重播放功能**: 您可以\ @ MS K1} t复制一个会话, 因为工具选择是概率的

**重新框架@: @% MCP 端点发布信号 @ , @ not action * .***

- 信号被键入@ , @ breed @ MS K1和可归属
- 每个信号都有自信和证据指示器
- 自然语言是一种 *演示演示文图层*# , # 不是基底 #

```mermaid
flowchart LR
    subgraph Wrong["❌ Tools Mental Model"]
        Desc[Tool Description<br/>'Gets weather for city'] --> LLM1[LLM Chooses]
        LLM1 --> Execute[Execute Action]
        Execute --> Trust1[Trust Result?]
    end

    subgraph Right["✓ Signals Mental Model"]
        Schema2[Typed Schema<br/>city: string, units: enum] --> Invoke2[Deterministic Invoke]
        Invoke2 --> Signal[Signal Response<br/>+ confidence + provenance]
        Signal --> Validate2[Constrainer Validates]
    end

    style Wrong fill:none,stroke:#dc2626,stroke-width:2px
    style Right fill:none,stroke:#16a34a,stroke-width:2px
    style Desc fill:none,stroke:#dc2626,stroke-width:2px
    style LLM1 fill:none,stroke:#dc2626,stroke-width:2px
    style Execute fill:none,stroke:#dc2626,stroke-width:2px
    style Trust1 fill:none,stroke:#dc2626,stroke-width:2px
    style Schema2 fill:none,stroke:#16a34a,stroke-width:2px
    style Invoke2 fill:none,stroke:#16a34a,stroke-width:2px
    style Signal fill:none,stroke:#16a34a,stroke-width:2px
    style Validate2 fill:none,stroke:#16a34a,stroke-width:2px
```

---


## 交接时的信号合同

我系统中每个 MCP 端点都有一个:

- **一种预想**@ :_ 键入输入和输出@ MS K1} 不是free\ - form text
- **信任**@: @ 如何确定这一结果 @ ? @ @ I(0.0–1.0) @
- **证明书**@:这是从何而来? ?~ (_Frame ID#,}框框框_,}波形区域=)}
- **证据指针**@: @ what can be contracted 独立验证的东西@? @

没有免费的-/text 当局@ .}没有 MSSK2_ 最佳努力 @ MS K3\ 答案 @ MPK4

**生产系统实例**

@|_ 信号@|_信任来源 @MS K2}证据指针#|
|--------|-------------------|------------------|
| OCR 文本提取@| 佛罗伦萨-2 信任得分 @| 圆框坐标 @MS K4
|图像分类@|CLIP相似得分 @|嵌入的 +类似得分\+参考图象IDQ|
“|”音频转录“|” Whiseper word - effective *|* Timestamp range *@|*
-=YTET -伊甸园字幕组=- 翻译:

**规则@: @ 如果结果不能被验证 @ , @ it is'_ t接受 @ MPK4}**

这一原则与 [设计规则](/blog/llms-fail-as-sensors)-=YTET 翻译:

---


## 控制台教练=:}《人人跳过》

大多数 MCP 教程显示@: @%

1. 定义工具
2. 连接到 LLM
3. 让它运行

缺少的部件是 **限制** “-”这个决定性的逻辑 也就是“:”

- 评估相互竞争的建议
- 执行政策
- 决定什么是持续存在的,哪些遭到拒绝
- 信心低时升级的路线

```mermaid
flowchart TD
    subgraph Sources["Signal Sources"]
        Heuristics[Heuristics<br/>Text-likeliness: 0.3]
        LocalModel[Local Model<br/>Florence-2 OCR: 0.85]
        LLMCall[LLM Escalation<br/>GPT-4V: 0.92]
    end

    subgraph Constrainer["Constrainer Logic"]
        Receive[Receive All Signals]
        Check{Confidence<br/>≥ 0.7?}
        Cross[Cross-Validate<br/>Signals Agree?]
        Accept[Accept as Fact]
        Reject[Reject / Log]
        Escalate[Escalate to<br/>Higher Tier]
    end

    Heuristics --> Receive
    LocalModel --> Receive
    LLMCall --> Receive

    Receive --> Check
    Check -->|Yes| Cross
    Check -->|No| Escalate
    Cross -->|Yes| Accept
    Cross -->|No| Reject

    style Sources fill:none,stroke:#d97706,stroke-width:2px
    style Constrainer fill:none,stroke:#2563eb,stroke-width:2px
    style Heuristics fill:none,stroke:#d97706,stroke-width:2px
    style LocalModel fill:none,stroke:#d97706,stroke-width:2px
    style LLMCall fill:none,stroke:#d97706,stroke-width:2px
    style Receive fill:none,stroke:#2563eb,stroke-width:2px
    style Check fill:none,stroke:#2563eb,stroke-width:2px
    style Cross fill:none,stroke:#2563eb,stroke-width:2px
    style Accept fill:none,stroke:#16a34a,stroke-width:2px
    style Reject fill:none,stroke:#dc2626,stroke-width:2px
    style Escalate fill:none,stroke:#7c3aed,stroke-width:2px
```

**真正的约束性决定 @:**

- 拒绝 LLM 字幕, 当超自然主义对文本有分歧时@ - @ likeition
- 更低的--信任度,但证明在高端□--信心幻灯文字上具有OCR
- 只有当本地模范信心 @<#@0.7}才升格为视觉LLM

**MCP 连接组件@. 约束符调节它们 @.**

---


## 将LLM关上(和为什么我做"MSC1"

我的 MCP 服务器仍然使用LLM 已禁用@. @%

这是一种退化模式... .... **初级基本模式**.

如果您的系统在 LLM 不可用时停止工作 @ , @ 有限责任公司正在做一项工作, 它应该@ MS K1}% t 应该有\ .} *

核心职能@: @%

- 摘取事实的决定性总结
- 通过嵌入和过滤器进行的第一个检索@- @% 1
- 对事实数据库进行结构性查询

LLM 成为:

- 合成层 @ ( @ optional @ MPK1
- 解释引擎@(}当被要求时 @)
- 丰富自然语言输出的“(”

法学硕士是 **否**:

- 决策人
- 内存
- 真相引擎

```mermaid
flowchart TD
    subgraph AlwaysOn["Always On (Deterministic)"]
        Sensors[Sensors + Heuristics]
        Local[Local Models<br/>Florence-2, Whisper, CLIP]
        Facts[(Facts Database)]
        Query[Query Engine]
    end

    subgraph Optional["Optional (LLM)"]
        Synthesis[Natural Language Synthesis]
        Explain[Explanation Generation]
    end

    Sensors --> Local
    Local --> Facts
    Facts --> Query
    Query --> Synthesis
    Query --> Explain

    style AlwaysOn fill:none,stroke:#16a34a,stroke-width:2px
    style Optional fill:none,stroke:#6b7280,stroke-width:2px,stroke-dasharray: 5 5
    style Sensors fill:none,stroke:#16a34a,stroke-width:2px
    style Local fill:none,stroke:#16a34a,stroke-width:2px
    style Facts fill:none,stroke:#16a34a,stroke-width:3px
    style Query fill:none,stroke:#16a34a,stroke-width:2px
    style Synthesis fill:none,stroke:#6b7280,stroke-width:2px
    style Explain fill:none,stroke:#6b7280,stroke-width:2px
```

**为什么这重要?**

|福利|LLM□-要求的系统MS K3LM-备选系统MPK5
|---------|---------------------|----------------------|
| **费用成本** 固定基础设施 |
| **可靠性** |}核心功能继续
| **适用性** M|mock LLM回应 |确定论的断言
| **信托信任信信托基金** 模型上说:"证据链"

---


## 作为边界的MCP*,不是一体化

我视MCP为 **硬边界**:

- **与程序隔离**: MCP 服务器在不同的程序中运行
- **明确输入@/ @output**:无共同的变异状态
- **无环境环境背景**@: 每一个呼叫都根据明确的输入来评估 ,}*不是对话残留
- **定型合同**: Schema 违反为错误@,不是警告

这与 @ : @

- 共享内存的 In-处理剂
- 包含隐藏上下文累积的链条
- 在前转影响行为的情况下, " converational"工具使用

**为什么边界重要? :**

1. **重放**: 通过重放输入来复制任何会话
2. **审计**每个信号都有可追踪来源
3. **确定性测试**@: 相同的输入 *%→}同样的输出
4. **遵守遵守情况**@:可解释的决策链

```mermaid
flowchart LR
    subgraph Process1["Process: Orchestrator"]
        Orch[Orchestrator<br/>Constrainer Logic]
    end

    subgraph Process2["Process: MCP Server 1"]
        MCP1[Image Analysis<br/>Signals]
    end

    subgraph Process3["Process: MCP Server 2"]
        MCP2[Audio Analysis<br/>Signals]
    end

    subgraph Process4["Process: MCP Server 3"]
        MCP3[Video Analysis<br/>Signals]
    end

    Orch <-->|MCP Protocol| MCP1
    Orch <-->|MCP Protocol| MCP2
    Orch <-->|MCP Protocol| MCP3

    style Process1 fill:none,stroke:#2563eb,stroke-width:2px
    style Process2 fill:none,stroke:#16a34a,stroke-width:2px
    style Process3 fill:none,stroke:#16a34a,stroke-width:2px
    style Process4 fill:none,stroke:#16a34a,stroke-width:2px
    style Orch fill:none,stroke:#2563eb,stroke-width:2px
    style MCP1 fill:none,stroke:#16a34a,stroke-width:2px
    style MCP2 fill:none,stroke:#16a34a,stroke-width:2px
    style MCP3 fill:none,stroke:#16a34a,stroke-width:2px
```

---


## 失败模式 MCP 示例

来自未受限制 MCP 使用中的实际失败案例@: @ @%

“|”失败模式“| 原因“| 缓解”“MSC3”
|--------------|-------|------------|
| **工具幻觉** “|” 说明渗漏到LLM推理中“|” 小描述“MS K2” Schema - 首个设计“MSC4”
| **超过-QAEAG 执行** @|#示范调用工具@"}只是用来检查#"#\ |# Cons 训练员的大门
| **气相流** @|_工具行为改变@,_Schema does'}{MSKQt|} 版本的 schemas*,}合同测试 *#|}
| **沉默部分故障** | 工具返回部分数据@, 模式收益 @| 信任阈值_, 完整性检查 @MS K4
| **LLM 过度自信** |示范将工具输出作为地面真相处理
| **能力升级** “+”政策策略 预算“|”

共同线索@: @% **这些失败之所以发生,是因为LLM被信任为权威**.

修正@: @% **LLM女士提议 , 约束者决定 @,}事实依然存在**.

---


## 使用得当时 MCP 在 @ ( @ majectly@ ) @

MCP对:来说是优秀的

- **能力发现**:现有信号的运行时间罗列
- **Inter- 处理组成**: 部件之间的清洁边界
- **工具互操作性**: 與任何 MCP-相容的客戶端
- **模型- - 不可知整合**在不改变信号合同的情况下互换 :

MCP是 **否**:

- 代理机构框架
- 推理系统
- 安全层
- 信托边界

使用 MCP 为部件之间结构化通信的电线协议@. @%

---


## MCP 停止的地方

MCP 如何标准化模式和工具交换环境@. 它没有界定在什么条件下允许谁采取行动\,或决定是如何审计的\MS K3

也存在其他办法将这些限制正规化。 “(”有时被称为“行动能力协议”,“,” ACPZAAP}):授权,证明‘,审计线索’{.*

这篇文章是关于ACP=.}It'}关于设计原则的 :} **交通运输和交通运输治理是不同的关注事项**.

MCP告诉你 *如何* 调用工具@. @% 必须另做决定 *是否* 您应该在我的系统里 ,... ...'\...

---


## Memo MCP 与生产MCP

MPK2生产MCP |
|--------|----------|----------------|
| **工具描述** @|_自然语言@,}详细描述 |_Minimal_,_schema}-}第一位#|}
| **由谁决定呼吁** -=YTET -伊甸园字幕组=- 翻译:
| **反应格式** @ | @ free@ MS K1_ 格式文本 @ O|} 充满信心的输入信号 @ I| @
| **审定** -=YTET -伊甸园字幕组=- 翻译:
| **LLM 依赖性** -=YTET -伊甸园字幕组=- 翻译:
| **重放** @|Non-确定性 □|完全可复制@|
| **审计线索** “|”和“对话日志”

---


## 闭幕式

MCP 启用 **组成构成**.
确定因素使 **信任信托基金**.
LLM 启用 **及时性**.

但只有如果:

> *概率建议“—”和确定论持续存在 “.”*

没有约束的 MCP 只是快速注射 额外的步骤.

将最后一步合成 *.* 使 LLM 可以选择\ .} 让每个事实都可追踪 *MS K2 *

---


## 关键术语

- **MCP (示范背景协议_)**: 用于工具发现和在程序间调用的工具的有线协议
- **教练教练员**确定性逻辑评估提案,
- **信号**: 填充响应并充满信心@, 出处 @, 和证据指针
- **投标人**@:_ 任何未经授权表示事实的元件@(LILMQ,}本地模型{,超自然=)}
- **证据指针**@ :_ 引用可核实源@ MS K1_ 绑定框@ I, timetamp @ MPK3} 嵌入@

---


## 相关条款

**上一个序列中的@: @%** [为何LLM女士失败为传感器](/blog/llms-fail-as-sensors)

- [减少 RAG: MapMS K1为概率系统生成](/blog/reduced-rag)
- [图像放大器@: @ constraced Fuzzy 影像智能](/blog/constrained-fuzzy-image-intelligence)
- [VideoSummarizer : 视频降为 RAG](/blog/videosummarizer-scalable-video-intelligence)
- [StyloFlow : 信号+- 驱动工作流程](/blog/styloflow-signal-driven-workflows)