
Инженеры реализовали MCP‑сервер на Go, подключённый к AWS AppSync, чтобы позволить LLM‑клиентам возвращать структурированные результаты по базе из более чем одного миллиона профилей компаний при сохранении границ доступа и аудита.
Инженеры подключили LLM‑клиент к коммерческой базе данных с более чем одним миллионом профилей компаний через реализацию MCP‑сервера на AWS, чтобы модель могла выдавать структурированные наборы результатов напрямую и заменить ручной поиск и экспорт через портал. Это важно, потому что подход позволяет пользователям формулировать запросы типа «найди SaaS‑компании в Германии с 50 — 200 сотрудниками» в разговорном интерфейсе без утраты контроля над доступом к реальным бизнес‑данным.
Технически решение опирается на существующий GraphQL‑интерфейс через AWS AppSync и новый MCP‑сервер, написанный на Go. В стеке использовали mcp‑go как GraphQL‑клиент для AppSync и реализовали слой «инструментов» для поиска, помощи при поиске с AI и операций с коллекциями. Вместо того чтобы переносить бизнес‑логику в LLM, MCP переводит пользовательские запросы в набор узконаправленных инструментов, а AppSync сохранил роль системы учёта данных (system of record).
Проектирование учитывало масштаб: работа с более чем миллионом профилей потребовала предсказуемой обработки запросов, чётких контрактов между инструментами и полной аудируемости операций. Авторы подчёркивают, что MCP‑слой должен быть «первоклассным» интерфейсом с собственными контрактами и предпосылками безопасности, а не лёгкой обёрткой над существующим API, иначе система трудно валидируется и склонна к неправильному использованию. С практической стороны команда ввела ясное разделение операций чтения и записи на уровне инструментов и принцип «по умолчанию запрещать» для мутаций, чтобы снизить риск нежелательных изменений данных. Тестирование и эксплуатационные требования привели к созданию операционных средств наблюдения и отката, позволяющих безопаснее переводить интеграции из эксперимента в продакшен.
Опыт тестирования показал ключевые опасности работы только с моками: unit‑тест create_collection успешно проходил в изолированных условиях, но падал против реального бэкенда из‑за null‑pointer ошибки в Lambda. По этой причине валидацию внедрения дополнили MCP Inspector — инструментом, который выступает пропускным контролем при выпуске и проверяет интеграцию с реальными сервисами, а не только с эмуляциями. Практические находки из разработки включали необходимость захвата реальных GraphQL‑переменных, отправляемых каждым инструментом, что выявило ошибки нормализации (например, некорректное разрешение кода страны) и отсутствие лимитирования запросов до обращения в AppSync. Итоговый совет для команд: делать контракты инструментов строгими, тестировать против реальной инфраструктуры, держать границы инструментов узкими, явно разделять чтение и запись и автоматизировать интеграционные проверки, чтобы безопасно масштабировать MCP‑интеграции.
Источники
Ответы (0)
Пока нет ответов в этой теме.