Skip to main content
Glama
Running-hue

ProcureFlow MCP Server

by Running-hue

ProcureFlow Agent

Многоагентная система интеллектуальных закупок на основе DeepAgents / LangGraph, объединяющая анализ закупок, исполнение заказов, сервисы данных ERP, инструменты MCP, долговременную память и песочницу в единую проверяемую бизнес-цепочку.

Python LangGraph FastAPI MCP Vue

Ключевые особенности проекта

  • Многоагентное взаимодействие: Главный агент отвечает за распознавание намерений и маршрутизацию задач, procurement-analyst — за анализ закупок, procurement-order — за запросы и операции записи по заказам; Prompt, инструменты, Skills и промежуточное ПО деконфигурированы через YAML/модульную конфигурацию.

  • Стандартизированные бизнес-инструменты: Через MCP инкапсулированы возможности поставщиков, компонентов, складских запасов и заказов на закупку — всего 8 инструментов, поддерживающих сравнение цен, предупреждения об остатках, детальный запрос заказов, рекомендации по закупкам и генерацию визуальных отчётов.

  • Human-in-the-Loop: Перед созданием или изменением заказа агент автоматически анализирует материалы, поставщиков и системные цены, структурированно дополняет недостающие поля и требует ручного утверждения перед финальной записью.

  • Управление контекстом длинных цепочек: MongoDB Checkpoint сохраняет состояние сессии, долговременная память изолирована по пользователям; в сочетании с суммаризацией контекста, выгрузкой результатов инструментов и прогрессивной загрузкой Skills контролируются накладные расходы на контекст.

  • Изолированное выполнение и восстановление: OpenSandbox отвечает за выполнение файлов и кода, поддерживает проверку работоспособности, продление жизненного цикла, пересоздание при сбоях и восстановление Skills.

  • Миграция ERP на Python: Слой ERP, ранее написанный на Spring Boot, переписан с использованием FastAPI + SQLAlchemy с сохранением совместимости 54 путей REST-интерфейсов, 8 инструментов MCP и исходного протокола ответов.

Related MCP server: dingjie-erp-mcp

Системная архитектура

flowchart LR
    UI[Vue 3 对话前端] --> CHAT[FastAPI Chat API]
    CHAT --> MAIN[主 Agent\n意图识别 / 路由]
    MAIN --> ANALYST[采购分析 Agent]
    MAIN --> ORDER[采购订单 Agent]
    ANALYST --> MCP[MCP 工具层\n8 tools]
    ORDER --> HITL[字段补充 / 人工审批]
    HITL --> MCP
    MCP --> ERP[FastAPI ERP\n54 REST APIs]
    ERP --> MYSQL[(MySQL)]
    MAIN --> MONGO[(MongoDB\nCheckpoint / Store)]
    ANALYST --> SANDBOX[OpenSandbox\nSkills / 文件 / 代码]
    ORDER --> SANDBOX

Демонстрация интерфейса

Многоагентная рабочая станция интеллектуальных закупок

Единое отображение истории сессий, потоковых ответов, вызовов инструментов и бизнес-возможностей агентов.

ProcureFlow Agent 工作台

Анализ складских запасов и визуальный отчёт

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

库存分析与可视化报告

Проверка заказа и ручное утверждение

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

订单校验与人工审批

Основные процессы

Анализ закупок

用户需求 → 主 Agent 路由 → 采购分析 Agent
        → MCP 查询 ERP 数据 → 按需加载分析 Skill
        → 沙箱生成报告/图表 → 主 Agent 汇总结论与建议

Заказ на закупку

用户下单/改单 → 主 Agent 路由 → 采购订单 Agent
        → 查询物料、供应商和系统单价
        → 校验 Schema → 结构化补充缺失字段
        → Human-in-the-Loop 最终审批 → MCP 写入 ERP

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

procureflow-agent/
├─ src/
│  ├─ agent/          # 主 Agent、子 Agent、中间件、记忆、HITL 与沙箱后端
│  ├─ skills/         # 主 Agent、采购分析与订单扩展 Skills
│  ├─ mcp_server/     # 8 个 ERP MCP 工具
│  ├─ erp_api/        # FastAPI + SQLAlchemy ERP 服务
│  └─ api_view/       # 对话、历史记录与流式事件 API
├─ frontend/          # Vue 3 对话前端
├─ tests/             # ERP 流程、54 接口与 8 MCP 工具契约测试
├─ migrations/        # Alembic 基线迁移
├─ database/          # 已匿名化的本地演示数据
├─ demo_data/         # 采购网页抓取的最小可复现报价页面
├─ docs/              # 架构迁移与等价性说明
└─ start_web.py       # ERP、MCP、Agent API、前端统一启动器

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

1. Создание окружения

Рекомендуется использовать Conda для одновременного управления Python 3.11 и Node.js 22:

git clone https://github.com/Running-hue/procureflow-agent.git
cd procureflow-agent
conda env create -f environment.yml
conda activate procureflow-agent
Copy-Item .env.example .env

В файле .env настройте MySQL, MongoDB, сервис моделей и OpenSandbox. Репозиторий не содержит реальных ключей.

2. Инициализация базы данных

Создание пустых таблиц:

alembic upgrade head

Или импорт примерных данных:

python scripts\import_original_sql.py --yes-recreate

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

3. Запуск дополнительной демонстрационной страницы котировок

Три страницы котировок из Skill анализа закупок уже включены в репозиторий. При работе OpenSandbox в Docker доступ возможен через host.docker.internal:

python -m http.server 5173 --directory demo_data\quote_pages

4. Запуск полного сервиса

python start_web.py

Сервис

Адрес

Vue 前端

http://127.0.0.1:3000

ERP OpenAPI

http://127.0.0.1:8080/docs

Agent OpenAPI

http://127.0.0.1:8090/docs

MCP

http://127.0.0.1:8000/mcp

Верификация

python -m pytest -q
ruff check src\erp_api src\mcp_server tests start_web.py scripts
cd frontend
npm ci
npm run build

Текущая автоматизированная верификация покрывает:

  • Контракты путей 54 REST-интерфейсов ERP;

  • Контракты регистрации 8 инструментов MCP;

  • Процессы поставщиков, компонентов, складских запасов, транзакций и деталей заказов;

  • Логику восстановления при сбоях OpenSandbox;

  • Продакшен-сборку Vue 3.

Реальный сквозной диалог с моделями, MongoDB, MySQL и OpenSandbox требует локальных сервисов и личных ключей; данный репозиторий не имитирует результаты внешней интеграции.

Безопасность

  • .env, локальные каталоги ключей, журналы, кэш, сгенерированные файлы и артефакты фронтенд-сборки игнорируются Git.

  • Операции записи заказов на закупку выполняются только субагентом заказов и требуют ручного утверждения перед фактическим вызовом MCP-инструмента записи.

  • Непроверенные Skills выполняются в OpenSandbox; память пользователей изолированно сохраняется по user_id.

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

Область миграции и эквивалентность интерфейсов описаны в отчёте о миграции, границы безопасности — в SECURITY.md.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Exposes 48 SAP Ariba APIs as Claude-compatible tools for managing procurement, sourcing, supplier management, and supply chain data. It enables AI agents to interact with contracts, catalogs, and business network transactions through natural language.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to query and operate Dingjie ERP system via natural language, covering procurement, sales, and material management.
    2
    -
  • F
    license
    A
    quality
    B
    maintenance
    Wraps a procurement REST API into MCP tools, enabling AI assistants to query purchase orders via natural language.
    2
    -