Rozszerzanie Amazon Q przez MCP

Wprowadzenie do Model Context Protocol (MCP)

W stale ewoluującej dziedzinie tworzenia oprogramowania narzędzia i technologie, które usprawniają przepływ pracy i odblokowują nowe możliwości, są bardzo pożądane. Niedawne dodanie obsługi Model Context Protocol (MCP) w interfejsie wiersza poleceń (CLI) Amazon Q Developer to rozwój, który niesie ze sobą ogromną obietnicę. MCP to otwarty protokół, który standaryzuje sposób, w jaki aplikacje bezproblemowo integrują się z dużymi modelami językowymi (LLM), zapewniając wspólne ramy do udostępniania kontekstu, uzyskiwania dostępu do różnorodnych źródeł danych i umożliwiania potężnej funkcjonalności opartej na sztucznej inteligencji. MCP służy jako pomost między aplikacjami a LLM, umożliwiając im efektywną komunikację i współpracę. Umożliwia aplikacjom dostarczanie LLM kontekstu potrzebnego do dokładnego i wydajnego wykonywania zadań, a także umożliwia LLM dostęp i wykorzystanie danych z różnych źródeł.

MCP bazuje na istniejących możliwościach Q Developer, który już posiada możliwość korzystania z narzędzi. Wcześniej Q Developer oferował funkcje takie jak uruchamianie poleceń CLI i opisywanie zasobów AWS. Dzięki integracji narzędzi i monitów MCP, Q Developer CLI zyskuje możliwość włączenia dodatkowych narzędzi, co jeszcze bardziej rozszerza jego możliwości. Na przykład, podczas gdy Q Developer mógł wcześniej opisywać zasoby AWS, możliwość opisywania schematów baz danych i formatów wiadomości jest niezbędna do tworzenia kompleksowych aplikacji. Konfigurując MCP, programiści mogą dostarczyć ten dodatkowy kontekst do Q Developer, umożliwiając mu efektywniejsze wykonywanie zadań.

W poniższych sekcjach zbadamy, jak skonfigurować serwer MCP, aby dostarczyć Q Developer schemat bazy danych dla prostego systemu zarządzania nauczaniem (LMS), który jest obecnie w fazie rozwoju. Chociaż Q Developer doskonale radzi sobie z pisaniem zapytań SQL, brakuje mu wrodzonej wiedzy o schemacie bazy danych. Struktura tabel i relacje są przechowywane w samej bazie danych i nie są bezpośrednio dostępne w kodzie źródłowym projektu. Aby rozwiązać to ograniczenie, wykorzystamy serwer MCP zdolny do wykonywania zapytań o schemat bazy danych. W szczególności wykorzystamy oficjalną referencyjną implementację PostgreSQL do połączenia z instancją Amazon Relational Database Service (RDS).

Krajobraz przed Model Context Protocol

Przed pojawieniem się obsługi MCP, Q Developer CLI zapewniał ograniczony zestaw natywnych narzędzi, w tym możliwość wykonywania poleceń bash, interakcji z plikami i systemem plików oraz wykonywania wywołań usług AWS. Jednak jeśli chodzi o wykonywanie zapytań do baz danych, możliwości CLI były ograniczone.

Na przykład, przed skonfigurowaniem serwera MCP, do Q Developer wysłano żądanie “Napisz zapytanie, które wyświetla listę studentów i liczbę punktów ECTS, które każdy student uzyskuje.” W tym scenariuszu Q Developer mógł jedynie dostarczyć ogólne zapytanie SQL, ponieważ brakowało mu szczegółowej wiedzy o schemacie bazy danych dla LMS.