Back to "MCP ist ein Transport, nicht eine Architektur"

This is a viewer only at the moment see the article on how this works.

To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk

This is a preview from the server running through my markdig pipeline

ACP AI Architecture LLM MCP Patterns

MCP ist ein Transport, nicht eine Architektur

Tuesday, 20 January 2026

Dies ist ein Teil von 2's als Komponenten. Teil: Warum LLMs als Sensoren fehlschlagen deckte den Kategoriefehler der Verwendung von LLMs für die Wahrnehmung ab Dieser Artikel behandelt die Kategoriefehler des Verwendens von MCP als Architektur.


Wie baue ich einen MCP-Server, ist die falsche Frage?

SDKs existieren ,. , Ein LLM kann ein Gerüst in Sekunden , . , Die wirkliche Frage ist ,: ,

Welche Rolle sollte ein MCP-Server innerhalb eines Systems spielen, das nicht lügen darf?

Die knappe Fertigkeit ist jetzt die Gestaltung der System rund um MCP-:-Behörde,-Zulassung,-Überprüfungsfähigkeit,- und deterministische Kontrolle.-MCP-Handles Transport-—- jene Bedenken leben anderswo

Dieser Artikel erklärt, wie ich MCP verwende ohne Agenten ,, , Autonomie , oder VibesUnd warum die meisten MCP-Beispiele dieselben Probleme neu erstellen, wie wir es mit ungezwungenem Werkzeug gesehen haben.


Was eigentlich MCP ist und was ' ist

Das MCP-Protokoll ) ist ein DrahtprotokollEs bewegt sich.

  • Ein- und Ausgänge
  • Schemata
  • Metadaten des Werkzeugs
  • Entdeckung von Fähigkeiten

Es tut es nicht:

  • Entscheiden wenn Werkzeuge sollten laufen
  • Wahrheit bestätigen
  • Vertrauen stärken
  • Nebenwirkungen verwalten
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 ist näher an OpenAPI als ein Agent-Framework.

Wenn Sie MCP als Ihre Argumentationsschicht verwenden, haben Sie bereits den gleichen Kategoriefehler gemacht, der in Teil.

Wenn MCP Transport ist, dann lebt die Architektur über ihm.


Das Kernprinzip: Propose vs Decide

Dies ist die Grundregel von Reduzierte RAG und Beschränkte Fuzziness:

  • Probabilistische Komponenten vorschlagen
  • Deterministische Systeme entscheiden

In meinen Systemen

  • LLMs sind niemals Behörden
  • Werkzeuge sind niemals autonom
  • Jede MCP-Antwort ist ein VorschlagNicht eine Tatsache

"-Deterministisch-"-deterministisch bedeutet hier: Regel: ,, reproduzierbar und auditierbar.

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

Der MCP-Server entscheidet sich für den Constrainer.


Warum Werkzeuge das falsche mentale Modell sind

Das Standard-MCP-Frameming ist:

  • Methoden als Werkzeuge darlegen
  • Lassen Sie das Modell wählen, welches Werkzeug anzurufen ist.
  • Bitten Sie vor der Ausführung um Erlaubnis

Dies scheitert aus vorhersehbaren Gründen.

  1. Werkzeugbeschreibungen werden zu AufforderungenDie LLM zieht die Absicht aus der Formulierung heraus, nicht aus der Schemasemantik
  2. Werkzeugauswahl DriftsDas Modell optimiert die Plausibilität des Modells, nicht aber die Korrektheit, und pflückt Werkzeuge basierend auf Beschreibungsgleichheit.
  3. Berechtigungsaufforderung ist nicht sicherEin modaler Dialog verhindert, dass das falsche Werkzeug ausgewählt wird
  4. Keine WiederspielbarkeitSie können eine Sitzung reproduzieren, weil die Werkzeugauswahl probabilistisch war.

Reframe-Endpunkte von MCP veröffentlichen Signale, nicht Aktionen, sondern

  • Signale sind typisiert ,, , begrenzt , , und zuzuordnen
  • Jedes Signal hat Vertrauen.
  • Natürliche Sprache ist ein PräsentationsschichtNicht das Substrat
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

Signalverträge über Chat

