Zum Hauptinhalt springen

Model Context Protocol

Grünig-SignTronic Katalog MCP-Server

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.

Einrichtung

Client verbinden

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.

  1. Einstellungen → Connectors öffnen.
  2. Auf «Eigenen Connector hinzufügen» klicken.
  3. Den oben gezeigten Endpunkt einfügen; Authentifizierung leer lassen.
  4. 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).

  1. Einstellungen → Connectors öffnen.
  2. Auf «Erstellen» klicken und einen eigenen (MCP-)Connector wählen.
  3. Den oben gezeigten Endpunkt als Server-URL einfügen; Authentifizierung auf «keine» setzen.
  4. 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.

  1. Den Befehl unten ausführen.
  2. Den Streamable-HTTP-Transport wählen.
  3. Den Endpunkt eingeben und auf «Connect» klicken.
  4. 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
Add the remote MCP server "Grünig-SignTronic Catalog" at https://mcp.grunig-signtronic.com/mcp (Model Context Protocol over Streamable HTTP, no authentication) to my MCP client, then list its tools and run search_products with query "coating" to confirm it works.

Ein Tool direkt aufrufen (curl)

Jede Anfrage ist ein einzelner JSON-RPC-POST. Dieser durchsucht den Produktkatalog:

Produkte suchen
curl -s https://mcp.grunig-signtronic.com/mcp -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_products","arguments":{"query":"coating","lang":"de"}}}'

Referenz

Tools

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» oder «de». 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).

Beispielaufruf
Beispielaufruf
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "ping",
    "arguments": {}
  }
}

search_products

Produkte suchen

Durchsucht den aktiven Grünig-SignTronic Produktkatalog in der gewünschten Sprache. Die Suchanfrage ist 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. Optional nach Kategorie filterbar (gültige Slugs siehe list_categories). Liefert kompakte Produkt-Zusammenfassungen (slug, Name, Kurzbeschreibung, Kategorie, kanonische URL). Für volle Details get_product verwenden.

ParameterTypErf.Beschreibung
querystring (1–200)erforderlichSuchbegriff ohne Gross-/Kleinschreibung.
lang"en" | "de"erforderlichAntwortsprache für die Katalog-Inhalte.
limitinteger (1–50)optionalMax. Ergebnisse. Standard 10.
categorystring (≤100)optionalKategorie-Slug zum Filtern (siehe list_categories).

Rückgabe: { count, results: [{ slug, name, shortDescription, category, url }] }.

Beispielaufruf
Beispielaufruf
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search_products",
    "arguments": {
      "query": "coating",
      "lang": "en"
    }
  }
}

get_product

Produkt abrufen

Liefert die vollen Details eines einzelnen aktiven Produkts, aufgelöst über slug (bevorzugt) oder id, in der gewünschten Sprache: Beschreibungen, Merkmale, Vorteile, Anwendungen, Spezifikationen, Dokumente und Slugs verwandter Produkte.

ParameterTypErf.Beschreibung
slugstring (≤200)optionalProdukt-Slug. slug oder id angeben.
idstring (≤100)optionalProdukt-id. slug oder id angeben.
lang"en" | "de"erforderlichAntwortsprache für die Katalog-Inhalte.

Rückgabe: { found, product } — found: false, falls unbekannt oder inaktiv.

Mindestens eines von slug oder id ist erforderlich.

Beispielaufruf
Beispielaufruf
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_product",
    "arguments": {
      "slug": "g-202",
      "lang": "en"
    }
  }
}

list_categories

Kategorien auflisten

Listet alle aktiven Produktkategorien in der gewünschten Sprache (slug, Name, Beschreibung). Einen zurückgegebenen Slug zum Filtern von search_products verwenden.

ParameterTypErf.Beschreibung
lang"en" | "de"erforderlichAntwortsprache für die Katalog-Inhalte.
limitinteger (1–200)optionalMax. Ergebnisse. Standard 50.

Rückgabe: { count, results: [{ slug, name, description }] }.

Beispielaufruf
Beispielaufruf
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_categories",
    "arguments": {
      "lang": "en"
    }
  }
}

list_jobs

Stellen auflisten

Listet offene Stellenausschreibungen als kompakte Zusammenfassungen in der gewünschten Sprache. Optional nach Stellentyp filterbar. Für volle Details get_job verwenden.

ParameterTypErf.Beschreibung
lang"en" | "de"erforderlichAntwortsprache für die Katalog-Inhalte.
typestring (≤50)optionalStellentyp zum Filtern.
limitinteger (1–200)optionalMax. Ergebnisse. Standard 50.

Rückgabe: { count, results: [{ slug, title, type, … }] }.

Beispielaufruf
Beispielaufruf
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_jobs",
    "arguments": {
      "lang": "en"
    }
  }
}

get_job

Stelle abrufen

Liefert die vollen Details einer einzelnen offenen Stelle, aufgelöst über slug oder id, in der gewünschten Sprache: Beschreibung, Anforderungen, Vorteile und Stellentyp.

ParameterTypErf.Beschreibung
slugstring (≤200)optionalStellen-Slug. slug oder id angeben.
idstring (≤100)optionalStellen-id. slug oder id angeben.
lang"en" | "de"erforderlichAntwortsprache für die Katalog-Inhalte.

Rückgabe: { found, job } — found: false, falls unbekannt oder geschlossen.

Mindestens eines von slug oder id ist erforderlich.

Beispielaufruf
Beispielaufruf
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_job",
    "arguments": {
      "slug": "automatiker",
      "lang": "en"
    }
  }
}

list_distributors

Vertriebspartner auflisten

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.

ParameterTypErf.Beschreibung
lang"en" | "de"erforderlichAntwortsprache für die Katalog-Inhalte.
countrystring (≤100)optionalLand zum Filtern (ohne Gross-/Kleinschreibung).
limitinteger (1–200)optionalMax. Ergebnisse. Standard 50.

Rückgabe: { count, results: [{ companyName, address, email, url, coordinates }] }.

Beispielaufruf
Beispielaufruf
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_distributors",
    "arguments": {
      "lang": "en"
    }
  }
}

get_distributor

Vertriebspartner abrufen

Liefert die vollen Details eines einzelnen Vertriebspartners, aufgelöst über slug oder id, in der gewünschten Sprache — einschliesslich der benannten Kontaktperson (E-Mail/Telefon/Mobil). Kontaktdaten auf Personenebene werden nur hier preisgegeben, nie in der Sammel-Liste.

ParameterTypErf.Beschreibung
slugstring (≤200)optionalVertriebspartner-Slug. slug oder id angeben.
idstring (≤100)optionalVertriebspartner-id. slug oder id angeben.
lang"en" | "de"erforderlichAntwortsprache für die Katalog-Inhalte.

Rückgabe: { found, distributor } inklusive eines contact-Objekts.

Mindestens eines von slug oder id ist erforderlich.

Beispielaufruf
Beispielaufruf
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_distributor",
    "arguments": {
      "slug": "grunig-signtronic",
      "lang": "en"
    }
  }
}

list_news

News auflisten

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.

ParameterTypErf.Beschreibung
lang"en" | "de"erforderlichAntwortsprache für die Katalog-Inhalte.
tagstring (≤100)optionalTag zum Filtern.
limitinteger (1–50)optionalMax. Ergebnisse. Standard 10.

Rückgabe: { count, results: [{ title, excerpt, tags, publishedAt }] }.

Beispielaufruf
Beispielaufruf
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_news",
    "arguments": {
      "lang": "en"
    }
  }
}

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.