Gelişmiş Bağlam İçin Amazon Q CLI ve MCP

Amazon Q Developer CLI’nin Model Bağlam Protokolü (MCP) ile Geliştirilmesi: Gelişmiş Bağlamsal Anlama İçin

Yazılım geliştirme ortamı sürekli olarak gelişiyor ve geliştiriciler yalnızca iş akışlarını kolaylaştırmakla kalmayıp aynı zamanda yeteneklerini de artıran araçlar arıyorlar. Bu dinamik ortamda Amazon Web Services (AWS), Amazon Q Developer aracına önemli bir iyileştirme getirdi: Komut satırı arayüzünde (CLI) Model Bağlam Protokolü (MCP) desteği. Bu entegrasyon, geliştiricilerin harici veri kaynaklarını Amazon Q Developer CLI’ye bağlamasını sağlayarak daha bağlamsal olarak farkında ve akıllı yanıtlar oluşturulmasına olanak tanır. MCP araçlarını ve istemlerini Q Developer CLI’ye sorunsuz bir şekilde entegre ederek, geliştiriciler stdio‘yu destekleyen çok çeşitli önceden oluşturulmuş entegrasyonlara ve MCP Sunucularına erişim kazanır. Bu zenginleştirilmiş bağlam, Q Developer’ın özel entegrasyon kodu geliştirme yükü olmadan daha doğru kod oluşturmasına, karmaşık veri yapılarını anlamasına, ilgili birim testleri oluşturmasına, kapsamlı veritabanı belgeleri üretmesine ve kesin sorgular yürütmesine olanak tanır. Geliştiriciler, Q Developer’ı MCP araçları ve istemleriyle genişleterek geliştirme görevlerini hızlandırabilir ve genel geliştirici deneyimini önemli ölçüde geliştirebilir. AWS, Anthropic tarafından savunulan Model Bağlam Protokolü (MCP) gibi aracılar için açık kaynaklı protokolleri desteklemeye kararlıdır. Bu taahhüt, Amazon Q Developer IDE eklentilerindeki işlevselliğin sürekli genişlemesinde yansıtılmaktadır.

Model Bağlam Protokolüne (MCP) Giriş

Yazılım geliştirmenin sürekli gelişen alanında, iş akışlarını kolaylaştıran ve yeni yeteneklerin kilidini açan araçlar ve teknolojiler büyük talep görmektedir. Amazon Q Developer komut satırı arayüzüne (CLI) Model Bağlam Protokolü (MCP) desteğinin eklenmesi, büyük bir potansiyel vaat eden bir gelişmedir. MCP, uygulamaların Büyük Dil Modelleri (LLM’ler) ile sorunsuz bir şekilde nasıl entegre olduğunu standartlaştıran açık bir protokoldür ve bağlamı paylaşmak, çeşitli veri kaynaklarına erişmek ve güçlü AI güdümlü işlevselliği etkinleştirmek için ortak bir çerçeve sağlar. MCP, uygulamalar ve LLM’ler arasında bir köprü görevi görerek etkili bir şekilde iletişim kurmalarını ve işbirliği yapmalarını sağlar. Uygulamaların, LLM’lere görevleri doğru ve verimli bir şekilde gerçekleştirmek için ihtiyaç duydukları bağlamı sağlamalarına olanak tanırken, LLM’lerin çeşitli kaynaklardan verilere erişmelerine ve bunları kullanmalarına da olanak tanır.

MCP, halihazırda araçları kullanma yeteneğine sahip olan Q Developer’ın mevcut yetenekleri üzerine inşa edilmiştir. Daha önce, Q Developer, CLI komutlarını çalıştırmak ve AWS kaynaklarını tanımlamak gibi işlevler sunuyordu. MCP araçları ve istemlerinin entegrasyonuyla, Q Developer CLI ek araçlar ekleme yeteneği kazanır ve yeteneklerini daha da genişletir. Örneğin, Q Developer daha önce AWS kaynaklarını tanımlayabilirken, kapsamlı uygulamalar oluşturmak için veritabanı şemalarını ve mesaj formatlarını tanımlama yeteneği çok önemlidir. Geliştiriciler, MCP’yi yapılandırarak Q Developer’a bu ek bağlamı sağlayabilir ve görevleri daha etkili bir şekilde gerçekleştirmesini sağlayabilir.

Aşağıdaki bölümlerde, Q Developer’a geliştirilmekte olan basit bir Öğrenme Yönetim Sistemi (LMS) için veritabanı şemasını sağlamak üzere bir MCP sunucusunun nasıl yapılandırılacağını keşfedeceğiz. Q Developer SQL sorguları yazmada mükemmel olsa da, veritabanı şeması hakkında doğal bir bilgiye sahip değildir. Tablo yapısı ve ilişkileri, veritabanının kendisinde saklanır ve projenin kaynak kodunda doğrudan erişilemez. Bu sınırlamayı ele almak için, veritabanı şemasını sorgulayabilen bir MCP sunucusu kullanacağız. Özellikle, bir Amazon İlişkisel Veritabanı Hizmeti (RDS) örneğine bağlanmak için resmi PostgreSQL referans uygulamasını kullanacağız.

Model Bağlam Protokolünden Önceki Ortam

MCP desteğinin ortaya çıkmasından önce, Q Developer CLI, bash komutlarını yürütme, dosyalar ve dosya sistemiyle etkileşim kurma ve AWS hizmetlerine çağrı yapma yeteneği dahil olmak üzere sınırlı bir yerel araç kümesi sağlıyordu. Ancak, veritabanlarını sorgulamaya gelince, CLI’nin yetenekleri kısıtlıydı.

Örneğin, MCP sunucusunu yapılandırmadan önce, Q Developer’dan ‘Öğrencileri ve her öğrencinin aldığı kredi sayısını listeleyen bir sorgu yaz’ talebinde bulunuldu. Bu senaryoda, Q Developer, LMS için veritabanı şeması hakkında özel bir bilgiye sahip olmadığı için yalnızca genel bir SQL sorgusu sağlayabilirdi.

Bu genel sorgu bir başlangıç noktası olarak hizmet etse de, Q Developer’ın veritabanı şemasına erişimle çok daha uyarlanmış ve doğru sonuçlar sağlayabileceği açıktır.

Model Bağlam Protokolünü Yapılandırma: Adım Adım Kılavuz

Q Developer CLI’deki MCP desteğinin tanıtımı, MCP sunucularının yapılandırılmasını basitleştirir. MCP sunucuları mcp.json adlı bir dosya içinde yapılandırılır. Bu yapılandırma dosyası, yapılandırmayı makinedeki tüm projelere uygulayarak ana dizinde (örneğin, ~/.aws/amazonq/mcp.json) veya proje üyelerinin yapılandırmayı paylaşmasını sağlayarak çalışma alanı kökünde (örneğin, .amazonq/mcp.json) saklanabilir. Aşağıda, PostgreSQL MCP sunucusu için bir yapılandırma örneği verilmiştir: