Skip to main content
Glama
machine-maintenance-agent

machine-maintenance-agent

by deodatta1234

Machine Maintenance Agent: MCP Interview Project

Dies ist ein kleines, interviewtaugliches Projekt, das zeigt, wie ein Agent MCP-Tools nutzen kann, um industrielle Maschinendaten zu prüfen, Wartungshinweise zu suchen und bei Bedarf ein Wartungsticket zu erstellen.

Das Beispiel-Szenario:

„Maschine P-204 vibriert ungewöhnlich. Was soll ich tun?“

Der Agent prüft den synthetischen Maschinenstatus, wertet aktuelle Sensoranomalien aus, durchsucht einen Datensatz aus dem Wartungshandbuch und erstellt optional ein Ticket.

Warum dies ein gutes MCP-Beispiel ist

MCP ist hier nützlich, weil der Agent keinen direkten Datenbank- oder Dateizugriff benötigt. Stattdessen erhält er eine kontrollierte Tool-Schnittstelle:

  • get_machine_status_tool(machine_id)

  • get_recent_sensor_anomalies_tool(machine_id, hours)

  • search_maintenance_manual_tool(query, limit)

  • create_maintenance_ticket_tool(machine_id, severity, summary, recommended_action)

  • list_open_tickets_tool(machine_id)

Damit lassen sich Lesezugriff auf Daten, sicherer Schreibzugriff, Tool-Grenzen und mehrstufiges Agentenverhalten in einem einzigen kleinen Projekt anschaulich erklären.

Related MCP server: Nibble

Projektstruktur

machine-maintenance-agent/
  data/
    machines.json              # Machine metadata and normal operating ranges
    machine_status.json        # Current synthetic sensor readings
    anomalies.json             # Recent detected anomalies
    maintenance_manual.json    # Small troubleshooting knowledge base
    tickets.json               # Simple local ticket store
  src/
    maintenance_tools.py       # Core tool logic
    mcp_server.py              # MCP server exposing tools
    agent_demo.py              # Transparent agent flow demo
  tests/
    test_maintenance_tools.py
  AGENT_FLOW.md
  TOOL_CONTRACTS.md
  requirements.txt
  README.md

Einrichtung

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Die MCP-Abhängigkeit ist auf die aktuelle stabile Python-SDK-v1-Linie festgelegt: mcp[cli]>=1.27,<2.

Demo-Agent ausführen

Führen Sie Folgendes in diesem Ordner aus:

python src/agent_demo.py

Um während der Demo ein Ticket zu erstellen:

python src/agent_demo.py --create-ticket

Erwartetes Verhalten:

  1. Liest den Status für P-204.

  2. Stellt fest, dass Vibration und Temperatur außerhalb des normalen Bereichs liegen.

  3. Erkennt eine Vibrationsanomalie mit hohem Schweregrad.

  4. Durchsucht das Wartungshandbuch nach Hinweisen zu Pumpen-Vibrationen.

  5. Empfiehlt, die Last zu reduzieren und den Lager-/Kupplungsbereich zu prüfen.

  6. Erstellt nur dann ein Ticket, wenn --create-ticket verwendet wird.

MCP-Server ausführen

python src/mcp_server.py

Dies startet einen stdio-MCP-Server. MCP-Clients können sich damit verbinden und die bereitgestellten Tools aufrufen.

Beispiel für die Struktur einer MCP-Client-Konfiguration:

{
  "mcpServers": {
    "machine-maintenance-agent": {
      "command": "python",
      "args": ["src/mcp_server.py"],
      "cwd": "/absolute/path/to/machine-maintenance-agent"
    }
  }
}

Tests ausführen

python -m unittest discover -s tests

Erklärung für das Interview

Verwenden Sie diese kurze Erklärung:

„Ich habe einen MCP-Server um ein synthetisches Wartungssystem herum gebaut. Der Agent kann nicht frei auf Dateien oder Datenbanken zugreifen. Er bekommt nur wenige Werkzeuge: Maschinenstatus lesen, Anomalien lesen, das Handbuch durchsuchen und ein Wartungsticket anlegen. Bei einer Vibrationsbeschwerde an der Pumpe P-204 überprüft der Agent den Live-Status, erkennt, dass die Vibration über dem Schwellwert liegt, findet aktuelle Anomalien mit hohem Schweregrad, ruft relevante Wartungshinweise aus dem Handbuch ab und eskalert, indem er ein Ticket erstellt. Das zeigt kontrollierten Unternehmenszugriff, toolgestütztes Denken und eine sichere Grenze zwischen dem LLM und den operativen Systemen.“

Für eine strukturiertere Schritt-für-Schritt-Erläuterung siehe AGENT_FLOW.md und TOOL_CONTRACTS.md.

Welche Daten dieses Projekt verwendet

  • Maschinen-Metadaten: ID, Name, Bereich, Kritikalität, normale Betriebsbereiche.

  • Maschinenstatus: aktuelle Vibration, Temperatur, Druck, Zustand, letztes Servicedatum.

  • Sensoranomalien: Zeitstempel, Signal, Wert, Schwellwert, Schweregrad, Beschreibung.

  • Wartungshandbuch: Symptome, Schlüsselwörter, empfohlene Maßnahmen, Sicherheitshinweise.

  • Ticket-Speicher: Ticket-ID, Maschinen-ID, Schweregrad, Zusammenfassung, empfohlene Maßnahme, Status.

So lässt es sich erweitern

Kleine Folgeverbesserungen für eine Portfolio-Version:

  • Einen echten LLM-Client hinzufügen, der die Werkzeuge dynamisch auswählt.

  • SQLite anstelle von JSON-Dateien verwenden.

  • Rollenbasierte Berechtigungen hinzufügen, z. B. nur Lesezugriff für Bediener und Ticket-Schreibzugriff für Vorgesetzte.

  • Einfaches Dashboard hinzufügen, das den Maschinenstatus und offene Tickets anzeigt.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to investigate production incidents by exposing service health, logs, and deployment data through MCP tools.
    6 npm
    ISC
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to monitor server health and capacity, diagnose outages, inspect Docker and deployment status, and perform safe, bounded recovery actions via MCP without granting unrestricted shell or SSH access.
    10
    1
    Apache 2.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables SafeOps operators to monitor worker health, inspect job queues, investigate incidents, search runbooks, and approve or reject targeted failed-job retries through MCP tools, resources, and a prompt.
    -