Modül 1 · Model Context Protocol · ⏱ 3 dakika

Client tarafında prompt'lar

Prompts in the client

Orijinal İngilizce video — Anthropic Academy / JWPlayer. Aşağıdaki Türkçe metin dersi birebir özetler.

Bu modül için tahmini süre: 3 dakika

Genel bakış

MCP’deki prompt’lar, client tarafından kullanılabilen user ve assistant mesaj setlerini tanımlar. Bu derste client’ta list_prompts ve get_prompt metodlarını yazacak, CLI’da slash komutları olarak nasıl tetiklendiğini göreceksiniz.

MCP’deki prompt’lar, client tarafından kullanılabilen user ve assistant mesaj setlerini tanımlar. Bu prompt’lar yüksek kaliteli, iyi test edilmiş ve MCP server’ın genel amacıyla alakalı olmalıdır.

List prompts’u implement etmek

İlk adım, MCP client’ınızda list_prompts metodunu implement etmektir. Bu metod, server’dan mevcut tüm prompt’ları alır:

async def list_prompts(self) -> list[types.Prompt]:
    result = await self.session().list_prompts()
    return result.prompts

Bu basit implementasyon, session’ın list_prompts metodunu çağırır ve sonuçtan prompts array’ini döner.

Tek tek prompt almak

get_prompt metodu, içine argümanlar interpolate edilmiş belirli bir prompt’u alır. Bir prompt istediğinizde, prompt fonksiyonuna keyword argüman olarak geçirilen argümanlar sağlarsınız:

async def get_prompt(self, prompt_name, args: dict[str, str]):
    result = await self.session().get_prompt(prompt_name, args)
    return result.messages

Metod, sonuçtan mesajları döner; bu mesajlar doğrudan Claude’a beslenebilecek bir konuşma oluşturur.

Prompt argümanları nasıl çalışır

Server tarafında bir prompt fonksiyonu tanımladığınızda, parametre kabul edebilir. Örneğin, bir doküman formatlama prompt’u doc_id parametresi bekleyebilir:

def format_document(doc_id: str):
    # doc_id, prompt içine interpolate edilir

Client get_prompt’u çağırdığında, args dictionary’si beklenen key’leri içermeli. MCP server bunları prompt fonksiyonuna keyword argüman olarak geçirir; böylece dinamik içerik prompt template’ine yerleşir.

CLI’da prompt’ları test etmek

İmplement edildikten sonra prompt’ları komut satırı arayüzünden test edebilirsiniz. Bir forward slash yazdığınızda mevcut prompt’lar komut olarak görünür. Bir prompt seçmek sizi mevcut seçeneklerden (örneğin doküman ID’leri) birini seçmeye yönlendirebilir; ardından tam prompt Claude’a gönderilir.

Akış şöyle:

  1. Kullanıcı bir prompt seçer (örneğin “format”)
  2. Sistem gerekli argümanları sorar (örneğin hangi dokümanın formatlanacağı)
  3. Prompt, interpolate edilmiş değerlerle Claude’a gönderilir
  4. Claude görevi tamamlamak için tool’ları kullanarak ek veri çekebilir

Prompt için en iyi pratikler

MCP server’ınız için prompt yaratırken:

  • Server’ınızın amacıyla alakalı tutun
  • Yayına almadan önce iyice test edin
  • Net, spesifik talimatlar kullanın
  • Mevcut tool’larınızla iyi çalışacak şekilde tasarlayın
  • Kullanıcıların hangi argümanları vermesi gerekeceğini düşünün

Prompt’lar, önceden tanımlanmış işlevsellik ile dinamik kullanıcı ihtiyaçları arasındaki boşluğu kapatır; Claude’a karmaşık görevler için yapılandırılmış başlangıç noktaları sunarken parametrizasyon sayesinde esnekliği korur.

Temel çıkarımlar

  • Client tarafında iki metod gereklidir: list_prompts() ve get_prompt()
  • get_prompt, args dictionary’sini server’a iletir ve interpolate edilmiş mesajları döner
  • CLI’da / ile başlayan komutlar mevcut prompt’ları gösterebilir
  • Prompt sonucu doğrudan Claude’a beslenecek mesaj dizisidir
  • Argüman seçenekleri için autocomplete (örneğin doküman ID’leri) eklenebilir