Die Frage ist falsch formuliert, und zu wissen, warum, ist der größte Teil der Antwort. Eine REST-API ist, wie Programme ein System aufrufen. MCP ist, wie eine KI-Anwendung die Fähigkeiten eines Systems im Namen eines Benutzers entdeckt und aufruft, und es wird fast immer auf der gleichen API implementiert. Die beiden sind keine Konkurrenten; die eine ist ein Transport- und Ressourcenmodell, die andere ist ein Vertrag für einen modellgetriebenen Aufrufer: typisierte Werkzeuge, die das Modell zur Laufzeit auflisten kann, Ergebnisse, die es lesen und wiederherstellen kann, OAuth-Authentifizierung, die an die Person gebunden ist, und Bestätigungs-Hooks, die der Client einhalten kann.
Die praktische Regel lautet: Wenn ein Programm der Aufrufer ist, mit fester Logik, die Sie geschrieben haben, verwenden Sie die API. Wenn ein Modell der Aufrufer ist, das zur Laufzeit Aktionen für eine Person auswählt, verwenden Sie MCP und lassen Sie es die API umhüllen. Wenn Sie den Agenten selbst mit den Claude- oder OpenAI-APIs erstellen, können Sie beides tun, und der Kompromiss besteht darin, wer den Kleber schreibt und pflegt.
Das Missverständnis
Der Ausdruck MCP vs API deutet auf einen Ersatz hin, und das Protokoll lädt zur Lektüre ein, weil es wie eine API aussieht: ein HTTPS-Endpunkt, JSON, eine Liste von aufrufbaren Operationen. Darunter ist es JSON-RPC 2.0 über Streamable HTTP, was bedeutet, dass es eine HTTP-API mit einer festen Nachrichtenstruktur ist. Was es standardisiert, ist nicht, wie man ein System erreicht, sondern wie eine KI-Anwendung ein System fragt, was es tun kann, wie sie diese Dinge mit einem Modell aufruft, das die Argumente auswählt, wie Fehler zurückgegeben werden, damit das Modell sich selbst korrigieren kann, und wie die Person hinter dem Modell autorisiert ist. Eine REST-API standardisiert nichts davon, weil sie es nie musste: Ihre Aufrufer waren Programme, deren Autoren die Dokumentation einmal gelesen haben.
Jeder ernsthafte MCP-Server für ein Geschäftssystem ist eine Schicht über der bestehenden Diensteschicht oder API dieses Systems. Die Frage ist daher nicht, welche zu bauen, da Sie die API in jedem Fall benötigen, sondern welche einem Agenten übergeben werden soll.
Was eine API einem Agenten gibt und was nicht
Geben Sie einem Modell eine REST-API, und es kann sie mit Hilfe nutzen. Die Hilfe ist das Problem. Jemand muss die Endpunkte in Funktionsdefinitionen umwandeln, die das Modell sehen kann, im Format, das der Anbieter des Modells erwartet; Claudes und OpenAIs Funktionsaufrufsformate sind ähnlich, aber nicht identisch. Jemand muss die Schleife schreiben, die die vom Modell gewählte Funktion aufruft, den Endpunkt mit den richtigen Anmeldeinformationen aufruft und die Antwort zurückführt. Jemand muss entscheiden, wie Fehler das Modell erreichen, denn ein 422 mit einem Validierungsinhalt ist etwas, das ein Modell nicht gut liest, es sei denn, es wird konvertiert. Und jemand muss die Autorisierung lösen, denn ein API-Schlüssel in der Umgebung des Agenten lässt jede Aktion wie dasselbe Dienstkonto erscheinen, nicht wie die Person, die fragt.
Nichts davon ist schwierig für ein System und einen Agenten, weshalb es vor dem Protokoll der Stand der Technik war. Es skaliert schlecht. Jede Kombination eines Agentenprodukts und eines Geschäftssystems ist maßgeschneidert, die Definitionen driftet von der API ab, und es gibt keine Möglichkeit für einen Benutzer von Claude oder ChatGPT, ein System selbst zu verbinden. Die API bleibt hervorragend in dem, wofür sie entwickelt wurde: hochvolumige, Programm-zu-Programm-Anrufe, Batch-Operationen, Webhooks und Integrationen, bei denen die Logik festgelegt ist und der Aufrufer Code ist.
Was MCP hinzufügt
Das Protokoll schließt jede dieser Lücken mit einer Regel, die jeder Client einmal implementiert. Entdeckung: tools/list gibt die Werkzeuge mit Namen, Beschreibungen und JSON-Schemas zur Laufzeit zurück, sodass das Agentenprodukt kein Vorwissen benötigt und die Liste sich ändern kann, wenn Apps installiert oder Rollen geändert werden. Aufruf: tools/call trägt einen Namen und Argumente; das Ergebnis enthält Inhalte, die das Modell liest, optionale strukturierte Inhalte und ein isError Flag, das dem Modell sagt, es soll korrigieren und erneut versuchen, anstatt aufzugeben. Autorisierung: OAuth 2.1 mit dem Token, das an den Server und an die Person gebunden ist, sodass die Werkzeugliste und jeder Aufruf auf den Fragenden beschränkt werden können. Zustimmung: Annotationen ermöglichen es einem Server zu sagen, dass ein Werkzeug schreibgeschützt, destruktiv oder idempotent ist, und die Clients verwenden sie, um zu entscheiden, wann sie bestätigen; ein Server kann auch ein Eingabe-erforderliches Ergebnis zurückgeben, um der Person während des Anrufs eine Frage zu stellen. Hier ist ein Anruf und seine Antwort, wie ein Client sie sendet und empfängt.
{
"jsonrpc": "2.0",
"id": 12,
"method": "tools/call",
"params": {
"name": "recordPayment",
"arguments": {
"invoice_id": "9f1c2a6e-4b8d-4c1a-9e2f-2d7a1b6c5e10",
"amount": 4850,
"payment_date": "2026-09-18",
"payment_reference": "BACS 41877"
}
}
}
{
"jsonrpc": "2.0",
"id": 12,
"result": {
"content": [
{ "type": "text", "text": "Payment recorded against INV-1057. Amount paid 4850.00 of 4850.00; status is now paid." }
],
"structuredContent": {
"invoice_id": "9f1c2a6e-4b8d-4c1a-9e2f-2d7a1b6c5e10",
"number": "INV-1057",
"amount_paid": 4850,
"status": "paid"
},
"isError": false
}
}Eine Anfrage und ein Ergebnis für ein Werkzeug/Aufruf für ein Sois-Zahlungswerkzeug. Dieselbe Operation über die REST-API würde eine Funktionsdefinition erfordern, die für den Anbieter des Modells geschrieben wurde, eine Schleife, um den Aufruf weiterzuleiten, und eine Entscheidung darüber, wie die Antwort präsentiert werden soll; hier weiß der Client bereits, wie man alle drei durchführt.
Es gibt Kosten. Das Protokoll ist jünger als REST und befindet sich noch in der Entwicklung: Die Revision vom 28.07.2026 hat die Protokollebene-Sitzungen entfernt und geändert, wie Server die Clients nach Eingaben fragen, und die Clients sind verpflichtet, für Server auf die vorherige Revision zurückzugreifen. Werkzeuglisten verbrauchen Kontext, sodass große Server ein verzögertes Laden oder eine Werkzeugsuche auf der Client-Seite benötigen. Und ein modellgesteuertes Aufrufen ist langsamer und weniger vorhersehbar als ein Programm, weshalb Sie es gerade nicht für eine nächtliche Synchronisation verwenden würden.
Wann jeweils das Richtige ist
| Situation | Verwenden | Grund |
|---|---|---|
| Der Agent einer Person in Claude, ChatGPT, Cursor oder VS Code muss im System agieren. | MCP | Der Kunde implementiert bereits Discovery, OAuth und Bestätigung; der Benutzer verbindet sich über eine URL und eine Anmeldung und handelt in eigenem Namen. |
| Eine nächtliche Synchronisierung, ein Massenimport, ein Berichtsdatenfeed | API | Feste Logik, hohes Volumen, kein Modell im Prozess; ein Programm ist der richtige Aufrufer und REST ist dafür ausgelegt. |
| Ereignisse außerhalb des Systems (Zahlung erhalten, Lagerbestand niedrig) | API und Webhooks | MCP hat kein ausgehendes Ereignismodell über Änderungsbenachrichtigungen hinaus, auf die ein Kunde abonniert; Webhooks sind der Standard. |
| Sie erstellen Ihren eigenen Agenten mit der Claude- oder OpenAI-API, und das System verfügt über einen MCP-Server | MCP, über den Connector des Anbieters | Beide APIs akzeptieren einen entfernten MCP-Server direkt; Sie vermeiden das Schreiben und Warten von Funktionsdefinitionen und der Relay-Schleife. |
| Sie bauen Ihren eigenen Agenten und das System hat nur eine REST-API | API, über Funktionsaufrufe | Schreiben Sie die Funktionsdefinitionen und die Schleife; ziehen Sie in Betracht, einen MCP-Server vorzuschalten, wenn mehr als ein Agentenprodukt benötigt wird. |
| Tiefenrecherche oder unternehmensspezifische Funktionen in ChatGPT | MCP, schreibgeschützt | Die Such- und Abrufkonventionen von ChatGPT sind über MCP definiert; eine REST-API kann nicht integriert werden. |
| Ein Aufrufer ohne Agenten, wie ein Formular oder ein Skript, das ein Ergebnis wünscht | Ein Endpunkt in einfacher Sprache | Weder: Geben Sie einen Satz an einen gehosteten Agenten weiter und erhalten Sie das Ergebnis; Sois bietet dies als sein Chat Agent Gateway an. |
Die entscheidende Spalte ist der Aufrufer. Ein Modell, das zur Laufzeit für eine Person auswählt, benötigt MCP; ein Programm mit fester Logik benötigt die API; beide können über dieselbe Service-Schicht existieren.
Wie die wichtigsten Agentenprodukte heute jeweils konsumiert werden
Die Anbieter-APIs klären den Vergleich für jeden, der seinen eigenen Agenten erstellt, da beide jetzt einen MCP-Server als erstklassiges Werkzeug neben gewöhnlichen Funktionsaufrufen akzeptieren. Auf der Claude-Seite nehmen benutzerdefinierte Connectoren in den Web- und Desktop-Apps sowie Cowork eine Server-URL und führen OAuth in der App durch; Claude Code fügt mit einem Befehl einen Server hinzu; und der MCP-Connector der Messages API (Beta, hinter dem mcp-client-2025-11-20 Kopf) nimmt ein mcp_servers Eintrag und ein mcp-Toolset, supports tool calls only, and expects you to supply the access token. On the OpenAI side, ChatGPT's developer mode connects a remote server with OAuth or no authentication and asks for confirmation on write actions by default; the Responses API takes a tool of type mcp with a server_url, a Genehmigung erforderlich Einstellung und eine optionale allowed_tools Liste, Rückgaben Werkzeuge auflisten und mcp_call Artikel und funktioniert mit Streamable HTTP oder dem älteren SSE-Transport.
Die gewöhnliche Funktionsaufruf bleibt in beiden APIs verfügbar und ist der Weg für ein reines REST-System: Sie definieren die Funktionen, rufen die API auf und geben die Ergebnisse zurück. Der Unterschied liegt ausschließlich darin, wer die Brücke wartet. Mit MCP wartet der Systembesitzer einen Server und jeder Kunde profitiert; beim Funktionsaufruf wartet jeder Agentenentwickler seine eigenen Definitionen gegenüber der API.
Das funktionierende Muster: API darunter, MCP oben drauf
Die Systeme, die das richtig machen, stellen beides bereit und leiten sie durch die gleiche Berechtigungsebene. Sois ist eine Implementierung des Musters. Der Arbeitsbereich hat eine Diensteschicht, die jeder Bildschirm nutzt. Sein MCP-Server veröffentlicht diese Schicht als Werkzeuge unter einer URL, gefiltert nach der Rolle des Anrufers und bei jedem Aufruf erneut überprüft, mit OAuth für Connectoren und einem Bearer-Token für Skripte. Der gleiche Arbeitsbereich akzeptiert Anfragen in einfacher Sprache an einem separaten Endpunkt für Anrufer ohne Agenten, wo der eigene Agent des Arbeitsbereichs das Denken übernimmt und per Webhook oder Polling antwortet. Und für die ausgehende Richtung kann sein eigener Agent externe MCP-Server über ein Gateway anrufen, unter der gleichen Genehmigungs-, Anfrage- und Ablehnungsverwaltung.
Nichts in diesem Design erfordert eine Wahl. Die API dient Programmen, der MCP-Server dient Modellen, das Gateway bedient Anrufer ohne beides, und ein Berechtigungsmodell regelt alle drei. Wenn jemand fragt, was zu bauen ist, ist die ehrliche Antwort, dass die API gegeben ist und der MCP-Server das ist, was das System für die Agenten, die die Leute bereits haben, nutzbar macht.
Fragen, die Menschen stellen
Ist MCP nur ein Wrapper um eine REST-API?
In der Regel wird es als solches implementiert, und das ist der Punkt. Der Wrapper fügt hinzu, was ein modellgetriebener Anrufer benötigt und was REST nicht definiert: Laufzeitentdeckung, typisierte Werkzeuge, lesbare Fehler, benutzerspezifisches OAuth und Bestätigungs-Hinweise.
Kann ich Funktionsaufrufe anstelle von MCP verwenden?
Ja, sowohl in den Claude- als auch in den OpenAI-APIs, und für ein System mit nur einer REST-API ist es der Weg. Sie schreiben und pflegen die Funktionsdefinitionen und die Relay-Schleife; ein MCP-Server überträgt diese Arbeit an den Eigentümer des Systems und macht sie für jeden Client wiederverwendbar.
Ist MCP langsamer oder teurer als der direkte Aufruf der API?
Das Protokoll fügt wenig hinzu; das Modell tut es. Ein modellgetriebener Anrufer kostet Tokens für die Werkzeugliste und das Denken und ist weniger vorhersehbar als fester Code, weshalb Massen- und geplante Arbeiten zur API gehören.
Verarbeitet MCP Ereignisse und Webhooks?
Nicht so, wie es REST-Integrationen tun. Das Protokoll hat Änderungsbenachrichtigungen, auf die ein Client abonnieren kann, aber für Ereignisse, die ein Geschäftssystem an andere Dienste verlassen, bleiben Webhooks über die API der Standard.
- Spezifikation des Model Context Protocols (2026-07-28) das Basisprotokoll, Werkzeuge, Transporte, Autorisierung und das Änderungsprotokoll zur vorherigen Revision
- Claude-API-Dokumentation: MCP-Connector mcp_server, mcp_toolset, Unterstützung nur für Werkzeuge und die Token-Anforderung
- OpenAI-Dokumentation: Connectoren und MCP in der Responses API der mcp-Werkzeugtyp, Genehmigungsfluss, Ausgabepositionen und unterstützte Transporte
- Sois-Dokumentation: MCP-Server, Chat-Agent-Gateway und MCP-Gateway die drei Routen in und aus einem Arbeitsbereich unter einem Berechtigungsmodell
Dieser Artikel wird überprüft, wenn sich die beschriebenen Produkte ändern. Nächste geplante Überprüfung: 4. Dezember 2026.
