Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Fega Schmitt

БесплатноНе проверен

MCP server that gives AI assistants access to FEGA & Schmitt Elektrogroßhandel price and availability data via a single tool, enabling natural language queries

GitHubEmbed

Описание

MCP server that gives AI assistants access to FEGA & Schmitt Elektrogroßhandel price and availability data via a single tool, enabling natural language queries for up to 999 articles per request.

README

Publish License: MIT uv Ruff

Status: Preis-/Verfügbarkeitsabfrage (SOAP) sowie Webshop-Zugriff (Suche, Artikeldetails, Warenkörbe, Bestellungen, ...) implementiert, noch nicht auf PyPI veröffentlicht.

Ein dünner MCP-Server, der KI-Assistenten (z. B. Claude) Zugriff auf Daten von FEGA & Schmitt Elektrogroßhandel gibt — Preis- und Verfügbarkeitsabfragen für Artikel sowie Zugriff auf die Webshop-Weboberfläche (Suche, Artikeldetails, Warenkörbe, Bestellungen, Aktionsangebote).

Die gesamte Protokoll-/API-Logik (SOAP, Auth, Fehlercodes, XML, Webshop-Scraping) lebt nicht in diesem Repo, sondern in der eigenständigen Python-Library fega-schmitt-client (Repo unter GIT/Python/, auf PyPI veröffentlicht). Dieses Repo bildet nur die Brücke zwischen MCP-Protokoll und dieser Library.

graph LR
    Host["MCP-Host<br/>(Claude Desktop / Claude Code / ...)"] -->|stdio, JSON-RPC| MCP["fega-schmitt-mcp<br/>(dieses Repo)"]
    MCP -->|Python-Aufruf| LIB["fega-schmitt-client<br/>(eigenes Repo + PyPI-Paket)"]
    LIB -->|SOAP/HTTPS| API["FEGA & Schmitt<br/>Preis-/Verfügbarkeitsservice"]
    LIB -->|HTTPS, Scraping| SHOP["FEGA & Schmitt<br/>Webshop-Frontend"]

    style MCP fill:#2b6cb0,color:#fff

Suchst du die Python-Library oder das CLI-Tool? Siehe fega-schmitt-client — die eigenständige Library, die dieser MCP-Server verpackt.

Warum zwei Pakete?

  • fega-schmitt-client: reine Python-Library, kein MCP-/KI-spezifischer Code. Eigenständig nutzbar (Skripte, andere Services), unabhängig testbar, unabhängig versionierbar.
  • fega-schmitt-mcp (dieses Repo): übersetzt die Library-Funktionen in MCP-Tools (stdio-Transport, Tool-Schemas, Fehler-Serialisierung für MCP-Clients). Enthält selbst keine SOAP-/XML-Logik.

Tools

SOAP-Preisservice

Tool Beschreibung
get_price_availability Preis und Verfügbarkeit für bis zu 999 Artikel je Anfrage. Eingabe: Liste von Artikelnummern mit Menge und optionaler Mengeneinheit. Ausgabe je Artikel: Verfügbarkeitsstatus, Nettopreis, Listenpreis, Zu-/Abschläge, Lagerzuordnung. Fehlerfälle (unbekannte Artikelnummer, ungültige Mengeneinheit, Mengenüberlauf) werden je Position gemeldet, ohne die gesamte Anfrage abzubrechen.

Webshop (best-effort, nicht offiziell dokumentiert)

Diese Tools sprechen die Kunden-Weboberfläche (shop.fega.de) statt einer dokumentierten Schnittstelle an — siehe fega-schmitt-client/docs/extensions.md für Details/Vorbehalte je Methode. Nutzen dieselben Zugangsdaten wie get_price_availability.

