Skip to main content
Glama

asset-health-mcp

ИИ-агент, который решает, отправлять ли полевого техника, — и отказывается действовать на основе данных, которым нельзя доверять.

Агент Agentforce, работающий на основе Salesforce Data Cloud, вызывает собственный MCP-сервер для проверки качества данных (Great Expectations) и скоринга аномалий (Databricks), с защищённой обратной записью в Handler. Apex создаёт WorkOrder.

🎥 2-минутное демо-видео — посмотрите, как агент проверяет данные, оценивает риски, создаёт рабочее поручение и затем отказывается от повреждённой партии.

Зачем это существует

Большинство агентных демо позволяют LLM действовать на основе любых данных, которые она получила. В полевом сервисе действие на основе искажённого показания счётчика означает отправку техникника впустую — или, что хуже, пропуск отказавшего актива. Этот проект ставит шлюз доверия к данным перед каждым решением агента:

readings ──▶ Ingestion API ──▶ Data Cloud (zero-copy grounding)
                                     │
                                     ▼
                          Agentforce agent
                          │ 1. check_reading_quality   MCP / Great Expectations
                          │ 2. score_asset_anomaly     MCP / Databricks
                          │ 3. create work order       Apex (guarded write-back)
                                     │
                                     ▼
                            Salesforce WorkOrder

Related MCP server: qc-validator-mcp

Проектные решения

  • Два выверенных инструмента MCP, а не выгрузка данных.- Агент получает суждение (доверие; серьёзность), а сырая история приходит к нему отдельно через бескопиковое grounding в Data Cloud. Это с большим запасом укладывается в лимит инеструментарияAgentforce.

  • Защита живёт на стороне сервера. Apex-действие отклоняет недоверие данные и запросы обычной серьёзности, даже если об этом просит агент — инструкции агенту не являются границей безопасности (OWASP OWASP LLM).

  • Идемпотентная обратная запись. Агенты повторяют попытки; повторные вызовы полевых группты. На каждый актив — одно открытое обращение WorkOrder, контроль в APEX.

  • Работает без каких-либо учётных данных. Детерминированный мок Databricks и эфемерныйкий контекст Great Expectations ave гарантируют, что pytest даёт зелёный результат на свеси клоне без внешних сервисов.

Стек

Python 3.11 · FastMCP (mcp 1.x) · Great Expectations 1.18 · Databricks (Unity Catalog) · Salesforce Data Cloud (Ingestion API, DMO grounding) · Agentforce · Apex

Структура репозитория

src/asset_health_mcp/    FastMCP server: tools, GX validation, Databricks client
pipeline/                Ingestion API pipeline → Meter Reading DMO (fallback path)
force-app/               Apex write-back action + tests
databricks/              PySpark scoring job → Unity Catalog Delta table with
                         UniForm (Iceberg) — zero-copy File Federation ready
snowflake/               readings warehouse DDL + least-privilege key-pair
                         integration user for Query Federation
datacloud/               ZERO_COPY.md — federation-mode decisions and setup
docs/                    AGENT_BUILD.md (Agentforce wiring), demo script
tests/                   smoke suite, green with zero external services

Zero-copy дизайн в одной строке: данные остаются в Snowflake (Query Federation, JDBC-попадания в изолированный XS-склад), скол-аномалий — в Databricks (File Federation через Uni Format/Iceberg, zero external compute) — режим выбирается для каждой таблицы по цене, не по умолча닝. Подробности: datacloud/ZERO_COPY.md.

Запуск

pip install -e ".[dev]" && pytest          # zero-credential smoke suite
python -m asset_health_mcp.server          # stdio, for Claude Desktop
MCP_TRANSPORT=streamable-http \
  python -m asset_health_mcp.server        # HTTP, for Agentforce registry
sf project deploy start                    # Apex action + tests

Полный поэтапный рунбук по сборке: docs/SETUP.md - с учётом ограничений пробной лицензии · подключение агента: docs /AGENT_BUILD.md - whatworks on во каком выпуске и что документировано, а не продemonстрировано: docs/ENVIRONMENTS.md.

Известные ограничения

Авторизация демо-уровня (PAT, а не OAuth-сервисный принципал), зазаранее рассчитанные скоры, а не модель бслуживания в реальном времени, data-org. Ограничения перечислены намеренно — смысл проекта в архитектуре, а не производственный закалке.


Автор: Yamyle — старший Salesforce-архитектор, инженер данных и AI. 20+ сертификаций Salesforce · фреймворки интеграций для коммунальных предприятий и финансовых услуг.

Related MCP Connectors

Related MCP Servers