Skip to main content
Glama
Production Plan Variance MCP Server

Production Plan Variance MCP Server

by sauravakij

Production Plan Variance MCP Server

Ein kleiner MCP-Server, der das Production Plan Variance & Issue Tracking-Dashboard (erp.peopledesk.io/production-management/mes/ProductionPlanVariance) als fünf schreibgeschützte Tools bereitstellt, die direkt auf der DWH-Datenbank basieren:

Tool

Spiegelt

get_variance_summary

Die vier Kacheln: Plan Lines / On Target / Variance Flagged / Issues Missing

list_plan_variance

Das Zeilenraster (Plancode, Artikel, Werk, Menge, Differenz, Grund, Status)

list_variance_reasons

Die Konfiguration der Gründe „Issue for Difference“ + Eskalations-E-Mails, pro Werk

list_plants

Dropdown für den Werkfilter

list_shop_floors

Dropdown für den Shop-Floor-Filter

Es fragt diese DWH-Tabellen ab (gegen das Live-Schema verifiziert): tblProductionPlanVarianceIssueArc, tblProductionPlanVarianceReasonArc, tblPlantArc, tblShopFloorArc.

Warum diese Form

Sie haben darum gebeten, dass jeder es über eine JSON-Datei nutzen kann, ohne dass jemand Datenbank-Anmeldedaten eingeben muss. Daher ist das Design:

  • Ein Server, von Ihnen gehostet, der die DB-Anmeldedaten in seinen eigenen Umgebungsvariablen hält (.env, niemals eingecheckt, niemals an Clients gesendet).

  • Alle anderen legen einfach mcp-config.json in ihren MCP-Client (Claude Desktop, Claude Code usw.) — sie enthält nur eine URL, nichts Geheimes. Nur der Server kommuniziert mit SQL Server.

  • Alle Abfragen sind feste, parametrisierte SELECTs, die in src/queries.js definiert sind — es gibt kein freiformuliertes SQL-Tool, sodass niemand, der diesen MCP-Server nutzt, außerhalb der Daten des Dashboards abfragen oder Schreibvorgänge ausführen kann.

Related MCP server: mcp-server

⚠️ Vor der Bereitstellung: DB-Berechtigungen bestätigen

Beim Erstellen habe ich das Schema (Tabellen/Spalten) über Ihre mssql-test-server-Verbindung verifiziert, aber jede tatsächliche SELECT-Abfrage auf Zeilenebene gegen tblProductionPlanVarianceIssueArc / tblPlantArc usw. schlug fehl — die Schema-Introspektion funktionierte, Datenabfragen nicht. Das ist mit ziemlicher Sicherheit eine Berechtigungslücke bei diesem spezifischen SQL-Login (mcp_user), kein Problem mit diesen Abfragen. Vor dem Livegang:

  1. Erstellen (oder wiederverwenden) Sie einen SQL-Server-Login mit ausschließlich SELECT-Rechten auf den oben aufgeführten DWH-Tabellen.

  2. Testen Sie manuell, z. B.:

    SELECT TOP 5 * FROM dbo.tblProductionPlanVarianceIssueArc;
  3. Erst dann setzen Sie DB_USER/DB_PASSWORD in .env auf diesen Login.

Bereitstellung

Option A — Ihr eigener Server (nginx/Caddy davor)

npm install
cp .env.example .env    # fill in DB_SERVER / DB_USER / DB_PASSWORD
npm start                # listens on :3300, endpoint POST /mcp

Stellen Sie ihn hinter HTTPS auf einer für Ihr Team erreichbaren Domain bereit, z. B. https://mcp.yourcompany.com/mcp.

Option B — Vercel (in diesem Repo bereits eingerichtet)

Die Dateien api/mcp.js + vercel.json wandeln denselben Server in eine Vercel-Serverless-Funktion um, die unter /mcp bereitgestellt wird.

  1. Pushen Sie diesen Ordner in ein GitHub-Repo (oder führen Sie ihn direkt aus dem Ordner aus).

  2. Installieren Sie die CLI einmalig: npm i -g vercel

  3. Melden Sie sich von innerhalb von production-variance-mcp/ bei Ihrem eigenen Vercel-Konto an und stellen Sie bereit:

    vercel login
    vercel --prod
  4. Fügen Sie im Vercel-Dashboard → Ihr Projekt → Settings → Environment Variables die Variablen DB_SERVER, DB_PORT, DB_DATABASE, DB_USER, DB_PASSWORD, DB_ENCRYPT, DB_TRUST_CERT hinzu (gleiche Werte wie in .env.example) und stellen Sie dann erneut bereit, damit die Funktion sie übernimmt.

  5. Ihr MCP-Endpunkt ist jetzt https://<your-project>.vercel.app/mcp. Fügen Sie diese URL in mcp-config.json ein und geben Sie sie weiter.

Hinweis: SQL Server muss aus dem Vercel-Netzwerk erreichbar sein (d. h. nicht nur auf Ihre Büro-IP gefirewallt) — klären Sie mit dem Verantwortlichen für 203.202.241.211, ob die Verbindung nach der Bereitstellung ein Timeout hat. Fügen Sie außerdem eine Form der Authentifizierung vor /mcp hinzu (siehe Hinweis unten), bevor diese URL öffentlich wird — derzeit kann jeder mit dem Link diese schreibgeschützten Tools aufrufen.

Verteilung

Bearbeiten Sie mcp-config.json, ersetzen Sie YOUR-HOSTED-DOMAIN durch Ihre echte Domain, und teilen Sie dann diese eine Datei. Jeder fügt sie seinem MCP-Client hinzu und hat sofort schreibgeschützten Chat-Zugriff auf die Daten dieses Dashboards — keine Installation, keine Anmeldedaten, keine SQL-Kenntnisse erforderlich.

Hinweise / Dinge, die Sie bei sich prüfen sollten

  • Die Spalte „Machine“ des Dashboards (z. B. „Aromatic Unit Line - 01“) wurde im Schema, das ich abgerufen habe, nicht auf tblProductionPlanVarianceIssueArc gefunden — sie wird in Ihrer Umgebung wahrscheinlich über eine Produktionslinien-/Arbeitsplatz-Tabelle aufgelöst. Die Abfrage von list_plan_variance enthält sie noch nicht; fügen Sie den entsprechenden JOIN in src/queries.js hinzu, sobald Sie die Quelltabelle bestätigt haben (Kandidaten: tblProductionLineArc, tblWorkCenterArc).

  • Die Logik „Issues Missing“ von get_variance_summary geht davon aus, dass damit „gekennzeichnete Varianz ohne bisher erfassten Grund/Status“ gemeint ist — bestätigen Sie dies gegen die tatsächliche Geschäftslogik der App und passen Sie QUERY_SUMMARY an, falls es abweicht.

  • Fügen Sie Authentifizierung (API-Key / OAuth) vor /mcp hinzu, bevor Sie es über Ihr internes Netzwerk hinaus freigeben — dieser Build hat standardmäßig keine.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides read-only SQL Server access via MCP tools and a chat interface for natural-language database queries.
    4
    ISC
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides read-only operational tools (sales summaries, orders, top customers) over a multi-tenant dataset, with tenant isolation enforced server-side so no tenant parameter appears in the tool schema.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides remote read-only access to a Data Warehouse SQL Server, enabling users to query manufacturing OEE data, SBU lists, and run ad-hoc SELECT queries.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Read-only MCP server exposing Flowsery analytics and AI-detected issues via 17 GET tools, enabling natural language queries in compatible clients.
    MIT