Tool Beschreibung
web_search_articles Artikelsuche über Artikelnummer, EAN, Herstellerteilenummer oder Freitext (ein gemeinsames Suchfeld).
web_get_article Alle bekannten Artikeldetails in einem Aufruf: EAN, Herstellernummer(n), Kategorie, eigene Artikelnummer, Attribute, Bilder, Schnittkosten sowie Artikelnummern von Zubehör/Varianten/Alternativen/Cross-Sell.
web_set_article_number Eigene (kundenspezifische) Artikelnummer für einen Artikel setzen.
web_get_cable_lengths Verfügbare Kabellängen (Trommeln/Reststücke) eines Kabelartikels je Lagerstandort.
web_list_articles_by_category Artikel einer UWG-Warengruppe auflisten.
web_get_favorites Gespeicherte Favoritenliste abrufen.
web_get_deal_campaigns Aktive Aktionsangebote-Kampagnen auflisten.
web_get_deal_articles Artikel einer Aktionsangebote-Kampagne abrufen.
web_get_daily_deals Tagesangebote abrufen.
web_get_second_choice_articles "2. Wahl"/B-Ware-Artikel abrufen.
web_get_cart Inhalt eines Warenkorbs (Standard: aktuell aktiver) abrufen.
web_get_cart_list Alle Warenkörbe des Kunden auflisten.
web_get_order_list Bestellübersicht abrufen.
web_get_order Positionen einer einzelnen Bestellung abrufen.

Installation

Voraussetzungen

  • Python ≥ 3.10
  • uv

Dependencies installieren

uv sync

Server starten (Entwicklung)

export FEGA_CUSTOMER_NUMBER=9920
export FEGA_SHOP_PASSWORD=...
uv run fega-schmitt-mcp
# oder
uv run python -m fega_schmitt_mcp.server

Mit dem MCP Inspector testen

uv run mcp dev src/fega_schmitt_mcp/server.py

Konfiguration in VS Code / Claude Desktop

Server in der MCP-Konfiguration eintragen (.vscode/mcp.json bzw. claude_desktop_config.json):

Installation von PyPI:

{
  "servers": {
    "fega-schmitt": {
      "command": "bash",
      "args": ["-l", "-c", "uvx fega-schmitt-mcp"],
      "env": {
        "FEGA_CUSTOMER_NUMBER": "9920",
        "FEGA_SHOP_PASSWORD": "..."
      }
    }
  }
}

Installation von GitHub:

{
  "servers": {
    "fega-schmitt": {
      "command": "bash",
      "args": [
        "-l",
        "-c",
        "uvx --from git+https://github.com/the78mole/fega-schmitt-mcp.git fega-schmitt-mcp"
      ],
      "env": {
        "FEGA_CUSTOMER_NUMBER": "9920",
        "FEGA_SHOP_PASSWORD": "..."
      }
    }
  }
}

Lokale Entwicklung (Workspace-Checkout):

{
  "servers": {
    "fega-schmitt": {
      "command": "bash",
      "args": ["-l", "-c", "uv --directory ${workspaceFolder} run fega-schmitt-mcp"],
      "env": {
        "FEGA_CUSTOMER_NUMBER": "9920",
        "FEGA_SHOP_PASSWORD": "..."
      }
    }
  }
}

Hinweis: bash -l lädt das Login-Shell-Profil, damit uvx/uv in ~/.local/bin gefunden werden, ohne dass eine zusätzliche env/PATH-Konfiguration nötig ist.

Umgebungsvariablen

Variable Default Beschreibung
FEGA_CUSTOMER_NUMBER – (erforderlich) FEGA & Schmitt-Kundennummer (PARTNER_PURCHASER)
FEGA_SHOP_PASSWORD – (erforderlich) Shop-Kennwort (LEGITIMATION_ID)
FEGA_ENDPOINT https://soap.fega.de/priceavail.php Abweichende SOAP-Service-URL, z. B. für Tests gegen einen Mock-Server
FEGA_SHOP_BASE_URL https://shop.fega.de Abweichende Webshop-Basis-URL für die web_*-Tools
FEGA_TIMEOUT 30 HTTP-Timeout in Sekunden (gilt für beide Backends)

Fehlen FEGA_CUSTOMER_NUMBER/FEGA_SHOP_PASSWORD, liefert das Tool {"error": ...} statt eine Exception zu werfen — Secrets werden nie geloggt oder im Code hinterlegt (siehe docs/architecture.md, Abschnitt 3).

Beispiel

get_price_availability(items=[
    {"material_number": "0815", "quantity": "200", "unit": "MTR"},
    {"material_number": "4711"},
])

liefert:

