{"id":23368,"date":"2026-10-09T14:15:50","date_gmt":"2026-10-09T12:15:50","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=23368"},"modified":"2026-10-09T14:15:50","modified_gmt":"2026-10-09T12:15:50","slug":"mcp-server-und-client-workflow-mit-n8n-erstellen-zum-versenden-von-textnachricht-ueber-telegram-bot","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=23368","title":{"rendered":"MCP Server und Client Workflow mit n8n erstellen zum versenden von Textnachricht \u00fcber Telegram-Bot"},"content":{"rendered":"<h2 id=\"4-m\u00f6gliche-einsatzszenarien\">M\u00f6gliche Einsatzszenarien<\/h2>\n<ol>\n<li><strong>Pers\u00f6nlicher Assistent mit Benachrichtigungsfunktion:<\/strong> Der Benutzer bittet den Agenten per Chat, ihn per Telegram an etwas zu erinnern oder ein Ergebnis zu senden.<\/li>\n<li><strong>Alarmierung und Monitoring:<\/strong> Der Agent bewertet Statusdaten und sendet bei Auff\u00e4lligkeiten selbstst\u00e4ndig eine Telegram-Meldung.<\/li>\n<li><strong>Wiederverwendbare Tool-Bibliothek:<\/strong> Der MCP-Server kann um weitere Tools erweitert werden (Kalender, Datenbankabfragen, E-Mail, HTTP-Aufrufe, eigene REST-Dienste). Alle MCP-f\u00e4higen Clients k\u00f6nnen sie nutzen, auch au\u00dferhalb von n8n, etwa Claude Desktop oder IDE-Assistenten.<\/li>\n<li><strong>Trennung von Logik und F\u00e4higkeiten:<\/strong> Ein Workflow pro F\u00e4higkeit h\u00e4lt die Agenten schlank und erleichtert Wartung und Tests.<\/li>\n<li><strong>Modellunabh\u00e4ngigkeit:<\/strong> Dank OpenRouter l\u00e4sst sich das Sprachmodell wechseln, ohne die Tool-Anbindung zu \u00e4ndern.<\/li>\n<\/ol>\n<p>Folgende Workflows in n8n anlegen:<\/p>\n<p>1. MCP-Client<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2026\/10\/wenzlaff.de-2026-10-08-um-22.33.37.jpeg\" alt=\"MCP-Client\" width=\"2160\" height=\"1010\" \/><br \/>\n2. MCP-Server<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2026\/10\/wenzlaff.de-2026-10-08-um-22.33.53.jpeg\" alt=\"MCP\" width=\"1274\" height=\"998\" \/><br \/>\n<!--more--><\/p>\n<h2 id=\"1-gesamtzusammenhang\">1 Gesamtzusammenhang<\/h2>\n<p>Die beiden Workflows bilden eine <strong>MCP-basierte Client-Server-Architektur<\/strong> (Model Context Protocol) innerhalb von n8n:<\/p>\n<ul>\n<li><strong>Workflow 1<\/strong> ist der <strong>MCP-Client<\/strong>: ein KI-Agent, der Benutzereingaben per Chat entgegennimmt und bei Bedarf externe Werkzeuge (Tools) aufruft.<\/li>\n<li><strong>Workflow 2<\/strong> ist der <strong>MCP-Server<\/strong>: Er stellt ein Werkzeug (Telegram-Nachrichtenversand) \u00fcber einen MCP-Endpunkt bereit.<\/li>\n<\/ul>\n<p>Der Agent aus Workflow 1 kann somit \u00fcber das MCP-Protokoll Funktionen nutzen, die in Workflow 2 definiert sind, ohne diese selbst zu implementieren.<\/p>\n<h2 id=\"2-workflow-1-ki-agent-mit-mcp-client\">2 Workflow 1: KI-Agent mit MCP-Client<\/h2>\n<h3 id=\"21-aufbau\">2.1 Aufbau<\/h3>\n<table>\n<thead>\n<tr>\n<th>Knoten<\/th>\n<th>Typ<\/th>\n<th>Funktion<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>When chat message received<\/strong><\/td>\n<td>Chat-Trigger<\/td>\n<td>Startet den Workflow bei jeder eingehenden Chat-Nachricht. Der Knoten stellt die n8n-Chat-Oberfl\u00e4che bereit.<\/td>\n<\/tr>\n<tr>\n<td><strong>AI Agent<\/strong><\/td>\n<td>Agent-Knoten<\/td>\n<td>Zentrale Steuereinheit. Sie interpretiert die Eingabe, plant das Vorgehen und entscheidet, ob und welche Tools aufgerufen werden.<\/td>\n<\/tr>\n<tr>\n<td><strong>OpenRouter Chat Model<\/strong><\/td>\n<td>Chat-Model (Sub-Knoten)<\/td>\n<td>Das Sprachmodell. OpenRouter dient als Gateway zu vielen Modellen (z. B. von Anthropic, OpenAI, Mistral), die sich ohne Umbau austauschen lassen. Dies ist ein Pflichtanschluss (<code>Chat Model*<\/code>).<\/td>\n<\/tr>\n<tr>\n<td><strong>Simple Memory<\/strong><\/td>\n<td>Memory (Sub-Knoten)<\/td>\n<td>Kurzzeitged\u00e4chtnis f\u00fcr den Gespr\u00e4chsverlauf, sodass Folgefragen im Kontext beantwortet werden k\u00f6nnen.<\/td>\n<\/tr>\n<tr>\n<td><strong>MCP Client<\/strong><\/td>\n<td>MCP-Client-Tool (Sub-Knoten)<\/td>\n<td>Verbindet den Agenten mit dem MCP-Server aus Workflow 2 und macht dessen Tools f\u00fcr den Agenten nutzbar.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Der Ausgang des AI Agent ist noch nicht weiterverbunden (<code>+<\/code>-Symbol). Die Antwort wird daher im Chat angezeigt, k\u00f6nnte aber zus\u00e4tzlich weiterverarbeitet werden.<\/p>\n<h3 id=\"22-ablauf\">2.2 Ablauf<\/h3>\n<ol>\n<li>Der Benutzer sendet eine Nachricht im Chat.<\/li>\n<li>Der Trigger \u00fcbergibt sie an den AI Agent.<\/li>\n<li>Der Agent l\u00e4dt den bisherigen Verlauf aus der Simple Memory.<\/li>\n<li>Das Sprachmodell analysiert die Anfrage und entscheidet, ob ein Tool ben\u00f6tigt wird.<\/li>\n<li>Falls ja, ruft der MCP Client das Tool am entfernten MCP-Server auf (Workflow 2).<\/li>\n<li>Das Ergebnis flie\u00dft zur\u00fcck an das Modell, das die finale Antwort formuliert.<\/li>\n<\/ol>\n<h2 id=\"3-workflow-2-mcp-server-mit-telegram-tool\">3 Workflow 2: MCP-Server mit Telegram-Tool<\/h2>\n<h3 id=\"31-aufbau\">3.1 Aufbau<\/h3>\n<table>\n<thead>\n<tr>\n<th>Knoten<\/th>\n<th>Typ<\/th>\n<th>Funktion<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>MCP Server Trigger<\/strong><\/td>\n<td>Trigger<\/td>\n<td>Stellt einen MCP-Endpunkt bereit und ver\u00f6ffentlicht die angebundenen Tools f\u00fcr MCP-Clients.<\/td>\n<\/tr>\n<tr>\n<td><strong>Send a text message in Telegram<\/strong><\/td>\n<td>Telegram-Tool (Operation <code>sendMessage<\/code>)<\/td>\n<td>Versendet eine Textnachricht \u00fcber einen Telegram-Bot. Der Nachrichtentext (<code>message<\/code>) kann vom aufrufenden Agenten dynamisch bef\u00fcllt werden.<\/td>\n<\/tr>\n<tr>\n<td><strong>Execute workflow<\/strong><\/td>\n<td>Manueller Testbutton<\/td>\n<td>Dient zum Testen des Workflows im Editor.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 id=\"32-ablauf\">3.2 Ablauf<\/h3>\n<ol>\n<li>Ein MCP-Client (hier der Agent aus Workflow 1) ruft den Endpunkt auf und erh\u00e4lt die Liste der verf\u00fcgbaren Tools.<\/li>\n<li>Der Client ruft das Tool \u201eSend a text message in Telegram&quot; mit einem Nachrichtentext auf.<\/li>\n<li>Der Telegram-Knoten sendet die Nachricht an den konfigurierten Chat.<\/li>\n<li>Das Ergebnis wird an den Client zur\u00fcckgemeldet.<\/li>\n<\/ol>\n<p>Java Client f\u00fcr Test folgt&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>M\u00f6gliche Einsatzszenarien Pers\u00f6nlicher Assistent mit Benachrichtigungsfunktion: Der Benutzer bittet den Agenten per Chat, ihn per Telegram an etwas zu erinnern oder ein Ergebnis zu senden. Alarmierung und Monitoring: Der Agent bewertet Statusdaten und sendet bei Auff\u00e4lligkeiten selbstst\u00e4ndig eine Telegram-Meldung. Wiederverwendbare Tool-Bibliothek: Der MCP-Server kann um weitere Tools erweitert werden (Kalender, Datenbankabfragen, E-Mail, HTTP-Aufrufe, eigene REST-Dienste). &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=23368\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eMCP Server und Client Workflow mit n8n erstellen zum versenden von Textnachricht \u00fcber Telegram-Bot\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[220,6342],"tags":[116,6076,6336,6255,2737,2518,936,83,6263],"class_list":["post-23368","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-n8n-2","tag-client","tag-ki","tag-mcp","tag-n8n","tag-nachricht","tag-nodes","tag-senden","tag-server","tag-telegram"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/23368","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=23368"}],"version-history":[{"count":4,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/23368\/revisions"}],"predecessor-version":[{"id":23374,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/23368\/revisions\/23374"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=23368"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=23368"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=23368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}