O cenário do desenvolvimento de software está em constante evolução, com os desenvolvedores buscando ferramentas que não apenas agilizem seus fluxos de trabalho, mas também aumentem suas capacidades. Nesse ambiente dinâmico, a Amazon Web Services (AWS) introduziu uma melhoria significativa em sua ferramenta Amazon Q Developer: o suporte ao Model Context Protocol (MCP) na interface de linha de comando (CLI). Essa integração capacita os desenvolvedores a conectar fontes de dados externas ao Amazon Q Developer CLI, permitindo respostas mais conscientes do contexto e inteligentes. Ao integrar perfeitamente ferramentas e prompts MCP no Q Developer CLI, os desenvolvedores obtêm acesso a um vasto ecossistema de integrações pré-construídas e servidores MCP que suportam stdio
. Esse contexto enriquecido permite que o Q Developer gere código mais preciso, compreenda estruturas de dados complexas, crie testes de unidade relevantes, produza documentação abrangente do banco de dados e execute consultas precisas, tudo sem o fardo de desenvolver código de integração personalizado. Ao estender o Q Developer com ferramentas e prompts MCP, os desenvolvedores podem acelerar as tarefas de desenvolvimento e aprimorar significativamente a experiência geral do desenvolvedor. A AWS está comprometida em apoiar protocolos de código aberto para agentes, como o Model Context Protocol (MCP) defendido pela Anthropic. Esse compromisso se reflete na expansão contínua da funcionalidade nos plugins do Amazon Q Developer IDE.
Introdução ao Model Context Protocol (MCP)
No reino em constante evolução do desenvolvimento de software, ferramentas e tecnologias que agilizam os fluxos de trabalho e desbloqueiam novas capacidades são muito procuradas. A recente adição do suporte ao Model Context Protocol (MCP) na interface de linha de comando (CLI) do Amazon Q Developer é um desenvolvimento que possui imensa promessa. O MCP é um protocolo aberto que padroniza como os aplicativos se integram perfeitamente com Large Language Models (LLMs), fornecendo uma estrutura comum para compartilhar contexto, acessar diversas fontes de dados e habilitar uma poderosa funcionalidade orientada por IA. O MCP serve como uma ponte entre aplicativos e LLMs, permitindo que eles se comuniquem e colaborem efetivamente. Ele permite que os aplicativos forneçam aos LLMs o contexto de que precisam para executar tarefas com precisão e eficiência, ao mesmo tempo em que permite que os LLMs acessem e utilizem dados de várias fontes.
O MCP se baseia nas capacidades existentes do Q Developer, que já possui a capacidade de utilizar ferramentas. Anteriormente, o Q Developer oferecia funcionalidades como executar comandos CLI e descrever recursos da AWS. Com a integração de ferramentas e prompts MCP, o Q Developer CLI ganha a capacidade de incorporar ferramentas adicionais, expandindo ainda mais suas capacidades. Por exemplo, embora o Q Developer pudesse descrever anteriormente os recursos da AWS, a capacidade de descrever esquemas de banco de dados e formatos de mensagem é essencial para a construção de aplicativos abrangentes. Ao configurar o MCP, os desenvolvedores podem fornecer esse contexto adicional ao Q Developer, permitindo que ele execute tarefas de forma mais eficaz.
Nas seções a seguir, exploraremos como configurar um servidor MCP para fornecer ao Q Developer o esquema de banco de dados para um simples Learning Management System (LMS) que está atualmente em desenvolvimento. Embora o Q Developer se destaque na escrita de consultas SQL, ele carece de conhecimento inerente do esquema do banco de dados. A estrutura da tabela e os relacionamentos são armazenados dentro do próprio banco de dados e não são diretamente acessíveis dentro do código-fonte do projeto. Para abordar essa limitação, empregaremos um servidor MCP capaz de consultar o esquema do banco de dados. Especificamente, aproveitaremos a implementação de referência oficial do PostgreSQL para conectar a uma instância do Amazon Relational Database Service (RDS).
O Cenário Antes do Model Context Protocol
Antes do advento do suporte ao MCP, o Q Developer CLI fornecia um conjunto limitado de ferramentas nativas, incluindo a capacidade de executar comandos bash, interagir com arquivos e o sistema de arquivos e fazer chamadas para serviços da AWS. No entanto, quando se tratava de consultar bancos de dados, as capacidades do CLI eram restritas.
Como exemplo, antes de configurar o servidor MCP, foi feita uma solicitação ao Q Developer para “Escrever uma consulta que liste os alunos e o número de créditos que cada aluno está cursando”. Nesse cenário, o Q Developer só poderia fornecer uma consulta SQL genérica, pois não tinha o conhecimento específico do esquema do banco de dados para o LMS.
Embora essa consulta genérica sirva como um ponto de partida, é evidente que o Q Developer poderia fornecer resultados muito mais personalizados e precisos com acesso ao esquema do banco de dados.
Configurando o Model Context Protocol: Um Guia Passo a Passo
A introdução do suporte ao MCP no Q Developer CLI simplifica a configuração de servidores MCP. Os servidores MCP são configurados em um arquivo chamado mcp.json
. Este arquivo de configuração pode ser armazenado no diretório inicial (por exemplo, ~/.aws/amazonq/mcp.json
), aplicando a configuração a todos os projetos na máquina, ou na raiz do workspace (por exemplo, .amazonq/mcp.json
), permitindo que os membros do projeto compartilhem a configuração. Abaixo está um exemplo de configuração para o servidor MCP PostgreSQL: