MCP server by yazilimcikisi
MCP ile Kod Yürütme (Code Execution) Demosu
Bu proje, Model Context Protocol (MCP) prensiplerine dayanarak, bir AI ajanının verimsiz "araç çağırma" (tool calling) yöntemi yerine, Kod Yürütme (Code Execution) yöntemini kullanarak nasıl daha verimli çalışabileceğini gösteren bir örnektir.
Projenin Amacı
Geleneksel yöntemlerde bir ajan, veritabanından tüm veriyi çekip kendi bağlamında (context window) işlemeye çalışır. Bu hem yavaştır hem de çok fazla token tüketir.
Bu demoda ise ajan:
- Veriyi çekmek ve filtrelemek için bir kod parçacığı (script) yazar.
- Bu kodu güvenli bir ortamda çalıştırır.
- Sadece filtrelenmiş, temiz sonucu alır.
Bu yöntem %98'e varan token tasarrufu sağlar ve çok daha hızlıdır.
Kurulum
Projeyi çalıştırmadan önce gerekli bağımlılıkları yükleyin:
npm install
Kullanım
Bu projede iki farklı çalışma yöntemi bulunmaktadır:
1. Manuel Ajan Senaryosu (agent_script.ts)
Bu senaryoda, ajanın yazması gereken ideal kodun elle yazılmış halini çalıştırırsınız.
npx ts-node agent_script.ts
Beklenen Çıktı: Sadece "Pending" (Beklemede) durumunda ve tutarı 50.000$ üzeri olan 3 sipariş listelenir.
2. LLM Destekli Ajan (llm_agent.ts)
Bu senaryoda, Gemini 2.0 Flash-Lite modeli, kullanıcının doğal dildeki isteğini ("Büyük bir satış veritabanından, sadece 'Beklemede' olan 50.000$ üzeri siparişleri bul ve listele") anlar ve gerekli filtreleme kodunu dinamik olarak yazar ve çalıştırır.
Gereksinimler:
- Bir
.envdosyası oluşturun ve Gemini API anahtarınızı ekleyin:GEMINI_API_KEY=senin_api_anahtarin
Çalıştırma:
npx ts-node llm_agent.ts
Ajan şunları yapacaktır:
- İsteği analiz eder.
servers/crm-databasemodülünü kullanacak bir TypeScript kodu üretir.- Kodu
generated_task.tsdosyasına kaydeder. - Kodu çalıştırır ve sonucu ekrana basar.
Dosya Yapısı
servers/crm-database/: Örnek veritabanı simülasyonu.agent_script.ts: Manuel olarak optimize edilmiş örnek kod.llm_agent.ts: Gemini API kullanarak kodu dinamik üreten ve çalıştıran ajan.generated_task.ts: LLM tarafından üretilen geçici kod dosyası.