Migliorare Amazon Q Developer CLI con Model Context Protocol (MCP) per una comprensione contestuale avanzata
Il panorama dello sviluppo software è in continua evoluzione, con gli sviluppatori alla ricerca di strumenti che non solo semplifichino i loro flussi di lavoro, ma che ne aumentino anche le capacità. In questo ambiente dinamico, Amazon Web Services (AWS) ha introdotto un significativo miglioramento al suo strumento Amazon Q Developer: il supporto del Model Context Protocol (MCP) nell’interfaccia a riga di comando (CLI). Questa integrazione consente agli sviluppatori di connettere fonti di dati esterne alla CLI di Amazon Q Developer, consentendo risposte più consapevoli del contesto e intelligenti. Integrando perfettamente gli strumenti e i prompt MCP nella Q Developer CLI, gli sviluppatori ottengono l’accesso a un vasto ecosistema di integrazioni predefinite e server MCP che supportano stdio
. Questo contesto arricchito consente a Q Developer di generare codice più accurato, comprendere strutture di dati complesse, creare unit test pertinenti, produrre documentazione completa del database ed eseguire query precise, il tutto senza l’onere di sviluppare codice di integrazione personalizzato. Estendendo Q Developer con strumenti e prompt MCP, gli sviluppatori possono accelerare le attività di sviluppo e migliorare significativamente l’esperienza complessiva dello sviluppatore. AWS si impegna a supportare protocolli open source per agenti, come il Model Context Protocol (MCP) promosso da Anthropic. Questo impegno si riflette nella continua espansione delle funzionalità all’interno dei plug-in Amazon Q Developer IDE.
Introduzione al Model Context Protocol (MCP)
Nel regno in continua evoluzione dello sviluppo software, strumenti e tecnologie che semplificano i flussi di lavoro e sbloccano nuove funzionalità sono molto ricercati. La recente aggiunta del supporto del Model Context Protocol (MCP) nell’interfaccia a riga di comando (CLI) di Amazon Q Developer è uno sviluppo che racchiude un’immensa promessa. MCP è un protocollo aperto che standardizza il modo in cui le applicazioni si integrano perfettamente con i modelli linguistici di grandi dimensioni (LLM), fornendo un framework comune per la condivisione del contesto, l’accesso a diverse fonti di dati e l’abilitazione di potenti funzionalità basate sull’intelligenza artificiale. MCP funge da ponte tra applicazioni e LLM, consentendo loro di comunicare e collaborare in modo efficace. Consente alle applicazioni di fornire agli LLM il contesto di cui hanno bisogno per eseguire attività in modo accurato ed efficiente, consentendo al contempo agli LLM di accedere e utilizzare i dati da varie fonti.
MCP si basa sulle funzionalità esistenti di Q Developer, che già possiede la capacità di utilizzare strumenti. In precedenza, Q Developer offriva funzionalità come l’esecuzione di comandi CLI e la descrizione delle risorse AWS. Con l’integrazione degli strumenti e dei prompt MCP, la CLI di Q Developer acquisisce la capacità di incorporare strumenti aggiuntivi, espandendo ulteriormente le sue capacità. Ad esempio, mentre Q Developer in precedenza poteva descrivere le risorse AWS, la capacità di descrivere schemi di database e formati di messaggio è essenziale per la creazione di applicazioni complete. Configurando MCP, gli sviluppatori possono fornire questo contesto aggiuntivo a Q Developer, consentendogli di eseguire attività in modo più efficace.
Nelle sezioni seguenti, esploreremo come configurare un server MCP per fornire a Q Developer lo schema di database per un semplice Learning Management System (LMS) attualmente in fase di sviluppo. Sebbene Q Developer eccella nello scrivere query SQL, manca di conoscenza intrinseca dello schema del database. La struttura e le relazioni della tabella sono archiviate all’interno del database stesso e non sono direttamente accessibili all’interno del codice sorgente del progetto. Per affrontare questa limitazione, utilizzeremo un server MCP in grado di interrogare lo schema del database. Nello specifico, sfrutteremo l’implementazione di riferimento ufficiale di PostgreSQL per connetterci a un’istanza di Amazon Relational Database Service (RDS).
Il panorama prima del Model Context Protocol
Prima dell’avvento del supporto MCP, la CLI di Q Developer forniva un set limitato di strumenti nativi, tra cui la capacità di eseguire comandi bash, interagire con file e file system ed effettuare chiamate ai servizi AWS. Tuttavia, quando si trattava di interrogare i database, le capacità della CLI erano limitate.
Ad esempio, prima di configurare il server MCP, è stata effettuata una richiesta a Q Developer per ‘Scrivere una query che elenchi gli studenti e il numero di crediti che ogni studente sta prendendo’. In questo scenario, Q Developer potrebbe fornire solo una query SQL generica, poiché mancava la conoscenza specifica dello schema del database per l’LMS.
Sebbene questa query generica serva come punto di partenza, è evidente che Q Developer potrebbe fornire risultati molto più personalizzati e accurati con l’accesso allo schema del database.
Configurazione del Model Context Protocol: una guida passo passo
L’introduzione del supporto MCP nella CLI di Q Developer semplifica la configurazione dei server MCP. I server MCP sono configurati all’interno di un file denominato mcp.json
. Questo file di configurazione può essere archiviato nella home directory (ad esempio, ~/.aws/amazonq/mcp.json
), applicando la configurazione a tutti i progetti sulla macchina, oppure nella root dello spazio di lavoro (ad esempio, .amazonq/mcp.json
), consentendo ai membri del progetto di condividere la configurazione. Di seguito è riportato un esempio di configurazione per il server MCP PostgreSQL: