В постоянно меняющемся ландшафте разработки программного обеспечения разработчики стремятся к инструментам, которые не только оптимизируют их рабочие процессы, но и расширяют их возможности. В этой динамичной среде Amazon Web Services (AWS) представила значительное улучшение для своего инструмента Amazon Q Developer: поддержку Model Context Protocol (MCP) в интерфейсе командной строки (CLI). Эта интеграция позволяет разработчикам подключать внешние источники данных к Amazon Q Developer CLI, обеспечивая более контекстно-зависимые и интеллектуальные ответы. Благодаря бесшовной интеграции инструментов и запросов MCP в Q Developer CLI разработчики получают доступ к обширной экосистеме предварительно созданных интеграций и MCP-серверов, поддерживающих stdio
. Этот обогащенный контекст позволяет Q Developer генерировать более точный код, понимать сложные структуры данных, создавать релевантные модульные тесты, создавать исчерпывающую документацию по базам данных и выполнять точные запросы, и все это без необходимости разработки пользовательского кода интеграции. Расширяя Q Developer с помощью инструментов и запросов MCP, разработчики могут ускорить задачи разработки и значительно улучшить общее впечатление от разработки. AWS привержена поддержке протоколов с открытым исходным кодом для агентов, таких как Model Context Protocol (MCP), продвигаемый Anthropic. Эта приверженность отражается в постоянном расширении функциональности плагинов Amazon Q Developer IDE.
Введение в Model Context Protocol (MCP)
В постоянно развивающейся области разработки программного обеспечения инструменты и технологии, которые оптимизируют рабочие процессы и открывают новые возможности, пользуются большим спросом. Недавнее добавление поддержки Model Context Protocol (MCP) в интерфейсе командной строки Amazon Q Developer (CLI) - это разработка, которая подает огромные надежды. MCP - это открытый протокол, который стандартизирует то, как приложения легко интегрируются с большими языковыми моделями (LLM), обеспечивая общую основу для обмена контекстом, доступа к различным источникам данных и обеспечения мощной функциональности на основе искусственного интеллекта. MCP служит мостом между приложениями и LLM, позволяя им эффективно общаться и сотрудничать. Он позволяет приложениям предоставлять LLM контекст, необходимый для точного и эффективного выполнения задач, а также позволяет LLM получать доступ и использовать данные из различных источников.
MCP основывается на существующих возможностях Q Developer, который уже обладает возможностью использовать инструменты. Ранее Q Developer предлагал такие функции, как выполнение команд CLI и описание ресурсов AWS. Благодаря интеграции инструментов и запросов MCP, Q Developer CLI получает возможность включать дополнительные инструменты, что еще больше расширяет его возможности. Например, в то время как Q Developer ранее мог описывать ресурсы AWS, возможность описывать схемы баз данных и форматы сообщений необходима для создания комплексных приложений. Настроив MCP, разработчики могут предоставить этот дополнительный контекст Q Developer, позволяя ему выполнять задачи более эффективно.
В следующих разделах мы рассмотрим, как настроить MCP-сервер для предоставления Q Developer схемы базы данных для простой системы управления обучением (LMS), которая в настоящее время находится в разработке. Хотя Q Developer отлично справляется с написанием SQL-запросов, ему не хватает собственных знаний о схеме базы данных. Структура таблиц и отношения хранятся в самой базе данных и не доступны напрямую в исходном коде проекта. Чтобы устранить это ограничение, мы будем использовать MCP-сервер, способный запрашивать схему базы данных. В частности, мы будем использовать официальную эталонную реализацию PostgreSQL для подключения к экземпляру Amazon Relational Database Service (RDS).
Ландшафт до Model Context Protocol
До появления поддержки MCP, Q Developer CLI предоставлял ограниченный набор собственных инструментов, включая возможность выполнения команд bash, взаимодействия с файлами и файловой системой, а также выполнения вызовов к сервисам AWS. Однако, когда дело доходило до запроса баз данных, возможности CLI были ограничены.
Например, перед настройкой MCP-сервера в Q Developer был сделан запрос “Напишите запрос, который перечисляет студентов и количество кредитов, которые берет каждый студент”. В этом сценарии Q Developer мог предоставить только общий SQL-запрос, поскольку у него не было конкретных знаний о схеме базы данных для LMS.