Skip to main content
Glama
pavansunkara958

Helios Field Service

Helios Field Service — продакшн-MCP-сервер и клиент

Модуль 4. Лабораторная работа — Model Context Protocol

Превращает системы запчастей, складского учёта и RMA Helios Robotics в MCP-возможность, к которой может подключиться любой MCP-совместимый клиент. Создано с помощью FastMCP 3.x в соответствии со спецификацией MCP.

Требование

Реализация

≥3 инструментов

4search_parts, get_inventory, analyse_failure, create_rma

≥2 ресурсов

3helios://catalog/summary + два URI-шаблона

≥1 промпт

diagnose_fault(fault_code, sku, site)

Клиент обнаруживает и вызывает каждый

client.py — перечисляет все три, вызывает все три

Транспорт + обоснование

stdio (по умолчанию), HTTP поддерживается — обоснование

Безопасность на стороне клиента

Оба — запрос подтверждения (elicitation) при записи, корни (roots) на клиенте

Краткое описание безопасности

docs/security.md

Обработка ошибок

Некорректный ввод, неизвестная запись, и недоступное базовое хранилище

Документация: архитектура + транспорт · инструменты/ресурсы/промпты · безопасность · логи: logs/

Быстрый старт

python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python seed_data.py
python client.py            # spawns the server over stdio and runs the full demo

Никакого API-ключа, никакой модели, никаких затрат — MCP — это протокол, и клиент вызывает сервер напрямую.

Другие запуски

AUTO_APPROVE=1 python client.py           # non-interactive (CI, log capture)
SIMULATE_DB_OUTAGE=1 python client.py     # backing data source unreachable
MCP_TRANSPORT=http python server.py       # serve on 127.0.0.1:8000
MCP_TRANSPORT=http python client.py       # ...and connect to it

Используйте его из любого MCP-хоста

{
  "mcpServers": {
    "helios-field-service": {
      "command": "python",
      "args": ["/absolute/path/to/helios-mcp/server.py"]
    }
  }
}

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

Related MCP server: semantic-runtime

Что показывает демонстрация

logs/demo.log — полный цикл обнаружения и вызова:

1. DISCOVERY — tools
  • search_parts       [read-only]  Search the Helios spare parts catalogue...
  • get_inventory      [read-only]  Stock level and lead time for a part...
  • analyse_failure    [read-only]  Correlate a fault code with known issues...
  • create_rma         [WRITE]      Raise a Return Material Authorisation.

1. DISCOVERY — resources
  • helios://catalog/summary         Catalogue summary
  • helios://parts/{part_number}     Catalogue entry  (template)
  • helios://kb/{doc_id}             Knowledge base article  (template)

1. DISCOVERY — prompts
  • diagnose_fault(fault_code, sku, site)

Запись, требующая подтверждения (elicitation):

  ┌─ SERVER REQUESTS CONFIRMATION ──────────────────────────────────
  │ Raise an RMA for 1 x HX2-BMS-03 (HX-200 Battery Management Board rev C)?
  │ Serial: HX200-PHX-0442
  │ Total value: $1,240.00
  └─────────────────────────────────────────────────────────────────
{"created": true, "rma_id": "RMA-00001", "value_usd": 1240.0,
 "requested_by": "mahesh.s"}

logs/demo-db-outage.log — базовое хранилище недоступно. Что видит клиент:

TOOL UNAVAILABLE — Failure analysis is temporarily unavailable.
                   Quote reference dddc45d0fc07 to support if this persists.

Что сервер записал в stderr (logs/server-errors.log):

ERROR [helios-mcp] [dddc45d0fc07] Failure analysis failed:
OperationalError: could not connect to helios-db-prod-01.internal:5432: timeout

Имя хоста и порт никогда не пересекают границу протокола. Корреляционный идентификатор (correlation id) — мост между ними.

Заметки по проектированию

Ресурсы и инструменты не взаимозаменяемы. search_parts находит деталь, когда вы не знаете её id; helios://parts/{pn} получает ту, что у вас уже есть. Те же данные — другой способ доступа.

Промпт намеренно живёт на сервере. Диагностическая процедура — это знание предметной области Helios, а не логика хоста. Каждый подключающийся клиент получает одни и те же правила — сначала исключать неисправность прошивки, прежде чем признавать аппаратное обеспечение неисправным, никогда не предлагать заменённую деталь, — вместо того чтобы каждый реализовывал их заново и расходился в трактовке.

Все логи пишутся в stderr. При работе через stdio stdout несёт JSON-RPC-кадры. Случайный print() повреждает поток протокола; в сервере таких нет.

Клиент управляет окружением сервера. Запущенный stdio-сервер не наследует окружение родительского процесса автоматически, поэтому PythonStdioTransport(env=...) передаёт явный список разрешений (allow-list), а не отдаёт всю оболочку вызывающего процесса целиком.

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

server.py            MCP server: 4 tools, 3 resources, 1 prompt
client.py            MCP client: discovery, invocation, elicitation, roots
seed_data.py         Creates data/helios.db
docs/
  architecture.md    Diagrams + transport justification
  capabilities.md    Every tool, resource and prompt documented
  security.md        Auth, least privilege, error redaction
logs/
  demo.log                 Successful discovery-and-invocation flow
  demo-db-outage.log       Backing store unreachable, client view
  server-errors.log        Server-side detail with correlation ids
F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables MCP clients to serve and query semantic models, providing tools for entity descriptions, metric lookups, context resolution, and operation validation for AI agents.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    This MCP server exposes industrial maintenance and work-order intelligence tools, allowing users to search assets, retrieve and correlate alarm events, and query CMMS work orders through a standardized protocol.

View all related MCP servers

Related MCP Connectors

  • Workflow diagnostics, capability routing, and x402 settlement for MCP-compatible agents.

  • Manage products, EU Digital Product Passports, operator parties, and GS1 EPCIS supply-chain events.

  • MCP server for AI access to Swagger by SmartBear.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pavansunkara958/helios-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server