Jeder MCP-Endpunkt in meinen Systemen hat

  • Ein SchemaEin- und Ausgänge, die nicht frei sind
  • VertrauenWie sicher ist dieses Ergebnis?
  • HerkunftWo ist dies aus der ?? ?( ?Frame ID ? , ?Binding Box ? , ?Wellenform Region ?
  • NachweiseWas unabhängig überprüft werden kann

Keine freie text-Behörde ,. , keine beste Anstrengung

Beispiele aus Produktionssystemen

Evidenz-Zeugner |--------|-------------------|------------------| Textextraktion von OCR-Texten – | – Florenz – -2 – Vertrauenspunkt , | – Bounding-Box-Koordinaten , | – Bild-Klassifikation Bild-Score Bild-Niveau Bild-ID Audio-Transkription Bild des Flüsterworts Bild des -Level-Konfidenzniveaus Bild der Zeitstempelbereich Bild des | Lautsprecher-Identifikation Lautsprecher-Diarisations-Cluster-Abstand Segmentgrenzen

Die Regel: Wenn ein Ergebnis validiert werden kann, wird es akzeptiert.

Dies ist das gleiche Prinzip wie Design-RegelFakten brauchen Provenienz


Der Constrainer der Teil, den jeder überspringt

Die meisten MCP-Tutorials zeigen

  1. Werkzeuge definieren
  2. Verbindung zu LLM herstellen
  3. Lass es laufen

Die fehlende Komponente ist die Begrenzer Die deterministische Logik, die

  • Bewertung konkurrierender Vorschläge
  • Durchsetzung der Politik
  • beschließt, was anhält und was abgelehnt wird
  • Wege zur Eskalation, wenn das Vertrauen gering ist
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

Echte Zwangsent scheidungen

  • LLM-Unterschrift zurückweisen, wenn Heuristiken auf Text uneins sind
  • Bevorzugen Sie niedrigeres, aber belegtes Vertrauen OCR über hoheres, halluzinierter Text
  • Escalate to vision LLM nur, wenn lokale Modell-Konfidenz

MCP verbindet Komponenten. Der Constrainer regiert sie.


Die LLM ausschalten und warum ich es tue

Meine MCP-Server funktionieren immer noch mit dem LLM deaktiviert.

Dies ist ein degradierter Modus, der die Primärmodus.

Wenn Ihr System aufhört zu arbeiten, wenn das LLM nicht verfügbar ist, sollte die LLM einen Job erledigen.

Die Kernfunktionen

  • Deterministische Zusammenfassung aus extrahierten Fakten
  • Evidence---erste Retrieval über Einbettungen und Filter
  • Strukturierte Abfragen gegen die Faktendatenbank

Die LLM wird .: .

  • Eine Syntheseschicht (optional)
  • Eine Erklärungsmaschine auf Anfrage
  • Ein Anreicherer für die Ausgabe natürlicher Sprache

Das LLM ist nicht:

  • Entscheidungsträger
  • Speicher
  • Ein Wahrheitsmotor
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

Warum das so wichtig ist

Weitere Informationen finden Sie unter: http:www.cordis.lu/ |---------|---------------------|----------------------| | Kosten Kosten für API-Kosten für -Befestigte Infrastruktur | Zuverlässigkeit API-Ausfall - System nach unten - Kernfunktionen weiter -| | Prüfbarkeit Mock LLM-Antworten Deterministische Behauptungen | Vertrauen Das Modell sagte so, ", |, Evidenz-Kette


MCP als Grenze, nicht als Integration

Ich behandle MCP als harte Grenze:

  • ProzessisolierungMCP-Server laufen in separaten Prozessen
  • Explizite Eingänge, /-AusgängeKein geteilter wandelbarer Zustand
  • Kein UmgebungskontextJeder Anruf wird auf expliziten Eingaben ausgewertet.
  • Gemusterte VerträgeFehler bei Schemaverletzungen sind nicht Warnungen

Dies steht im Gegensatz zu .:

  • In---Prozessagenten mit geteiltem Speicher
  • Prompt--®chaining mit versteckten Kontext Akkumulation
  • Einsatz von Werkzeugen, bei denen frühere Drehungen das Verhalten beeinflussen

Warum Grenzen von Bedeutung sind

  1. WiedergabeReproduzieren Sie jede Sitzung durch Wiederholung von Eingaben
  2. PrüfungJedes Signal hat einen rückverfolgbaren Ursprung
  3. Deterministische PrüfungDie gleichen Eingänge sind dieselben Ausgänge.
  4. EinhaltungErklärbare Entscheidungsketten
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

Misserfolgsmodi MCP-Beispiele

Echte Ausfälle aus ungezwungener MCP-Nutzung

Fehler-Modus der Ursache |--------------|-------|------------| | Werkzeughalluzination Beschreibung Leckage in LLM-Resultate | Exekution von Over---Eager Das Modell ruft Werkzeuge an, um " zu überprüfen. | Schemadrift Werkzeug-Verhaltensänderungen,-Schema tut nichts'-Zeugnungen|-Zegnungen Versionierte Schemata,-Zeigprüfungen | Silent partielle Ausfälle Werkzeug liefert partielle Daten zurück, model proceeds - Vertrauensschwellen , restlos geprüft | LLM-Übervertrauen Das Modell behandelt die Werkzeugausgabe als Grundwahrheit. | Kapazitätssteigerung |-Modell "-Tries"-schrittweise leistungsfähigere Werkzeuge |-Kapazitätsgrade +-Policy-Gating-Budgets +-Etats

Der gemeinsame Faden Diese Ausfälle passieren, weil der LLM als Behörde vertraut wird.

Die Fixierung Die LLMs schlagen vor, dass die Constrainer entscheiden, die Fakten bleiben bestehen..


Was MCP ist gut bei -(, wenn richtig verwendet -)

MCP ist exzellent für

  • Entdeckung von FähigkeitenLaufzeitenzählung verfügbarer Signale
  • Zusammensetzung des Inter---ProzessesSaubere Grenzen zwischen Bauteilen
  • Interoperabilität von WerkzeugenFunktioniert mit jedem MCP®--kompatiblen Client
  • Modellische Integration von -Swap LLMs ohne Änderung der Signalkontrakte

MCP ist nicht:

  • Ein Handlungsrahmen
  • Ein Argumentationssystem
  • Eine Sicherheitsschicht
  • Eine Vertrauensgrenze

Verwenden Sie MCP für das, was es ist... ein Drahtprotokoll für strukturierte Kommunikation zwischen Komponenten...


Wo MCP aufhört

MCP standardisiert, wie Modelle und Werkzeuge den Kontext austauschen. Es definiert nicht, wer unter welchen Bedingungen handeln darf oder wie Entscheidungen geprüft werden.

Andere Ansätze bestehen, um diese Einschränkungen formalisieren manchmal als Aktionsfähigkeit Protokolle beschrieben.

Dieser Artikel ist ' , über ACP , . , es ist .' , um das Design-Prinzip ,: , Verkehr und Governance sind getrennte Anliegen.

MCP sagt Ihnen: Wie um ein Tool zu nennen ... . Etwas anderes muss entscheiden ob Sie sollten in meinen Systemen, dass die Constrainer ' in Unternehmen Systeme, es könnte eine Politik-Engine sein


Demo MCP vs. Produktion MCP

-Aspekt - Demo MCP - MCP-Produktion MCP – MCP
Beschreibung des Werkzeugs Natürliche Sprache, detailliertes, minimales und erstes Schema.
Wer entscheidet sich, anzurufen LLM-Orchester-Ausbilder
Antwortformat Freier Text von - Form des Textes Eingegebene Signale mit Konfidenz
Validierung Nicht- , nicht--, keine Validierung
LLM-Abhängigkeit Erforderliche zusätzliche Anreicherung (optional)
Wiedergabe Nicht deterministisch, vollständig reproduzierbar
Prüfpfad Signal-Provenienz-Kette

Schließung

MCP ermöglicht Zusammensetzung. Determinismus ermöglicht Vertrauen. LLMs aktivieren Durchlässigkeit.

Aber nur, wenn

Wahrscheinlichkeit schlägt vor, — und Determinismus hält an

MCP ohne Constrainer ist nur prompte Injektion mit zusätzlichen Schritten.

Mache Synthese zum letzten Schritt Mache die LLM optional Mache jede Tatsache rückführbar


Stichworte

  • **MCP-Protokoll (Model Context Protocol)**Wire-Protokoll für Werkzeugerkennung und Anrufung zwischen Prozessen
  • BeschränkerDeterministische Logik, die Vorschläge bewertet und entscheidet, was anhält
  • SignalBeschriftete Reaktion mit Konfidenzmittel und Beweiszeiger
  • AntragstellerJede Komponente, die Fakten ohne Autorität nahelegt
  • NachweiszeigerVerweis auf nachprüfbare Quelle

Verwandte Artikel

Frühere in der Reihe Teil: Warum LLMs als Sensoren fehlschlagen

logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.