Ein zustandsloser, authentifizierungsfreier, nur lesender Model-Context-Protocol-Server, der den öffentlichen Grünig-SignTronic Siebdruck-Katalog — Produkte, Stellen, Vertriebspartner, Rechtsseiten und News — über einen einzigen Standard-Endpunkt für jeden MCP-Client oder KI-Assistenten bereitstellt.
Der Server spricht das Model Context Protocol über Streamable HTTP an einem einzigen Endpunkt. Es gibt keinen API-Schlüssel und kein Konto — richte einen Client auf die URL und seine Tools erscheinen.
MCP-Endpunkt
https://mcp.grunig-signtronic.com/mcp
Streamable HTTPKeine AuthentifizierungNur lesend
1Empfohlen
Claude.ai Connector
Als eigenen Connector in Claude hinzufügen.
Einstellungen → Connectors öffnen.
Auf «Eigenen Connector hinzufügen» klicken.
Den oben gezeigten Endpunkt einfügen; Authentifizierung leer lassen.
Speichern, in einem Chat aktivieren und nach dem Katalog fragen.
Verwende den oben gezeigten MCP-Endpunkt
2
ChatGPT
Als eigenen Connector in ChatGPT hinzufügen (Plus, Pro, Team oder Enterprise).
Einstellungen → Connectors öffnen.
Auf «Erstellen» klicken und einen eigenen (MCP-)Connector wählen.
Den oben gezeigten Endpunkt als Server-URL einfügen; Authentifizierung auf «keine» setzen.
Speichern, in einem Chat aktivieren und nach dem Katalog fragen.
Verwende den oben gezeigten MCP-Endpunkt
3
MCP Inspector
Tools direkt aus dem Terminal prüfen und aufrufen.
Den Befehl unten ausführen.
Den Streamable-HTTP-Transport wählen.
Den Endpunkt eingeben und auf «Connect» klicken.
Mit «List Tools» / «Call Tool» erkunden.
Ausführen
npx @modelcontextprotocol/inspector
Oder vom Assistenten einrichten lassen
Füge dies in Claude, ChatGPT oder einen beliebigen MCP-fähigen Assistenten ein, um den Server hinzuzufügen und in einem Schritt zu testen:
Einrichtungs-Prompt
Füge den Remote-MCP-Server «Grünig-SignTronic Catalog» unter https://mcp.grunig-signtronic.com/mcp (Model Context Protocol über Streamable HTTP, ohne Authentifizierung) zu meinem MCP-Client hinzu, liste dann seine Tools auf und rufe search_products mit der Abfrage «coating» auf, um zu prüfen, dass es funktioniert.
Ein Tool direkt aufrufen (curl)
Jede Anfrage ist ein einzelner JSON-RPC-POST. Dieser durchsucht den Produktkatalog:
Jede Entität folgt einem einheitlichen list / search + get-Muster: List- und Search-Tools liefern kompakte Zusammenfassungen, get_*-Tools liefern volle Details. Alle Tools sind nur lesend, und jedes Tool ausser ping nimmt ein lang von «en», «de», «fr», «it», «es» oder «pt». Diese Referenz wird aus den Tool-Definitionen des Servers erzeugt und stimmt daher immer mit dem Endpunkt überein.
ping
Ping
Erreichbarkeitsprüfung — gibt 'pong' und die aktive Umgebung zurück. Nimmt keine Argumente.
Rückgabe:Ein kurzer Text, z. B. pong (production).
Durchsucht oder listet aktive Grünig-SignTronic Produkte in der gewünschten Sprache. Mit «query» ist die Suchanfrage ein Teilstring ohne Gross-/Kleinschreibung, der über den gesamten Produkttext abgeglichen wird — Name, Kurz- und Volltextbeschreibung, Merkmale, Vorteile, Anwendungen und Spezifikationen — sodass auch Modellnummern und Fachbegriffe (z. B. «1270», «UV-LED») treffen. OHNE «query» wird gelistet statt gesucht: «{ lang, category }» beantwortet damit «welche Produkte gehören zu dieser Kategorie», «{ lang }» listet den Katalog. «category» akzeptiert einen Slug ODER einen Kategorienamen in jeder der Katalogsprachen (siehe list_categories). Liefert kompakte Zusammenfassungen (slug, Name, Kurzbeschreibung, Kategorie, kanonische URL); für volle Details get_product verwenden.
Parameter
Typ
Erf.
Beschreibung
query
string (1–200)
optional
Suchbegriff ohne Gross-/Kleinschreibung. Weglassen, um zu listen statt zu suchen.
lang
"en" | "de" | "fr" | "it" | "es" | "pt"
erforderlich
Antwortsprache für die Katalog-Inhalte.
limit
integer (1–50)
optional
Max. Ergebnisse. Standard 10.
category
string (≤100)
optional
Kategorie-Slug oder -Name in jeder der Katalogsprachen (siehe list_categories).
Liefert die vollen Details eines einzelnen aktiven Produkts in der gewünschten Sprache: Beschreibungen, Merkmale, Vorteile, Anwendungen, Spezifikationen, Dokumente und Slugs verwandter Produkte. Auflösung über «slug», «id» oder «name» — «name» ist der Anzeigename («G-COAT 746»); alle drei ohne Gross-/Kleinschreibung, «name» zusätzlich als Teilstring. Passt nichts, trägt die Antwort «suggestions» mit den nächstliegenden echten Produkten — damit erneut anfragen statt raten.
Parameter
Typ
Erf.
Beschreibung
slug
string (≤200)
optional
Produkt-Slug. slug, id oder name angeben.
id
string (≤100)
optional
Produkt-id. slug, id oder name angeben.
name
string (≤200)
optional
Anzeigename des Produkts; ohne Gross-/Kleinschreibung, Teilstring erlaubt.
lang
"en" | "de" | "fr" | "it" | "es" | "pt"
erforderlich
Antwortsprache für die Katalog-Inhalte.
Rückgabe:{ found, truncated, product } — truncated: true heisst, dass ein Feld die Längengrenze erreicht hat. found: false (plus suggestions), falls unbekannt oder inaktiv.
Mindestens eines von slug, id oder name ist erforderlich.
Listet alle aktiven Produktkategorien in der gewünschten Sprache (slug, Name, Beschreibung, productCount). «productCount» ist die Anzahl aktiver Produkte in der Kategorie — diese Liste ist damit die Landkarte des Katalogs: hier beginnen, dann einen Slug oder Namen als «category» an search_products übergeben, um die Produkte der Kategorie zu listen.
Listet offene Stellenausschreibungen als kompakte Zusammenfassungen in der gewünschten Sprache. Optional nach Stellentyp filterbar. Für volle Details get_job verwenden.
Liefert die vollen Details einer einzelnen offenen Stelle in der gewünschten Sprache: Beschreibung, Anforderungen, Vorteile und Stellentyp. Auflösung über «slug», «id» oder «name» (den Stellentitel) — alle ohne Gross-/Kleinschreibung, «name» zusätzlich als Teilstring. Ein Fehlschlag trägt «suggestions» mit den passendsten offenen Ausschreibungen.
Parameter
Typ
Erf.
Beschreibung
slug
string (≤200)
optional
Stellen-Slug. slug, id oder name angeben.
id
string (≤100)
optional
Stellen-id. slug, id oder name angeben.
name
string (≤200)
optional
Stellentitel; ohne Gross-/Kleinschreibung, Teilstring erlaubt.
lang
"en" | "de" | "fr" | "it" | "es" | "pt"
erforderlich
Antwortsprache für die Katalog-Inhalte.
Rückgabe:{ found, truncated, job } — truncated: true heisst, dass ein Feld die Längengrenze erreicht hat. found: false (plus suggestions), falls unbekannt oder geschlossen.
Mindestens eines von slug, id oder name ist erforderlich.
Listet Vertriebspartner als firmenbezogene Zusammenfassungen in der gewünschten Sprache (Name, Adresse, E-Mail, Website, Koordinaten). Optional nach Land filterbar. Kontaktdaten auf Personenebene sind hier NICHT enthalten — get_distributor verwenden.
Liefert die vollen Details eines einzelnen Vertriebspartners in der gewünschten Sprache — einschliesslich der benannten Kontaktperson (E-Mail/Telefon/Mobil), die nur hier preisgegeben wird und nie in der Sammel-Liste. Auflösung über «slug», «id» oder «name» (den Firmennamen) — alle ohne Gross-/Kleinschreibung, «name» zusätzlich als Teilstring. Ein Fehlschlag trägt «suggestions» mit den nächstliegenden Partnern.
Parameter
Typ
Erf.
Beschreibung
slug
string (≤200)
optional
Vertriebspartner-Slug. slug, id oder name angeben.
id
string (≤100)
optional
Vertriebspartner-id. slug, id oder name angeben.
name
string (≤200)
optional
Firmenname; ohne Gross-/Kleinschreibung, Teilstring erlaubt.
lang
"en" | "de" | "fr" | "it" | "es" | "pt"
erforderlich
Antwortsprache für die Katalog-Inhalte.
Rückgabe:{ found, truncated, distributor } inklusive eines contact-Objekts; truncated: true heisst, dass ein Feld die Längengrenze erreicht hat.
Mindestens eines von slug, id oder name ist erforderlich.
Liefert ein Rechtsdokument (z. B. Impressum, Datenschutzerklärung, AGB) in der gewünschten Sprache. «page» akzeptiert den Seitenschlüssel oder den URL-Slug, ohne Gross-/Kleinschreibung; ein Fehlschlag trägt «suggestions» mit den in dieser Sprache veröffentlichten Seiten. Verbindlich ist immer die deutsche Fassung; «document.lang» nennt die Sprache des gelieferten Texts.
Parameter
Typ
Erf.
Beschreibung
page
string (1–100)
erforderlich
Rechtsseiten-Schlüssel oder URL-Slug, z. B. `imprint` / `privacy`.
lang
"en" | "de" | "fr" | "it" | "es" | "pt"
erforderlich
Antwortsprache für die Katalog-Inhalte. Rechtstexte liegen in allen Katalogsprachen vor; rechtlich verbindlich ist die deutsche Fassung, die übrigen sind informative Übersetzungen. Eine Seite ohne freigegebene Fassung in dieser Sprache wird auf Englisch geliefert.
Rückgabe:{ found, document: { page, urlSlug, lang, summary, body, truncated } } — found: false plus suggestions bei einem Fehlschlag.
Listet die neuesten News-Einträge in der gewünschten Sprache (Titel, Auszug, Tags, Datum). Optional nach Tag filterbar. Es werden nur Auszüge preisgegeben — nie der vollständige Artikel-HTML.
Jedes Tool deklariert zusätzlich ein outputSchema und liefert seine Nutzlast zweimal — als structuredContent (echtes JSON, bei jedem Aufruf validiert) und als lesbaren JSON-Textblock.
Über Tools hinaus
Resources & Prompts
Der Server bewirbt vier Capabilities: tools, resources, prompts und completions. Resources machen denselben Katalog per URI adressierbar — ein Client kann ein Dokument anhängen und erneut lesen, ohne ein Tool auszuwählen. Prompts sind fertige Vorlagen, die die Tools oben komponieren.
Resources
Auffindbar über resources/list (konkrete URIs) und resources/templates/list (Muster). {lang} ist «en», «de», «fr», «it», «es» oder «pt» — die Sprache ist Teil der Adresse, weil jeder Katalog-Datensatz lokalisiert ist. Resources liefern den vollständigen Datensatz, nicht die Tool-Zusammenfassungen.
{ count, news } — veröffentlichte News, nur Auszüge
Prompts
Jeder Prompt komponiert die Tools oben; das Argument lang wird autovervollständigt — genau dafür ist die completions-Capability da. Kein Prompt verlangt einen Slug: Produkte und Kategorien werden als Freitext übergeben, das Modell löst sie selbst über search_products auf. Optionale Argumente sind bewusst optional, damit die Client-Maske nicht auf einer Eingabe blockiert.
Prompt
Argumente
Zweck
explore_catalog
interest?, lang?
Orientierung: Kategorien mit Produktanzahl, dann der nächste Schritt
category_overview
category?, lang?
Die Produkte einer Kategorie — der Kategoriename genügt
find_machine
application, lang?
Anlagenempfehlung für einen beschriebenen Produktionsbedarf
compare_products
products?, criteria?, lang?
Direktvergleich über die Felder, die sich unterscheiden
plan_screen_making_line
requirements, lang?
Eine vollständige Anlage als geordneter Ablauf, Schritt für Schritt
product_documents
product, lang?
Die zu einem Produkt veröffentlichten Datenblätter und Anleitungen
Die neusten veröffentlichten News, aus ihren Auszügen zusammengefasst
open_positions
interest?, lang?
Offene Stellen und was sie beinhalten
Info
Über diesen Server
Zweck
MCP-Clients und KI-Assistenten können den öffentlichen Grünig-SignTronic Katalog über einen einzigen, wohldefinierten Endpunkt abfragen — kein Scraping, keine eigene API.
Datenquelle
Alle Inhalte stammen von der öffentlichen Grünig-SignTronic Website und werden nur lesend ausgeliefert. Der Katalog wird bei jeder Veröffentlichung der Website aktualisiert; der Server schreibt nie.
Sicherheit
Der Endpunkt ist authentifizierungsfrei, nur lesend und zustandslos. Er gibt keine Geheimnisse, keine Schreibzugriffe und keine personenbezogenen Daten preis, die nicht bereits öffentlich auf der Website stehen.
Transport
Model Context Protocol über Streamable HTTP. Anfragen sind einfaches JSON-RPC über POST; Antworten werden am Edge zwischengespeichert, wo es sicher ist.