Skip to main content
Glama
deodatta1234

machine-maintenance-agent

by deodatta1234

Агент технического обслуживания машин: MCP-проект для собеседования

Это небольшой проект, готовый к собеседованию. Он показывает, как агент может использовать инструменты MCP для проверки данных промышленного оборудования, поиска руководств по техническому обслуживанию и создания заявки на обслуживание, когда требуется эскалация.

Пример сценария:

«Машина P-204 вибрирует с отклонением от нормы. Что мне делать?»

Агент проверяет синтетический статус оборудования, просматривает недавние аномалии датчиков, ищет по набору данных руководства по техническому обслуживанию и при желании создаёт заявку.

Почему это хороший пример MCP

MCP здесь полезен потому, что агенту не нужен прямой доступ к базе данных или файлам. Вместо этого он получает контролируемый интерфейс инструментов:

  • 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)

Это позволяет на одном небольшом проекте объяснить доступ к данным только для чтения, безопасный доступ на запись, границы инструментов и многошаговое поведение агента.

Related MCP server: Works With Agents MCP Server

Структура проекта

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

Настройка

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

Зависимость MCP зафиксирована на текущей стабильной линии Python SDK v1: mcp[cli]>=1.27,<2.

Запуск демонстрационного агента

Из этой папки:

python src/agent_demo.py

Чтобы создать заявку во время демонстрации:

python src/agent_demo.py --create-ticket

Ожидаемое поведение:

  1. Считывает статус для действующего P-204.

  2. Обнаруживает вибрацию и температуру за пределами нормального диапазона.

  3. Находит аномалию вибрации высокой серьёзности.

  4. Выполняет поиск по руководству по техническому обслуживанию для поиск руководств по вибрации насоса.

  5. Рекомендует снизить нагрузку и осмотреть зону подшипников/муфты.

  6. Создаёт заявку только при использовании --create-ticket.

Запуск MCP-сервера

python src/mcp_server.py

Это запускает MCP-сервер через stdio. MCP-клиенты могут подключаться к нему и вызивать предоставленные инструменты.

Пример формы конфигурации MCP-клиента:

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

Запус тестов

python -m unittest discover -s tests

Объяснение для собеседования

Используйте это короткое объяснение:

«Я построил MCP-сервер вокруг синтетической системы техобслуживания. Агент не может свободно запрашивать файлы или базы данных. Он получет только нескомлько инструментов: чтение статуса оборудования, чтение аномалий, поиск по руকоводству and создание заявки на техобслуживание. По жалобе на вибрацию насосa P-204 аgент провевает, живоy статus, видит вибрацию выше порога, находит недавние аномалии выской серьёзности, получает соотвествущие указания и эскалирует вост-Zaдaniem заявки. Это демонстрирует контролируемый корпоративный доступ, расуждение на основе инструментов и безопасную границу метру LLM и операционными систemами.»

Для болеу струккорирова flagbого разбора см. AGENT_FLOW.md и TOOL_CONTRACTS.md.

Какие даные использует этот проецт

  • Метаданные оборудоваdne: ID, name, Area, критичность, нормальные рабочие диапазоны.

  • Статус оборудоваdev: текущая вибрация, temperature, pressure, state, date of последнего обслуживания.

  • Аномалии датчikов: timestamp, signal, value, threshold, severity, description.

  • Руководство по техобслуживанию: симптомы, keyчовые слoва, рекомендоваandre действия, укания по безопасности.

  • Хранилище заявок: ID заявки, ID оборудоваdе, серьёзность, суммари, recommended action, status.

Как расширить его

Небольшие дальнейшие усовершенствовaning для портфолио-версии:

  • Добавить настоящего LLM-клиента, which dynamically choose инструментов.

  • Добавить SQLite вместo JSON- файлов.

  • Добавить role-based разрешения, апример, доступ на чтение для опrator и прable правieren для супервизора.

  • Добавить простуу dashboard, отображающую статус оборудвание и contactытие заявки.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to investigate production incidents by exposing service health, logs, and deployment data through MCP tools.
    3 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