MCP-Server auf der Grundlage von N8N

Die Entwicklung von generativen neuronalen Netzen hat sich in den letzten Jahren erheblich beschleunigt. Sie sind merklich schneller und genauer in ihren Antworten geworden und haben gelernt, logisch zu denken. Ihre Fähigkeiten sind jedoch nach wie vor grundsätzlich durch ihre Architektur begrenzt. Zum Beispiel hat jedes bestehende LLM zum Zeitpunkt der Abfassung dieses Artikels ein Wissensstoppdatum. Das bedeutet, dass mit jedem Tag, der verstreicht, die Wahrscheinlichkeit steigt, dass ein solches LLM falsche Antworten liefert, einfach weil ihm Informationen über Ereignisse fehlen, die nach diesem Datum eingetreten sind.
Diese Einschränkung macht es erforderlich, das Modell anhand neuerer Daten komplett neu zu trainieren, was teuer und zeitaufwändig ist. Es gibt jedoch eine andere Möglichkeit. Wenn Sie das Modell in die Lage versetzen, mit der Außenwelt zu interagieren, kann es die während einer Benutzerunterhaltung angeforderten Informationen selbständig finden und aktualisieren, ohne dass ein erneutes Training erforderlich ist.
So ungefähr funktioniert der RAG-Mechanismus (Retrieval Augmented Generation). Bei der Beantwortung einer Frage fragt das Modell zunächst eine vorbereitete Vektordatenbank ab, und wenn es relevante Informationen findet, fügt es diese in die Eingabeaufforderung ein. Durch die Erläuterung und Aktualisierung der Vektor-Datenbank kann die Qualität der LLM-Antworten also erheblich verbessert werden.
Es gibt aber noch eine andere, noch interessantere Möglichkeit, aktuellen Kontext in die Prompts einzubauen. Sie heißt MCP, was für Model Context Protocol steht. Es wurde ursprünglich von Anthropic für sein Claude-Modell entwickelt. Der Schlüsselmoment war, als der Quellcode für MCP als Open Source zur Verfügung gestellt wurde, was es Tausenden von KI-Forschern ermöglichte, benutzerdefinierte Server für verschiedene Zwecke zu erstellen.
Das Wesen von MCP besteht darin, einem neuronalen Netzmodell Zugang zu Werkzeugen zu verschaffen, mit denen es selbstständig sein Wissen aktualisieren und verschiedene Aktionen durchführen kann, um gegebene Aufgaben effizient zu lösen. Das Modell entscheidet selbst, welches Werkzeug es verwendet und ob es in der jeweiligen Situation angemessen ist.
Die Unterstützung für MCP tauchte bald in verschiedenen IDEs wie Cursor sowie in Automatisierungsplattformen wie N8N auf. Letztere ist besonders intuitiv, da Workflows visuell erstellt werden, was sie leichter verständlich macht. Innerhalb von N8N können Sie entweder eine Verbindung zu einem bestehenden MCP-Server herstellen oder einen eigenen erstellen. Darüber hinaus können Sie sogar eine direkte Verbindung innerhalb eines einzigen Workflows organisieren. Aber gehen wir Schritt für Schritt vor.
Erstellen eines einfachen KI-Agenten
Bevor Sie beginnen, stellen Sie sicher, dass die wichtigste Voraussetzung erfüllt ist: Sie haben ein LLM, das für Verbindungen bereit ist. Dies kann ein lokal laufendes Modell mit Ollama oder ein externer Dienst wie ChatGPT von OpenAI sein. Im ersten Fall müssen Sie die lokale Ollama-API-Adresse (und optional deren Authentifizierung) kennen, und im zweiten Fall benötigen Sie ein aktives OpenAI-Konto mit ausreichend Guthaben.
Der Aufbau eines Agenten beginnt mit dem Schlüsselknoten AI Agent. Er muss mindestens mit zwei anderen Knoten verbunden sein, von denen einer als Auslöser fungiert und der andere eine Verbindung zum LLM herstellt. Wenn Sie keinen Auslöser angeben, wird das System automatisch einen erstellen und den Agenten bei Erhalt einer Nachricht im internen Chat auslösen:

Das einzige fehlende Element ist das LLM. Sie können zum Beispiel unser Open WebUI: Alles in einem guide verwenden, um Ollama mit einer Weboberfläche einzurichten. Die einzige erforderliche Änderung ist, dass sich die Container für N8N und Open WebUI im selben Netzwerk befinden müssen. Wenn sich der N8N-Container beispielsweise in einem Netzwerk mit dem Namen web befindet, dann ersetzen Sie im Bereitstellungsbefehl für Open WebUI --network=host durch --network=web.
In einigen Fällen müssen Sie auch die Umgebungsvariable OLLAMA_HOST manuell setzen, z. B. -e OLLAMA_HOST=0.0.0.0. Dies ermöglicht Verbindungen zur Ollama-API nicht nur von localhost, sondern auch von anderen Containern aus. Angenommen, Ollama wird in einem Container namens ollama-webui bereitgestellt. Dann wäre die Basis-URL für eine Verbindung von N8N aus wie folgt:
http://open-webui:11434
Bevor Sie den Ollama Chat Model Knoten verbinden, vergessen Sie nicht, mindestens ein Modell herunterzuladen. Sie können dies entweder über die Weboberfläche oder über die Container-CLI tun. Mit dem folgenden Befehl wird das Llama 3.1-Modell mit 8 Milliarden Parametern heruntergeladen:
ollama pull llama3.1:8b
Sobald das Modell heruntergeladen und installiert ist, wird es automatisch in der Liste der verfügbaren Modelle angezeigt:

Ein minimaler Arbeitsablauf für einen KI-Agenten sieht wie folgt aus:

In dieser Form kann der Agent nur ein Modell verwenden und speichert keine Eingabedaten oder verbessert Eingabeaufforderungen mithilfe externer Tools. Daher ist es sinnvoll, zumindest den Knoten Simple Memory hinzuzufügen. Für leichte Lasten reicht es aus, Anfragen und Antworten zu speichern.
Aber zurück zu MCP. Erstellen Sie zunächst einen Server unter Verwendung des speziellen Knotens MCP Server Trigger:

Dieser Knoten ist völlig eigenständig und muss nicht von außen aktiviert werden. Er wird ausschließlich durch eine eingehende externe Anfrage an seine Webhook-Adresse ausgelöst. Standardmäßig gibt es zwei URLs: Test URL und Production URL. Die erste wird während der Entwicklung verwendet, während die zweite nur funktioniert, wenn der Workflow gespeichert und aktiviert wird.

Der Auslöser ist für sich allein nutzlos, er benötigt angeschlossene Tools. Schließen wir zum Beispiel eines der einfachsten Werkzeuge an: einen Taschenrechner. Er erwartet einen mathematischen Ausdruck als Eingabe. Die Knoten kommunizieren über einfaches JSON. Damit der Taschenrechner 2 + 2 berechnen kann, muss die Eingabe also lauten:
[
{
"query": {
"input": "2 + 2"
}
}
]
LLMs können solche JSON leicht aus reinen Textaufgabenbeschreibungen generieren und sie an den Knoten senden, der die Berechnungen durchführt und das Ergebnis zurückgibt. Verbinden wir nun den MCP-Client mit dem Agenten:

Es ist erwähnenswert, dass dieser Knoten keine zusätzlichen Verbindungen benötigt. In seinen Einstellungen muss lediglich die Endpunktadresse angegeben werden, an die er Daten vom KI-Agenten senden wird. In unserem Beispiel verweist diese Adresse auf den Container namens n8n.

Natürlich können Sie an dieser Stelle jede beliebige externe MCP-Serveradresse angeben, die Ihnen zur Verfügung steht. Für diesen Artikel verwenden wir jedoch eine lokale Instanz, die innerhalb von N8N läuft. Schauen wir uns an, wie sich der Client und der Server verhalten, wenn der KI-Agent aufgefordert wird, eine einfache Rechenoperation auszuführen:

Nach Erhalt der Anfrage wird der KI-Agent:
- Suche im einfachen Speicher, um zu sehen, ob der Benutzer diese Frage schon einmal gestellt hat oder ob irgendein Kontext wiederverwendet werden kann.
- Er sendet die Aufforderung an den LLM, der den mathematischen Ausdruck korrekt aufschlüsselt und das entsprechende JSON vorbereitet.
- Senden Sie das JSON an das Tool Calculator und erhalten Sie das Ergebnis.
- Verwenden Sie den LLM, um die endgültige Antwort zu generieren und das Ergebnis in die Antwort einzufügen.
- Speichern Sie das Ergebnis im Simple Memory.
- Geben Sie die Nachricht im Chat aus.

Auf ähnliche Weise können Agenten mit anderen Tools auf dem MCP-Server arbeiten. Anstelle von Simple Memory können Sie auch fortschrittlichere Optionen wie MongoDB, Postgres, Redis oder sogar etwas wie Zep verwenden. Diese erfordern natürlich eine minimale Datenbankwartung, aber die Gesamtleistung wird erheblich gesteigert.
Auch bei der Auswahl der Tools gibt es weitaus mehr Möglichkeiten. Der Knoten MCP Server Trigger unterstützt von Haus aus über 200 Tools. Dabei kann es sich um alles Mögliche handeln, von einfachen HTTP-Anfragen bis hin zu vorgefertigten Integrationen mit öffentlichen Internetdiensten. Innerhalb eines einzigen Workflows können Sie sowohl einen Server als auch einen Client erstellen. Ein wichtiger Hinweis: Diese Knoten können im Editor nicht visuell verbunden werden, und das ist das erwartete Verhalten:

Anstelle des Standardauslösers können Sie auch andere Optionen verwenden, z. B. den Empfang einer Nachricht über einen Messenger, die Übermittlung eines Website-Formulars oder die Ausführung nach einem Zeitplan. So können Sie Workflows einrichten, die auf Ereignisse reagieren oder Routinevorgänge wie den täglichen Datenexport aus Google Ads durchführen.
Und das ist noch nicht alles, was mit KI-Agenten möglich ist. Sie können Multi-Agenten-Systeme mit verschiedenen neuronalen Netzwerkmodellen erstellen, die zusammenarbeiten, um Aufgaben mit größerer Genauigkeit zu lösen und dabei viele weitere Einflussfaktoren zu berücksichtigen.
Siehe auch:
Aktualisiert: 12.08.2025
Veröffentlicht: 02.07.2025