Die nächste Sau wird durchs AI Dorf getrieben und diesmal ist
es MCP Model, Contax Protocol und wir machen natürlich eine
Folge dazu. MCP ist ein neuer Standard in
der Tech Branche neuer AI Standard, der quasi so ein
bisschen wieso ein USB Hub für AI Applikationen dient, der also
Tools und Ressourcen aus externen Quellen in Modelle
hineinreicht was dahinter steckt und was developer wissen müssen,
besprechen wir in dieser Folge. Ja, und damit herzlich
Willkommen zur Folge 112 des To do Developer Podcast mit Robin
Manuel Thiel und mir malte lantin Robin Manuel die nächste
AI sau, wie du es gerade genannt hast.
Wir werden es einfach nicht los diese ganzen Ai Themen aber es
geht natürlich auch Schlag auf Schlag.
Gefühlt kann man keine 2 Wochen irgendwie.
Sich zurücklehnen und sagen, jetzt habe ich alles im Griff.
Immer wieder kommt ein neues Thema, aber das Thema, was wir
heute besprechen, ist ja gar nicht so neu, aber es ist jetzt
in den letzten Wochen extrem hochgekocht und ich glaube jetzt
genau der richtige Zeitpunkt da auch drüber zu.
Sprechen? Ja, das liegt wahrscheinlich
auch daran, dass diese ganzen Ai Themen noch alle so Jungen, und
das ist irgendwie, dass dieses ganze Ökosystem ja noch gar
nicht richtig fertig ist. Und das sind noch ganz ganz
viele Fragezeichen, wie macht man eigentlich dies und wie
verbinden wir jetzt Ai s mit verschiedenen Herstellern und.
Und sowas. Also es ist ja alles noch, muss
man sich überlegen n sehr sehr junges Thema ne wenn man
überlegt JGPT ist vor ja n bisschen über 2 Jahren erst so
eigentlich auf auf auf die Bildfläche getreten und erst ab
da ging ja irgendwie los, dass ich allen klar war ne das wird
irgendwie unsere Branche verändern, aber wie genau, da
formt sich die Branche gerade und MCP wo Leute sprechen ist
ein so n Ding was jetzt vielleicht mal n Standard für
was? Präsentiert ein Standard, der
jetzt auch so weit gegangen ist, es eigentlich schon sehr, sehr
viele große Player in der Branche darauf aufgesprungen
sind. Bevor wir da aber in die Details
einsteigen, ich konnte mich gerade tatsächlich, ich habe ja
mal so an manchen morgenden Blog ich mir so ein bisschen Zeit, wo
ich quasi langsam in den Tag rein rein starte und ganz in
Ruhe bei einem Kaffee e Mails und Tech News und und sowas in
einem café checke und da komme ich gerade her und.
Da müssen wir natürlich danke sagen, weil den Kaffee, den habe
ich mir gar nicht gar nicht selber geholt, den habt ihr uns
quasi geholt. Ja, wir haben jetzt da
tatsächlich eine kleine Reserve aufgebaut, weil ihr so großzügig
wart und dementsprechend vielen Dank an die Hörerinnen und Hörer
bei der Firma Tracetronic und Neocx aus Dresden für 11 Kaffee,
den Marcel für einen Kaffee und den Rainer, der uns 5 Kaffee
ausgegeben hat. In den letzten. 2 Wochen vielen
Dank dafür. Danke habe ich mir.
Heute habe ich heute früh gleich schmecken lassen.
Wenn ihr mögt, findet ihr in den Shownotes von jeder Folge auch
immer so ein Link zu Bimire Coffee, wenn ihr genauso cool
und lieb wie Rainer, Marcel und die Hörer von Treystronic und
NEW CX sein wollt, dann freuen wir uns da immer sehr drüber.
Und dann lass uns mal ins Thema einsteigen und das Thema finde
ich persönlich so interessant, weil wir halt als Developer dort
nicht nur Nutzer. Konsumenten dieser KI
Technologie sind, sondern dass wir tatsächlich auch selber
wieder Dinge bauen können. Klar, man konnte jetzt irgendwie
mit den ganzen KI Modellen, die es am Markt gibt über
entsprechende API so das Self Hosting immer selber
Applikationen bauen, aber jetzt wird finde ich das Ganze zu so
einem developer Thema wo sich jetzt alle plötzlich Gedanken
darüber machen hey kann ich meinen eigenen MCP Server bauen
und damit Informationen aus einem System meiner Wahl.
Einem KI Modell zur Verfügung stellen und das kann dann auch
das KI Modell sein. Was ich in meiner täglichen
Arbeit nutze, wenn ich zum Beispiel einen KI Coding
Assistent habe und dafür Sorgen möchte, dass der KI Assistent
bestimmte Informationen bekommt, die vielleicht gerade in meiner
Quellcode Datei, an der ich gerade arbeite, nicht zur
Verfügung stehen. Und damit kommen wir glaube ich
genau in den Use Case von dem ganzen Thema MCP rein und wofür
man das eigentlich braucht. Es geht nämlich darum, KI
Modellen Informationen zur Verfügung zu stellen, damit sie
halt über den Horizont des Kontextes, den ich manuell
reingebe und entsprechend die Dinge, die in dem KI Modell
schon embedded sind, hinaus Informationen bekommen, aber
auch selber Aktionen triggern können, in anderen Systemen.
Aber wer hat das Ganze eigentlich erfunden, wo kommt es
her? Das es kommt ursprünglich von
Anthropic, das ist die Firma, die auch zum Beispiel das Modell
und die Applikation Claude baut, und die haben das eingeführt,
tatsächlich auch noch noch auch gar nicht so lange her als
offenen Standard, wie man einem Modell anbieten kann.
Das ist, wenn es im Kontext einer Applikation zum Beispiel
irgendwie so JGBT oder natürlich auch einem getakope Pilot oder
was auch immer für AI man man man verwendet, wie man diesen
Modellen, die dahinter hängen. Anbieten kann, dass sie ja auch,
wie malte gerade gesagt haben, Ressourcen aus externen Quellen
hinzuziehen können oder auch irgendwelche Tools und API Calls
in externe Quellen hinein machen können, um Dinge für mich zu
erledigen, um die Aufgabe zu erledigen, die ich diesen
Modellen gebe und. Das hat schon so ein bisschen
existiert in Form von Tools. Also ne, wir haben mal so ein
Thema zu so function Calling in API Modellen gemacht, also
Modelle generell kennen mittlerweile dieses Konzept
davon, dass sie nicht nur aus dem Trainingsset, auf dem die
trainiert wurden heraus Fragen beantworten können, sondern eben
auch diese Tools aufrufen können.
Unter der Haube funktioniert das eigentlich so, dass.
In dieser Unterhaltung, die eine Applikation intern mit diesem
Modell führt, quasi einmal gesagt hat, Liebes Ar Modell, um
die Frage des Users zu beantworten, kannst du entweder
sofort antworten oder du könntest 1 dieser Tools
aufrufen, wenn sich das KI Modell dann entscheidet 1 dieser
Tools aufzurufen, wird das zurück an die App gespielt, die
App ruft dann dieses Tool auf, reicht das Ergebnis wieder in
das lm rein was dann wieder daraufhin eine Antwort auslöst
und so weiter das ist aber alles von mir jetzt erstmal als User
versteckt. Aber dafür gab es halt jetzt
noch nicht so n einheitlichen Standard.
Und was ich ja eigentlich machen will ist egal wo ich KI
verwende, möchte ich ja, dass die KI Zugriff auf.
Die externe Welt, also die externen Ressourcen dieses
Modells, hat die relevant für mich sind, also im developer
Kontext jetzt vielleicht, dass ich so einem Model auch die
Möglichkeit gebe, auf meinen Figma zuzugreifen, was lokal
läuft, wo ich vielleicht meine UI Designs gemacht hab oder
irgendwelche Notizen, die ich auf meinem Computer habe, wo ich
mir aufgeschrieben habe, wie ich an mich gegen ein bestimmtes
System authentifiziere oder wie ich bestimmten Best practices
Folge. Oder dass das Modell ist in der
Lage, vielleicht für mich mit github zu sprechen, um zu
schauen ob es irgendwelche Issues oder Polo requests gibt.
Die gibt die die für mich relevant sind und so weiter und
sofort und all diese Quellen, die werden dann eben über diesen
diesen dieses Model Kontext Protokoll in die Applikation die
AI verwendet hineingereicht. Und bieten dann eben einen
standardisierten Weg, um dem Model anzubieten.
Hey, wenn der User eine Frage stellt, kannst du dich auch an
einem dieser Tools und Ressourcen aus diesen MCP
Servern bedienen. Das heißt, das Ganze
funktioniert unabhängig von dem KI Werkzeug, was ich nutze,
sofern es dieses Protokoll halt unterstützt.
Dieses Model Kontextprotokoll du hast gerade gesagt, es kommt von
and Tropic, das heißt ich kann wenn ich diese Cloud Web
Applikation verwende, kann ich dort.
Über MCP mit anderen Quellen oder anderen
Informationssystemen interagieren kann das aber auch
in solchen Client Applikationen, wie zum Beispiel meine IDE
einbinden und da dann den integrierten KI Assistenten
durch solche zusätzlichen Komponenten Funktionalitäten
erweitern. Ja, im Prinzip hauptsächlich in
in Web Applikationen, also in in Desktop Applikationen im Moment
im Web funktioniert das noch nicht so richtig, weil die
meisten dieser MCP Server, was genau diese Server und Clients
sind, kommen wir gleich noch zu, die Laufen in der Regel erstmal
bei dir lokal auf auf dem Rechner, also zumindest so stand
heute. Wo wir, wo wir diesen Standard
besprechen und wo weit wir sind. Deswegen ist es hauptsächlich
relevant für AI Apps, die du verwendest.
Also zum Beispiel Claw Desktop oder Chat GBT Desktop, die bauen
es jetzt auch gerade ein oder halt ne was was nicht nur
einfach nur chatbase ist, sondern auch sowas wie Getapo
peile zumindest in der Insider Version von Little Studio Code,
also überall da wo ich bei mir lokal verwende, kann ich dieser
lokal kann ich dieser, kann ich dieser dann diese MCP Server
zeigen und sagen Hey du kannst sie auch an denen bedienen, ich
bin mir aber sicher, dass in Zukunft auch so auch so weit
sein wird, dass die Provider eben selber standardmäßig diese
Schnittstelle bereitstellen und sich dann noch irgendwas was
nicht auf lokal auf meinem Rechner läuft, sich dessen
bedienen kann, aber wir schauen uns vielleicht mal an wie ein
MCP Server eigentlich aussieht, es sind eigentlich Kommandos die
lokal auf meinem Rechner ausgeführt werden und deswegen
ist es halt stand heute in. Noch deutlich relevanter für KI,
die auf meinem Rechner läuft. Das muss kein Model sein, was
auf meinem Rechner läuft, aber halt die App die mit dem Model
kommuniziert und mit dem Rest von meinem System kommuniziert.
Wir hatten jetzt ja schon häufiger den Begriff MCP Server
genannt und du sagst ja gerade, das ist etwas, was irgendwo
ausgeführt wird, stand heute auf meinem lokalen Rechner in der
Regel und das eine gewisse Funktionalität über eine
definierte Schnittstelle anbietet und das Ganze kann über
ein einfaches. Kommando auf meiner Lokalen, auf
meinem lokalen System laufen oder es kann halt auch irgendwie
ein Docker Container sein, in dem eine bestimmte Applikation
läuft, ein bestimmtes Kommando läuft und dessen
Funktionalitäten dann ein KI Modell aufrufen kann, welches es
nutzen kann als zusätzliche Schnittstelle in andere Systeme
hinein und ein Beispiel für Developers ja gerade schon
genannt, zum Beispiel mein Quellcode Verwaltungssystem zum
Beispiel github kann dort bereitgestellt werden über diese
Schnittstelle. Schnittstelle, das heißt, ich
habe dann einen MCP Server, der mit der github API kommuniziert
und dann quasi die Brücke liefert zu diesem KI System mit
dem Ich arbeite oder ich kann auch Schnittstellen aus meinem
lokalen Betriebssystem zur Verfügung stellen, das heißt das
KI Modell kann dann zum Beispiel auf mein Dateisystem zugreifen,
Dateien laden, lesen etc. Und ich kann natürlich beliebige
andere Dinge, es gibt im Internet Beispiele für die
Anbindung von Datenbanksystemen, CRM Systemen.
Etc, die ich dort anbinden kann. Und wie gesagt, das kann halt
auf unterschiedliche Art und Weise auf dem lokalen Gerät
bereitgestellt werden und dann auch von solchen Clients über
eine gewisse Discovery Funktion entdeckt werden.
Mittlerweile ist es schon so, wenn ich ein Tool habe was das
unterstützt kann ich dann sagen Hey zeig mir bitte alle MCP
Server an die gerade lokal auf meiner Maschine laufen und dann
kann ich die auswählen oder aktivieren die ich entsprechend.
Einbinden möchte. Aber ich bin mir relativ sicher,
dass wir das natürlich in Zukunft nicht nur über unsere
lokale Maschine machen, weil das natürlich nur in begrenzter Art
und Weise natürlich auch skaliert.
Und warum soll ich jetzt zum Beispiel für den Zugriff auf ein
externes System dann immer bei mir lokalen MCP Server
hochfahren müssen, den mit entsprechenden Credentials
ausstatten um auf das externe System zuzugreifen?
Warum kann ich das nicht mit anderen teilen?
Also von daher glaube ich persönlich, das geht tendenziell
eher in die Richtung von solchen geteilten MCP Servern, die
irgendwie. Zentralisiert laufen, aber ich
glaube, wir sind da noch relativ am Anfang, aber ganz viele
spielen schon damit rum, arbeiten damit, es kommt in
immer mehr Applikationen rein und wenn wir über diese
Applikation reden, dann reden wir über die MCP Clients in dem
Fall. Genau, also Clients sind diese
Desktop Apps, die halt also typischerweise was was ich
verwende um mit Large Language Modellen zu interagieren und
Server die sind auch relativ leichtgewichtig.
Mcp Server sind einfach ganz Kleine.
Prozesse oder wie du gerade sagtest, Stocker Container oder
irgendwas, die mir einfach quasi so ein bisschen
übersetzungslayer zwischen dem, was ich, womit ich auch immer
kommunizieren möchte, zum Beispiel der github API oder
meinem lokalen Dateisystem oder der figma App, die ich gerade
vielleicht irgendwie offen habe, die übersetzen eben diese
Kommunikation in einen Standard, den die meisten Large Language
Modelle verstehen. Also wir hatten eben von Tools
gesprochen, viele Language Modelle haben dieses Konzept von
Tools. Das heißt, er einer dieser
Standard Schnittstellen von so einem Large Language Server ist
und zum Beispiel sich alle Tools aufzulisten, die ein, also derer
sich ein Large Language Modell bedienen könnte, wenn es denn
wollte. Das bedeutet einfach mal um
vielleicht auch mal ein praktisches Beispiel zu nennen.
Ich kann jetzt hier meinen Cloud Desktop öffnen oder keine
Ahnung, bleiben wir mal im Developer connect, ich mache
jetzt Cursor auf weil das jetzt vielleicht meine Idee ist, mit
der ich irgendwie kram mache, habe jetzt Cursor offen und kann
jetzt cursor fragen du sag mal was.
Was ist denn der? Was ist denn der letzte Github
issue der mir zugewiesen wurde und das weiß die AI in Cursor
natürlich so nicht, aber wenn ich den github MCP Server an der
Applikation Cursor registriert habe, dann kann wenn ich den
Chat benutze, dann kann dieser Chat sich entscheiden um diese
Frage zu beantworten müsste ich wahrscheinlich von dem MCP
Server github das Tool. List Issues ausführen und das
wird dann im Hintergrund ausgeführt und das Ergebnis
davon wird, ohne dass ich das sehe, dem Llm gezeigt und dann
daraufhin kann das Llm mir dann die richtige Antwort geben, wenn
ich zum Beispiel hier dieses Issue ist das letzte was dir
zugewiesen wurde und dann kann ich aber auch so was sagen wie
ja nee pass auf, das ist ein Duplicate, da bin ich schon, das
habe ich doch, da habe ich doch schon gestern erledigt schließ
mal dieses issue für mich. Und dann wird dann wird Cursor
dem LSM sagen hier der User hat gesagt, du sollst das, sollst
das Issue schließen, das LSM wird Cursor sagen ja ich kann,
ich kann das als issue nicht schließen, aber ich habe hier
aus diesem github MCP Server in der Liste der Tools die ich
aufrufen kann dieses edit issue Tool das würde ich gerne
verwenden mit den folgenden Parametern hier mit der ID von
dem issue und dem User und der Action Close führ das doch mal
aus. Und dann wird Cursor das für
mich ausführen, indem es dem MCP Server Bescheid sagt.
Dann wird der MCP Server das eigentlich ausführen und die
Antwort, wenn das dann OK hat geklappt ist die reiche ich
wieder an an das Model rein, sodass das Model mir als User
antworten kann, hat funktioniert und das ist eigentlich schon die
ganze Magie dahinter, also für alles was ich mal was ich also
für alle actions und alle Ressourcen die ich meinem Model
zusätzlich zur Verfügung stellen möchte muss ich halt irgendwo
einen MCP Server haben wie gesagt Stand heute laufen die
meistens lokal in Zukunft bestimmt auch irgendwo vom
Hersteller selber und. Und diese MCP Server, die
registriere ich einer ja relativ übersichtlichen json Datei
registriere ich die an meinen Clients.
Das heißt ich kann zum Beispiel sagen, wenn ich jetzt hier JGPT
auf dem Desktop verwende, dann soll das auch die Möglichkeit
haben den MCP Server. Von Obsidian das ist mein Note
taking Tool, wo man von makdown Dateien lokal Notes haben kann,
sollte auch zugreifen können. Das heißt wenn ich persönlich
ich raubin Manuel jetzt meinem Clode Desktop oder meinem Chat
GPT Desktop system ne Frage Stelle kann sich Chat GPT dazu
entscheiden mit Obsidian zu sprechen um die richtigen
Informationen in mein Modell reinzuholen und vielleicht kann
ich ja sagen gut das möchte ich aber jetzt für Getakopilot
nicht. Und dann registriere ich diesen
einen Server halt nicht an diesem einen Tool, oder ich
sage, ich möchte alle meine Server an allen meinen Tools
registrieren, das kann ich noch machen und weil eigentlich alles
was diese Tools tun ist zusätzlichen Kontext in die
Unterhaltung von meinem Modell mit Reinzufügen heißt das Ding
auch Model context Protokoll, also ein ein Standardprotokoll
wie ich noch mehr Kontext in das Modell reinbekomme, so dass es
meine Fragen noch besser beantworten kann.
Wenn ich jetzt in meinem Client dort diese Server registriere,
dann muss ich die ja in der Regel konfigurieren über ein in
der Regel einfaches Json, wo ich dann noch credentials mitgebe.
In der Regel muss ich mich ja gegen diese Drittsysteme auch
entsprechend authentifizieren und kann diese dann relativ
einfach nutzen. Wenn ich jetzt aber diesen MCP
Server nicht selber bauen möchte, dann.
Kann ich natürlich. Du hast es gerade gesagt,
relativ einfach machen, es kann einfach irgendwas sein, was auf
der Kommandozeile läuft, es kann etwas sein, was irgendwie einen
Rapper rund um eine API ist. Das heißt, wir als Developer
können so etwas mit überschaubarem Aufwand selber
bauen, aber für ganz viele Dinge hat sich ja wahrscheinlich schon
jemand Gedanken darüber gemacht, wie sowas aussieht.
Dementsprechend kann ich natürlich da auch auf.
Existierende MCP Server zurückgreifen, die andere
bereits entwickelt haben. Du hast dir mal ein Paar
angeguckt. Ja genau, es gibt da relativ
viel Wildwuchs gerade. Also man kann einfach auf MCP,
so verlinken wir auch noch mal in den Shownotes gehen, da haben
die ersten schon angefangen, so eine so eine globale Registry zu
bauen, wo man MCP Server für seine Tools finden kann, wenn
man alleine mal irgendwie Obsidian eingibt, also dieses
Note taking Tool findet man da schon 5 oder 6 verschiedene
Server von verschiedenen Leuten, also da gibt es noch wenig.
Offiziell ist das sind dann meistens irgendwelche Leute, die
halt, wie du gerade gesagt hast, eigentlich ein Rapper um die um
um den um die offizielle API drumherum gebaut haben, plus
halt irgendwie einen Authentifizierungsmechanismus
und ich glaube da gibt es noch nicht so den einen für das Tool,
das wird sich so ein bisschen zeigen, was sich da durchsetzt.
Ich rechne aber fest damit, dass wenn wenn dieser Standard sich
jetzt weiter in der Geschwindigkeit verbreitet, wer
das Tool, das dann halt einfach offizielle MCP Server von den
offiziellen Tools gibt, dass ich quasi wenn ich möchte, dass man
mit Spotify reden kann. Quasi die Spotify App, die ja eh
immer im Hintergrund glaub ich auf meinem Rechner läuft.
Einfach diesen MCP Server Mitshippt und anbietet, dass der
einfach da ist und dass ich dann einfach halt ne Schnittstelle
hab, wo mein meine KI Tools mit Spotify reden können.
Wenn wenn ich jetzt dem irgendwie wenn ich jetzt github
kophaltet sag ich brauche jetzt coding Musik dann kann das Ding
ja direkt irgendwie meine Spotify Playlist starten und so
das ist eigentlich eigentlich ganz ganz ganz lustig und diese
Kommunikation, die findet eben. Ja, dann lokal zwischen Model
Server und meinem eigentlichen Tool statt.
Du hast gerade gesagt, so Wildwuchs und natürlich muss man
da ein bisschen aufpassen, weil es sind Dinge, die lokal auf
meinem Rechner ausgeführt werden.
Was führe ich da eigentlich aus, welche Kommunikation findet da
statt, finden da auch Zugriffe auf mein System statt, muss man
vielleicht sich ein bisschen Gedanken drüber machen, was man
dort jetzt einfach auch dann ausführt und am Ende wird das
dann auch durch ein KI Modell ausgeführt, von daher.
Vielleicht ein bisschen aufpassen mit den Dingen, die
aus der Community kommen. Aber wie gesagt, das kann man
auch relativ schnell selber bauen für seine eigenen Use
Cases, sprich ich installiere meinen MCP Server lokal auf
meinem Device. Registriere das an meinem MCP
Client und nutze dann das entsprechende Chatmodell in der
Regel. Was ich dort habe, wird es
gerade als Beispiel genannt und wie Cloud Desktop, Chat, Gbt,
git up co Pilot gibt es diverse, die halt mittlerweile über MCP
Client Funktionalität verfügen und dann mit diesen Servern
interagieren können und dieser. Der MCP Server stellt dann
wiederum die Verbindung zu diesen Drittsystemen her,
liefert sie zurück an das Large Language Model und dort wird es
entsprechend verarbeitet und dann in natürlicher Sprache an
den User zurückgegeben und bietet damit entsprechende
Schnittstellen. Genau.
Und diese, diese diese Kommunikation zwischen Model und
MCP Server, die kann halt auch, die kann auf verschiedenen
Transport layern funktionieren. Also standardmäßig sind Server
Side Events, das heißt es ist ein eventing System was über das
Netzwerk, also über den Netzwerk Layer und.
Basiert es wurde sich deswegen für diese Server Side Events und
nicht einfach Rest Calls entschieden um einem MCP Server
auch die Möglichkeit geben wieder zurück an das Model eine
Nachricht zu schicken oder eine eine Rückfrage zu schicken, denn
das geht jetzt schon ein bisschen tiefer, aber was ich
eigentlich über diese MCP Server dem Model auch anbieten kann,
sind nicht nur diese Tools und Ressourcen, sondern theoretisch
auch wieder weitere Modelle irgendwie zu fragen und da
müsste ich auch die Antworten von diesen Modellen wieder
wieder. Gegenschießen können also es ist
eine bidirektionale Kommunikation zwischen diesen
Modellen und den MCP Servern und deswegen wird das standardmäßig
mit serverside Events umgesetzt, was sich jetzt allerdings gerade
rausgestellt hat, ist, dass das eigentlich das für diesen Edge
Case, dass der MCP Server zurück an das Modell eine Rückfrage
stellt. Dass man deswegen auf Service
Events gesetzt hat, macht diese MCP Server auch ein bisschen
schwierig zu verwalten, weil sie dadurch State full sind.
Ich kann die also nicht einfach nur irgendwie so eine Stateless
res API bereitstellen, das ist auch der Grund, warum sie heute
meistens noch irgendwie auf meinem System laufen, weil sie
eben weil ich eben gebunden bin mit meiner Session an an genau
diese Instanz davon, das wird jetzt gerade noch ein bisschen
aufgeweicht, also es wird jetzt, es gibt jetzt auch ganz normale
Rest Calls für diese ganzen, also ganz normal bei der HTTP
layer funktionieren. Da merkt man schon, dass dieser
Standard auch noch nicht in in Stein gemeißelt ist, sondern
dass dass das noch ein bisschen aufgeweicht wird.
Und ich glaube dann, damit wird das alles noch mal ein bisschen
einfacher, auch zu hosten von anderen Herstellern.
Es gibt aber auch den Transport Layer, dass ich einfach auf dem
Standard Input Output kommuniziere mich wenn jetzt
mein Cloud Desktop, mein Chat, GP Desktop vielleicht direkt mit
meiner mit meiner anderen App, meiner Spotify App irgendwie
kommunizieren möchte, die ich auch lokal installiert habe und.
Oder mit meinem Dateisystem, vielleicht weil es sich
irgendwelche Dateien lesen will. Dann muss das ja nicht unbedingt
über den Netzwerklehrer gehen, dann würde das ja noch viel
schneller laufen, wenn ich quasi auf derselben Maschine bin und
dabei einfach über den den den Standard Input Output reden
kann. Das kommt so ein bisschen auf
das auf den Use Case an. Die MCP Server unterstützen aber
theoretisch jetzt auch schon beides genau, kommt da eben
drauf an wo wofür ich das wofür ich das verwende, das ist aber
wieder alles eigentlich nur spannend wenn ich selber so ein
MCP Server baue. Wenn ich den einfach nur
einsetzen will, dann kann ich, dann schau ich mir halt an, wo,
wo, wo gibt es den, wie starte ich den.
Das ist dann Teil dieser Registrierung an meinem Client,
das ist mein Client, kriegt beigebracht wie es den ne
bleiben wir mal bei dem github Beispiel wie es den github MCP
Server startet und kann den dann wenn es braucht oder wenn es es
braucht den starten und sich dann der den Tools und
Ressourcen bedienen. Die dieser MCP Server dann mal
ein Modell mitbringen. Du sagst gerade was ganz
spannendes und zwar dieser Unterschied über die
verschiedenen zu den verschiedenen
Kommunikationsprotokollen und warum man nicht einfach das.
Die Standard Web Schnittstellen benutzt.
Da gibt es ja Standard, zum Beispiel diese Open Abi
Dokumentation. Warum setzt man nicht da drauf
auf und ich glaube das hast du gerade ganz gut erklärt, weil es
natürlich Dinge gibt die keine Rest Abi zur Verfügung stellen.
Viele der Beispiele die wir gerade gebracht haben, ließen
sich ja sehr wohl über Rest irgendwie anbinden, egal ob es
vielleicht jetzt einen github, einen Spotify oder was auch
immer ist. Aber gerade wenn man das lokale
Dateisystem hat, was man ja auch braucht um zum Beispiel Dateien
zu lesen, Dateien zu schreiben etc.
Und. Da gibt es natürlich keinen Rest
Layer, der dazwischen steht, den ich dort auch verwenden könnte
und von daher macht es ja durchaus Sinn, dort verschiedene
Kommunikationswege auch anzubinden und daher kommt
vielleicht auch die Tatsache, dass es mittlerweile relativ
viele von diesen MCP Servern gibt, die Halt einfach nur einen
Rapper um eine Rest API sind, weil natürlich ganz viele Tools
halt die bestehenden AP is haben und jetzt baue ich halt meinen
MCP Server Außenrum und schon. Kann ein KI Modell mit dieser
West API sprechen ohne jetzt alle API Calls selber auch
kennen zu müssen? Genau damit hat sie so ein
bisschen angefangen. Wenn ich also vielleicht, wer
sich damit beschäftigt hat, so, es gibt von Open AI diese
Assistance, denen konnte man quasi auch die Möglichkeit
geben, mit der externen Welt zu kommunizieren, die man einfach
so ein Swagger File, diese Open API Specification hochgeladen
hat und. Und das stimmt schon, da stehen
ja ne, da stehen ja dann auch ziemlich genau beschrieben, wie
die API funktioniert und welch für quasi welchen API Call man
für was machen muss, vorausgesetzt dieses zeuger Fall
ist gut dokumentiert, aber das hat also ne, das bringt 2 Sachen
ein. Ja wie du gerade völlig richtig
gesagt hast, nicht jedes Tool was ich einer KI geben will ist
dann ist zwingend ein API Call, kann ja einfach sein, dass ich
mit dem lokalen Dateisystem kommuniziere.
Und zum anderen ist es ja dann doch so, dass alle APIS so n
bisschen unterschiedlich funktionieren.
Ne, jeder Service Provider designt die so n bisschen
anders. Wo muss ich die Information
reinpacken, ist das Teil vom Pfad, ist das Teil vom Body, ist
das vielleicht n query Parameter, wie funktioniert
Authentifizierung, welche Routing Strategie ist da
genommen worden? Ist das vielleicht auch gar
nicht. Auch gar nicht über klassisches
Rest, sondern kommuniziert die vielleicht irgendwie über Graph
QL oder nutzt GRPC für die Kommunikation.
Und all sowas sind dann doch so leichte Unterschiede und die
Performance bei diesen Modellen ist einfach doch deutlich
besser, wenn wenn man das eben auf diese ganz auf diese ganze
Zeit tools Struktur runtermünzt also ne, die Modelle können
eigentlich diesen diesen Tools Ansatz deutlich besser.
Und also es gibt mit Sicherheit hat da draußen schon eine mit
Libraries, die einfach eine Open API Specification umwandeln in
diese Tools Sprache. Aber was ein MCP Server halt
eben auch kann ist zum Beispiel einfach auflisten, was sind die
Möglichkeiten die du hast. So ein bisschen so Beispiel
Prompts noch reinreichen also es ist ein bisschen mehr als nur
dieses dieses Swaggers Specification, aber das war auch
mein erster Gedanke als ich das erste Mal davon gelesen habe hab
ich gesagt so hä es gibt doch schon einen Standard um APIS zu
beschreiben, warum bringt man den Modellen denn nicht einfach
bei gut mit? Im Standard umzugehen?
Ja, weil es eben mehr ist und eben nicht immer nur NAPI Call
ist, der ja nötig sein kann. Und auch diese Rückfrage wieder
zurück an, an an das Modell und sowas damit nicht abgebildet
ist. Aber ich würde sagen es bewegt
sich schon in dieser gleichen Richtung und ich würde jetzt
auch erwarten, dass zum Beispiel viele API Gateways, die man ja
verwendet, sowas wie Kong oder so.
Dass die wahrscheinlich auch irgendwie anbieten, dass man
über die auch nen MCP Server hosten und beziehen kann und die
dann halt intern einfach nur diese dieses Mapping von APIS
auf MCP machen. Ich glaub das ist schon.
Also ich kann mir nicht vorstellen, dass sich die die
Jungs und Mädels bei Kong das nicht schon mal ganz genau
angeschaut haben. Und du hattest vorhin gesagt,
das Ganze ist ja in einem sehr frühen Stadium noch, auch wenn
jetzt ganz viele drüber reden. Ich glaube, wer mal auf youtube
geht und da MCP eingibt, wird Tausende von Videos finden,
irgendwie, jeder hat mal drüber gesprochen, jetzt wir auch und
das Thema ist dennoch etwas, was wirklich noch im Fluss ist und
wo sich auch Dinge halt auch noch verändern können, sprich
wenn ich jetzt anfange meine eigenen MCP Server zu.
Designen zu entwickeln kann es sein, dass ich die regelmäßig
irgendwie anpassen muss, weil sich der Standard hier noch
verändert und auch in vielen Clients ist es jetzt zwar schon
drin, aber in manchen noch sehr experimentell.
Das bedeutet über die nächsten Monate wird sich da Sicherheit
sicherlich noch viel tun, aber was man jetzt schon sieht, ist
sich da, dass sich da die. Ja, die Softwareindustrie so ein
bisschen ohne ein ganz offizielles
Standardisierungsgremium auf etwas geeinigt hat, weil ein
Project da vorweg gegangen ist, diesen Standard etabliert hat
und dann die ersten angefangen haben, den zu übernehmen.
Gerade diese Hersteller der KI. Nativen IDES Du hast gerade
Cursor genannt, aber jetzt jedenfalls auch im Insider Bild
von Visual Studio Code. Das heißt immer mehr der
Hersteller nähern sich dem an und übernehmen diesen MCP
Standard, ohne dass es jetzt dort ein
Standardisierungsgremium gegeben hätte, wo sich im Vorfeld alle
irgendwie Gedanken gemacht hätten über Monate und Jahre
hinweg und dann irgendwo eine Spezifikation aufgeschrieben
haben und das ist natürlich etwas was.
Durchaus, da auch die Entwicklung beschleunigt und
auch glaube ich der Entwicklung oder dieser
Entwicklungsgeschwindigkeit in der KI Industrie auch gerecht
wird, weil da natürlich ganz viel sehr schnell passiert und
sich dort jetzt hier als Standardisierungsgremium
irgendwo noch mal zusammenzusetzen und dann
monatelang über einem Standard zu brüten, ist vielleicht auch
nicht mehr der richtige Ansatz. Ja, obwohl das da gerade so ein
bisschen passiert. Also die CNCF, die Cloud Active
Computing Foundation, hat sich schon, also die sind gerade in
Gesprächen da mit diesen. Diesen Standard dann quasi in in
diese Cloud 11 Computing Foundation überfließen zu
lassen, wo es dann eben auch ein Governance Modelle und so was
dahinter gibt. Aber ich stimme dir zu, ich
glaube, dass gerade so am Anfang von so einem Standard es hilft
das schon das einfach mal irgendwie so ein bisschen laufen
zu lassen und auch schnelle Änderungen einführen zu können,
aber man sieht schon, dass an manchen Stellen, dass es eben
noch nicht ganz fertig ist. Ich glaube warum alle das gerade
eingebaut haben und sich das so so durchgesetzt hat ist weil es
wahnsinnig faszinierend ist dem zuzuschauen, wenn es dann
funktioniert, also wenn ich halt.
Ne, das ist ja eh schon irre, wenn ich jetzt irgendwie so die
neuesten KI Modelle über Cloud derstop.jp der Stop was auch
immer nach Sachen befragen kann und wenn die dann auf einmal für
mich mit meinem Betriebssystem interagieren können
Informationen vielleicht aus meinem Salesforce rausziehen
können und mir aufbereiten können in meinen powerpoint
reinschreiben können, weil da der Office MCP Server dranhängt,
meine Zugriff auf meine eigenen Notizen haben, weil der Obsidian
MCP Server dranhängt. Mit meinem weiß ich nicht mit
meinem Figma, da da irgendwelche Mogs für UIS rausziehen können
und die in meine in mein Github co Pilot überführen können, der
dann im Agent Mode mir da mir dafür schon irgendwie ne HTML
Geschichte baut, der dann mit einem mit meinem github MCP
Agent kommuniziert um nen Pull request dafür zu stellen und da
vielleicht schon mal nen Screenshot von direkt in den
Pull request reinzupacken wenn man das sieht und das ist alles
heute schon da wenn man diese MCP Server registriert also da
fliegt einem echt der Stöpsel raus also es ist komplett so,
dass du denkst. Wow, ich schau wirklich nur noch
einfach ne AI zu, die für mich auch mit diesen Tools
interagiert und ich glaube, weil das so n wahnsinniges Ding ist,
dass man sagt, OK, das ist ganz klar.
Also jedem ist völlig klar das das geht, also in das ist die
Richtung in die diese Reise geht und wir haben jetzt erstmal hier
irgendwie so n Standard der auch zu funktionieren scheint und ich
glaub deswegen stürzen sich da gerade alle drauf und auch alle
alle alle Frameworks und und Libraries mit denen man AI baut.
Also irgendwie sowas wie wie wie Lengchain und Otto, Jen und
sowas. Die haben alle auch schon schon
MCP Support sofort eingebaut also ich glaub sie sind sich
alle einig wir brauchen so n Standard und das ist absolut das
Ding ist der Standard jetzt final und definiert
wahrscheinlich noch noch nicht so hundertprozentig, aber es
gibt auch so n paar Downside das ganze Thema Authentication wie
loggt sich die AI für mich in meinem Namen bei diesen Tools
ein und was darf sie dann tun? Das ist noch nicht so ganz
geregelt. Und auch das Registrieren dieser
MCP Server an meinen Clients ist im Moment so ein bisschen
fummelig. Also alle, die hier zuhören,
haben wahrscheinlich kein Problem mit einer json Datei,
aber keine Ahnung jetzt, wenn die Kollegen im Sales oder im
Marketing oder sowas haben vielleicht weniger Lust da
irgendwo in meinem Dateisystem eine json Datei aufzubauen wo
meine MCP Server registriert sind, also hat auch so ein Paar.
Ecken und Kanten. Aber ich glaube allen in der
Industrie ist klar, dass das diese, diese Standardisierung,
die Richtung ist, in die wir gehen.
Es hat auf jeden Fall noch eine Reise vor sich und manche Dinge,
die Leute notwendig sind, die möchte ich natürlich später
nicht. Und du hast gerade das Thema so
Credential Management besprochen oder East of Use und ich möchte
in meinem Unternehmen ja auch nicht, dass irgendwie.
Jede Person lokal irgendwie mit Access Tokens und Credentials
auf der lokalen Maschine rumhantiert ist natürlich auch
aus Security Gesichtspunkten am Ende irgendwo einen Desaster,
wenn in irgendwelchen json Dateien lokal auf der Festplatte
plötzlich hunderte von irgendwelchen Access Tokens mit
relativ weitreichenden Permissions für diverse Systeme
liegen. Das heißt wir sind am Anfang
einer Reise, wir brauchen da auch ein skalierbares Modell.
Ich möchte natürlich auch. In einem Unternehmen möchte ich
vielleicht auch bestimmte Schnittstellen sofort für alle
Developer zur Verfügung stellen. Wenn wir jetzt über diese KI
Tools für Developer reden und nicht jeder einzelnen Person die
Aufgabe geben, ja mach da mal was in der json Datei lokal auf
deiner Maschine und trag da deinen Access Token ein, das
kann es ja nicht sein, das heißt da geht die Reise noch weiter,
aber ich glaube jetzt ein guter Zeitpunkt sich halt mit dem
Konzept vertraut zu machen, wenn man mit entsprechenden Tools
arbeitet. Die solche lud Language Mods
verwenden. Darüber nachzudenken brauche ich
das perspektivisch auch in meinem Client, in dem Fall also
brauche ich MCP Unterstützung in meinem Client, um dann dieses
immer größer werdende Eco System dann nachher anbinden zu können
um dann auch meinem Werkzeug die Möglichkeit zu geben mit diesen
ganzen Systemen zu interagieren, weil ich glaube wir arbeiten ja
alle an irgendwelchen Softwareprodukten und in immer
mehr dieser Softwareprodukten findet halt eine.
Ki unterstützt die Interaktionsstadt und da kann
ich natürlich dann auch diese Schnittstellen nachher nutzen,
um mit diversen Partysystemen zu interagieren.
Ja, was ist das coole? Ich bringe die Liste von meinen
Tools mit zu der AI oder den AI Tools wo auch immer die sind und
alle möglichen die ich verwende und ich glaube wir sind ja in
jedem einzelnen Tool wird irgendwo so ein bisschen KI
gerade eingebaut und wie cool wäre das wenn ich vielleicht
auch irgendwo im Unternehmen oder auf meinem Rechner so eine
Zentrale. Registry an den MCP Servern habe
die für mich relevant sind und egal wo ich KI benutze, diese KI
hat immer Zugriff auf meine Tools und wird immer dadurch
besser, dass sie eben quasi auch mehr mehr über mich weiß und
auch das quasi auch darauf Zugriff hat wo ich Zugriff drauf
habe, weil das ist ja das was mein mein KI assistant irgendwie
können soll und wenn ich das halt von KI zu KI Anwendung
mitbringen kann. Also ich muss mich nicht für
eine KI Anwendung entscheiden, sondern überall da wo ich KI
verwende. Wird dieser Standort unterstützt
und ich kann immer diesen KIS sagen, Ey, du kannst auch aus
meinem aus meinen Notizen lesen, in meine e Mails schauen, wenn
ich es möchte, ne mit mit meinen Systemen die für mich relevanzen
interagieren? Ich glaub dann wird das dann
wird das was ganz ganz großes und es ist schwierig so n
bisschen das nur über Stimmen in so einem Podcast rüberzubringen,
aber schaut euch ruhig mal auch n paar youtube Videos an, wir
können ja auch mal ein 2 verlinken die wir die wir
geschaut haben, das ist schon. Irre faszinierend sich das sich
das anzuschauen und deswegen ist glaub ich jedem der das sieht
klar, dass da die Reise hingehen muss und MCP aus der developer
Perspektive haben wir glaub ich gerade so n bisschen beleuchtet
also ne es gibt was sind die was sind die GMCP Clients, was sind
die Server, wie kommunizieren die und ich glaub für Developer
ist es entweder spannend wenn ihr Tools baut wenn ihr Service
Provider seid wo ihr sagt Das ist Informationen die spannend
sein könnte für jemanden der ein NAI Model benutzt.
Dann überlegt doch, ob ihr einen MCP Server für euer Tool
bereitstellt. Wenn ihr AI Clients baut.
Also wenn ihr sagt EY bei euch in der Applikation kann man Ai
verwenden, dann überlegt doch ob ihr MCP unterstützt, damit die
User selber ihre Tools mitbringen können zu eurer KI
und ich glaube so sind aus beiden Perspektiven sowohl die
Server als auch die Clients sind beide spannend für Developer und
für unsere Audience her. Ganz am Anfang hatten wir
gesagt, aktuell sprechen alle über MCP, von daher würde uns
interessieren, habt ihr vor diesem Podcast auch schon von
MCP gehört und euch vielleicht das Thema schon eingelesen?
Wir werden auf Spotify zumindest eine kleine Umfrage reinpacken,
wo ihr uns Feedback geben könnt, ob das tatsächlich etwas ist,
was vielleicht auch nur in unserer Bubble gerade so.
Stattfindet, oder ob es tatsächlich etwas ist, von denen
alle in der Developer Community in den letzten Wochen irgendwie
schon gehört haben. Und wir sind jetzt hier late to
the Game, weil wir auch noch mal darüber sprechen wollten, lass
es uns gerne dann über die Umfrage auf Spotify wissen, wenn
ihr die Plattform nutzt. Genau.
Generell gilt immer, wenn euch die Folge gefallen hat, dann
lasst uns auch gerne ne gute Bewertung da.
Wir freuen uns immer super, wenn ihr irgendwie auf Spotify, Apple
Podcast oder auch immer man Sternchen und Däumchen und alles
Mögliche hinterlassen kann, das hilft auch immer unserem
Algorithmus und das hilft auch immer, dass so so folgen dann
auch von anderen gefunden werden, die sich dafür bestimmt
auch interessieren und wie eingangs schon erwähnt, wenn ihr
die Folge cool fand, dann freuen wir uns immer sehr, wenn wir uns
n wenn ihr uns n Kaffee ausgebt. Die passende, die passende Links
zu allem findet ihr wie immer in den Shownotes von der Folge also
einfach mal in die Beschreibung schauen.
Der to do Developer Podcast erscheint alle 2 Wochen und von
daher würden wir uns freuen, wenn ihr uns bis dahin treu
bleibt und auch in 2 Wochen wieder dabei seid, wenn wir das
nächste Ki Hype Thema oder vielleicht auch mal was anderes.
Vielleicht was anderes. Genau bis dahin habt ne gute
Zeit, schreibt ganz viel Code entweder selber oder durch ne
KI, hört euch die anderen folgen, lasst uns Feedback da
wie ihr es fandet und wir hören uns in 2 Wochen wieder bis bald.
Bis dann ciao.