Заново открывают Domain-Driven Design — по одному MCP-серверу за раз

Над материалом на Dev.to, оформленным как «Classic patterns for AI agent security», автор dennistraub проводит параллель между зрелыми приёмами DDD и тем, как сегодня проектируют границы вокруг MCP-серверов и цепочек вызовов ИИ-агентов https://dev.to/aws/rediscovering-domain-driven-design-one-mcp-server-at-a-time-1i79. Bounded context, anti-corruption layer и контроль blast radius снова выходят на первый план — уже в топологии клиентов и инструментов, а не только в лекциях про микросервисы. У страницы на Dev.to публично показаны 19 реакций и 6 комментариев.
Когда интеграция «один REST — один MCP» повторяет ошибку распределённых монолитов
Текст напоминает дискуссию про distributed monoliths: команды декомпозировали системы, но связность осталась. Тот же риск рисуется для подхода «REST API один к одному» как единственной формы интеграции для ИИ — обёртка без осмысленной границы даёт «всю цену слоя и ноль выгоды», то есть распределённый монолит, только с агентом вместо человека на другом конце провода.
Критика REST-to-MCP 1:1 wrappers читается как прямое предупреждение для тех, кто строит стеки MCP вокруг ассистентов и IDE: без модели границ растёт поверхность атаки и непрозрачность цепочки tool-вызовов.
Вывод из той же логики: если MCP — это новый «шов» между моделью и миром, к нему применимы старые вопросы сцепленности и наблюдаемости.
Как топология MCP подталкивает к bounded context для клиента агента
В разделе про bounded contexts подчёркивается модель one client per server: у каждого MCP-сервера свой клиент, клиент общается только с одним сервером. У классических микросервисов «любой сервис может дернуть любой по сети»; у MCP, по описанию в статье, нет протокольного способа дотянуться до инструментов другого сервера без явного моста.
Такой акцент полезен тем, кто настраивает агентов и расширения IDE: топология сама подсказывает, где заканчивается контекст доверия и начинается следующий остров инструментов.
- Один сервер — одна модель границы — ближе к идее ограниченного контекста, чем к «супермаркету» эндпоинтов.
- Намеренный мост между серверами остаётся архитектурным решением, а не побочным эффектом сети.
Anti-corruption layer между строками LLM и типами домена
Столкновение формата LLM (строки, простые параметры) и строгого домена (типы, инварианты) разбирается через anti-corruption layer: смысл в том, чтобы инструменты MCP и вызовы агента не протаскивали «грязный» интерфейс прямо в ядро бизнес-логики. Chris Hughes приводится со ссылкой на его материал про multi-agent (цепочка URL — в первом источнике списка ниже).
Для transfer_funds сравниваются два стиля: «всё в одной функции с декоратором @mcp.tool()» и вариант, где слой инструментов отделён от TransferService. Идея — не превращать MCP-обработчик в свалку доменных правил.
# Схема мысли из текста, не дословная копия: инструмент тонкий, сервис толстый.
@mcp.tool()
def transfer_funds(...):
return transfer_service.execute(...) # домен — за пределами декоратора
Reddit, Radar и «налог абстракции» в цепочке skills
Автор ссылается на тред r/devops про безопасность MCP (отдельный URL ниже) и пишет, что на момент подготовки его текста у треда было 76 upvotes и 39 комментариев. Из пересказа советов выносятся тезисы про blast radius, раздельные security surfaces и правило не смешивать на одном сервере, скажем, list_files и execute_shell.
Thoughtworks Technology Radar фигурирует с пометкой Caution для техники «MCP by default» (страница радара — в списке источников). Рядом разворачивается мысль про «abstraction tax» и цитата Simon Willison (ссылка на его заметку про MCP и CLI/skills — там же): «дороговизна» слоя оправдана, если ACL реально отсекает хаос промптов и произвольных tool-цепочек у ИИ-помощников.
Цитата соавтора MCP и возврат к канону Эрика Эванса
Звучит резкая формулировка David Soria Parra (соавтор MCP) — в духе «it’s a bit cringe, it just results in horrible things» — в контексте AI Engineer World's Fair 2025; на отдельную страницу ведёт ссылка из основной статьи.
Заключение опирается на книгу Eric Evans и ресурс DomainLanguage как на канон терминов для сложных систем: словарь bounded context и ACL уже существует — его стоит использовать осознанно при проектировании MCP-серверов и поведения агентов, вместо того чтобы каждый раз изобретать те же границы заново.
Источники
- Основной материал: Dev.to — дата доступа (UTC):
2026-05-18T22:00:00Z. - Обсуждение r/devops (ссылка из основного материала): https://www.reddit.com/r/devops/comments/1tc01ui/mcp_servers_just_showed_up_in_our_infrastructure/
- Thoughtworks Radar, техника «MCP by default»: https://www.thoughtworks.com/radar/techniques/mcp-by-default
- Chris Hughes (цитируется через основной материал): https://chris-hughes10.github.io/posts/multi-agent-part1/
- Simon Willison (цитируется через основной материал): https://simonwillison.net/2025/Oct/16/claude-skills/
- Eric Evans / DDD (ссылка из основного материала): https://www.domainlanguage.com/ddd/
- David Soria Parra — внешняя страница из ссылки в основном материале: https://experimentalworks.net/about/
Метрики карточки Dev.to для этого URL: 19 суммарных реакций и 6 комментариев — по машиночитаемым полям карточки публикации (снимок API), без отдельного парсинга HTML. Опубликовано: 2026-05-18T13:17:09Z. Время чтения на карточке: 6 минут.