{
  "results": [
    {
      "line_item_number": 1,
      "material_number": "0815",
      "status": "ok",
      "return_code": "I720",
      "return_code_text": "OK",
      "availability_status": "V",
      "warehouse_number": "10",
      "warehouse_name": "Zentrallager",
      "price_amount": "12.50",
      "net_amount": "13.20",
      "list_amount": "15.00",
      "surcharges": [{"code": "CU", "text": "Kupferzuschlag", "amount": "0.70"}]
    },
    {
      "line_item_number": 2,
      "material_number": "4711",
      "status": "error",
      "return_code": "E999",
      "return_code_text": "Bitte pruefen Sie Ihre Anmeldedaten",
      "availability_status": null,
      "warehouse_number": null,
      "warehouse_name": null,
      "price_amount": null,
      "net_amount": null,
      "list_amount": null,
      "surcharges": []
    }
  ]
}

Webshop-Beispiel:

web_get_article(material_number="0815")

liefert (gekürzt):

{
  "material_number": "0815",
  "ean": "4012345678901",
  "own_article_number": "MEIN-0815",
  "category": {"id": "UWG_14_87", "name": "Leitungsschutzschalter"},
  "attributes": {"Nennspannung": "230 V"},
  "images": [{"url": "https://shop.fega.de/img/0815-1.jpg", "is_primary": true}],
  "accessories": ["1000"],
  "variants": ["1001", "1002"],
  "alternatives": [],
  "cross_sell": ["1004"]
}

Über FEGA & Schmitt

FEGA & Schmitt ist ein deutscher Elektrogroßhändler. Details zu den verfügbaren Schnittstellen (SOAP-Preisservice, IDS-Branchenstandard, UGL4-Branchenstandard, Webshop-Frontend) siehe die Architekturbeschreibung der Library: fega-schmitt-client/docs/architecture.md.

Lokale Entwicklung

# Projektumgebung einrichten
uv sync

# Linting & Formatting
uv run ruff format .
uv run ruff check --fix .

# Tests
uv run pytest

Offene Punkte

  • Test-/Produktivzugangsdaten für den SOAP-Service (siehe fega-schmitt-client-Repo)
  • Zielumgebung des MCP-Servers (lokal per stdio, oder als gehosteter Dienst?)
  • Endgültiger PyPI-/Paketname (fega-schmitt-mcp ist ein Arbeitstitel)
  • PyPI Trusted Publishing muss einmalig manuell auf pypi.org eingerichtet werden (Workflow-Datei publish.yml, Environment pypi), bevor der Release-Workflow tatsächlich veröffentlichen kann

Related Projects

Project Description
fega-schmitt-client Python-Library, die dieser MCP-Server verpackt. Enthält die gesamte SOAP-/Protokoll-Logik sowie ein eigenständiges CLI.

Lizenz

MIT, siehe LICENSE.

from github.com/the78mole/fega-schmitt-mcp

Установка Fega Schmitt

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/the78mole/fega-schmitt-mcp

FAQ

Fega Schmitt MCP бесплатный?

Да, Fega Schmitt MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Fega Schmitt?

Нет, Fega Schmitt работает без API-ключей и переменных окружения.

Fega Schmitt — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить Fega Schmitt в Claude Desktop, Claude Code или Cursor?

Открой Fega Schmitt на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Fetch

Web content fetching and conversion for efficient LLM usage.

автор: Community

Roblox Studio

Enables AI coding tools to control Roblox Studio for workspace exploration, instance manipulation, and script management. It provides tools for playtesting, sce

paralovавтор: paralov

Opencode Omniroute Plugin

OpenCode plugin for the OmniRoute AI Gateway. Drives dynamic model discovery, /connect auth flow, and multi-instance OmniRoute providers via the official @openc

GitHub Actionsавтор: GitHub Actions

AWS KB Retrieval

Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.

modelcontextprotocolавтор: modelcontextprotocol

Spring AI MCP Server

Provides auto-configuration for setting up an MCP server in Spring Boot applications.

автор: Community

llm-analysis-assistant

A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also

xuzexin-hzавтор: xuzexin-hz

MCP-Agent

A simple, composable framework to build agents using Model Context Protocol by [LastMile AI](https://www.lastmileai.dev)

lastmile-aiавтор: lastmile-ai

Spring AI MCP Client

Provides auto-configuration for MCP client functionality in Spring Boot applications.

автор: Community

mcp.natoma.ai

A Hosted MCP Platform to discover, install, manage and deploy MCP servers by [Natoma Labs](https://www.natoma.ai)

автор: Community

MCPHub

Website to list high quality MCP servers and reviews by real users. Also provide online chatbot for popular LLM models with MCP server support.

автор: Community

Compare Fega Schmitt with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai