De wereld van softwareontwikkeling is constant in beweging, waarbij ontwikkelaars zoeken naar tools die niet alleen hun workflows stroomlijnen, maar ook hun mogelijkheden vergroten. In deze dynamische omgeving heeft Amazon Web Services (AWS) een belangrijke verbetering aan zijn Amazon Q Developer-tool geïntroduceerd: Model Context Protocol (MCP)-ondersteuning in de command line interface (CLI). Deze integratie stelt ontwikkelaars in staat om externe databronnen te verbinden met de Amazon Q Developer CLI, waardoor meer contextbewuste en intelligente reacties mogelijk worden. Door MCP-tools en prompts naadloos te integreren in de Q Developer CLI, krijgen ontwikkelaars toegang tot een uitgebreid ecosysteem van vooraf gebouwde integraties en MCP-servers die stdio
ondersteunen. Deze verrijkte context stelt Q Developer in staat om nauwkeurigere code te genereren, ingewikkelde datastructuren te begrijpen, relevante unit tests te creëren, uitgebreide databasedocumentatie te produceren en nauwkeurige query’s uit te voeren, alles zonder de last van het ontwikkelen van aangepaste integratiecode. Door Q Developer uit te breiden met MCP-tools en prompts, kunnen ontwikkelaars ontwikkelingstaken versnellen en de algehele ontwikkelaarservaring aanzienlijk verbeteren. AWS zet zich in voor de ondersteuning van open-source protocollen voor agents, zoals het Model Context Protocol (MCP) dat wordt gepromoot door Anthropic. Deze toewijding wordt weerspiegeld in de continue uitbreiding van functionaliteit binnen de Amazon Q Developer IDE-plugins.
Introductie tot Model Context Protocol (MCP)
In het steeds evoluerende domein van softwareontwikkeling zijn tools en technologieën die workflows stroomlijnen en nieuwe mogelijkheden ontsluiten zeer gewild. De recente toevoeging van Model Context Protocol (MCP)-ondersteuning in de Amazon Q Developer command line interface (CLI) is een ontwikkeling die veelbelovend is. MCP is een open protocol dat standaardiseert hoe applicaties naadloos integreren met Large Language Models (LLM’s), waardoor een gemeenschappelijk kader wordt geboden voor het delen van context, het benaderen van diverse databronnen en het mogelijk maken van krachtige AI-gestuurde functionaliteit. MCP dient als een brug tussen applicaties en LLM’s, waardoor ze effectief kunnen communiceren en samenwerken. Het stelt applicaties in staat om LLM’s te voorzien van de context die ze nodig hebben om taken nauwkeurig en efficiënt uit te voeren, terwijl LLM’s ook toegang hebben tot en gebruik kunnen maken van gegevens uit verschillende bronnen.
MCP bouwt voort op de bestaande mogelijkheden van Q Developer, dat al de mogelijkheid heeft om tools te gebruiken. Eerder bood Q Developer functionaliteiten zoals het uitvoeren van CLI-opdrachten en het beschrijven van AWS-resources. Met de integratie van MCP-tools en prompts krijgt de Q Developer CLI de mogelijkheid om extra tools op te nemen, waardoor de mogelijkheden verder worden uitgebreid. Waar Q Developer bijvoorbeeld eerder AWS-resources kon beschrijven, is het vermogen om databaseschema’s en berichtformaten te beschrijven essentieel voor het bouwen van uitgebreide applicaties. Door MCP te configureren, kunnen ontwikkelaars deze extra context aan Q Developer verstrekken, waardoor het taken effectiever kan uitvoeren.
In de volgende secties zullen we onderzoeken hoe u een MCP-server configureert om Q Developer te voorzien van het databaseschema voor een eenvoudig Learning Management System (LMS) dat momenteel in ontwikkeling is. Hoewel Q Developer uitblinkt in het schrijven van SQL-query’s, ontbreekt het aan inherente kennis van het databaseschema. De tabelstructuur en -relaties zijn opgeslagen in de database zelf en zijn niet rechtstreeks toegankelijk binnen de broncode van het project. Om deze beperking aan te pakken, zullen we een MCP-server gebruiken die in staat is het databaseschema op te vragen. Concreet zullen we de officiële PostgreSQL-referentie-implementatie gebruiken om verbinding te maken met een Amazon Relational Database Service (RDS)-instantie.
Het Landschap Voor Model Context Protocol
Voorafgaand aan de komst van MCP-ondersteuning bood de Q Developer CLI een beperkte set native tools, waaronder de mogelijkheid om bash-opdrachten uit te voeren, te interageren met bestanden en het bestandssysteem, en aanroepen te doen naar AWS-services. Echter, als het ging om het opvragen van databases, waren de mogelijkheden van de CLI beperkt.
Als voorbeeld werd, voordat de MCP-server werd geconfigureerd, een verzoek gedaan aan Q Developer om “Schrijf een query die de studenten en het aantal studiepunten dat elke student volgt, weergeeft.” In dit scenario kon Q Developer alleen een generieke SQL-query leveren, omdat het de specifieke kennis van het databaseschema voor het LMS ontbeerde.
Hoewel deze generieke query als uitgangspunt dient, is het duidelijk dat Q Developer veel meer op maat gemaakte en nauwkeurige resultaten zou kunnen leveren met toegang tot het databaseschema.
Model Context Protocol Configureren: Een Stapsgewijze Handleiding
De introductie van MCP-ondersteuning in de Q Developer CLI vereenvoudigt de configuratie van MCP-servers. MCP-servers worden geconfigureerd in een bestand met de naam mcp.json
. Dit configuratiebestand kan worden opgeslagen in de home directory (bijv. ~/.aws/amazonq/mcp.json
), waardoor de configuratie wordt toegepast op alle projecten op de machine, of in de workspace root (bijv. .amazonq/mcp.json
), waardoor projectleden de configuratie kunnen delen. Hieronder volgt een voorbeeldconfiguratie voor de PostgreSQL MCP-server: