Prompt tanımlamak
Defining prompts
Bu modül için tahmini süre: 8 dakika
Genel bakış
MCP server’larındaki prompt’lar, client’ların sıfırdan prompt yazmak yerine kullanabilecekleri önceden hazırlanmış, yüksek kaliteli talimatlar tanımlamanızı sağlar. Kullanıcıların kendi başlarına yazabilecekleri prompt’lardan daha iyi sonuç veren özenle hazırlanmış template’ler olarak düşünebilirsiniz.
MCP server’larındaki prompt’lar, client’ların sıfırdan prompt yazmak yerine kullanabilecekleri önceden hazırlanmış, yüksek kaliteli talimatlar tanımlamanızı sağlar. Onları, kullanıcıların kendi yazabileceklerinden daha iyi sonuç veren özenle hazırlanmış template’ler olarak düşünün.
Neden prompt kullanmalı?
Diyelim ki Claude’un bir dokümanı markdown’a dönüştürmesini istiyorsunuz. Kullanıcı sadece “convert report.pdf to markdown” yazabilir ve bu da çalışır. Ama formatlama, yapı ve çıktı gereksinimleri hakkında özel talimatlar içeren, iyi test edilmiş bir prompt ile çok daha iyi sonuçlar alırlar.

Asıl içgörü şu: kullanıcılar bu görevleri kendi başlarına yapabilseler de, MCP server yazarları tarafından özenle geliştirilmiş ve test edilmiş prompt’lar kullandıklarında daha tutarlı ve yüksek kaliteli sonuçlar elde ederler.
Prompt’lar nasıl çalışır
Prompt’lar, client’ların doğrudan kullanabileceği user ve assistant mesaj setlerini tanımlar. Bir client prompt istediğinde, server’ınız doğrudan Claude’a gönderilebilecek bir mesaj listesi döner.

Temel yapı şöyle görünür:
- Prompt’ları
@mcp.prompt()decorator’ı ile tanımlayın - Her prompt için bir name ve description ekleyin
- Tam prompt’u oluşturan mesajların listesini dönün
- Bu prompt’lar yüksek kaliteli, iyi test edilmiş ve MCP server’ınızın amacıyla alakalı olmalı
Bir format komutu inşa etmek
Doküman formatlama prompt’unu nasıl implement edeceğinizi görelim. Önce temel mesaj tiplerini import etmeniz gerekir:
from mcp.server.fastmcp import base
Sonra prompt fonksiyonunuzu tanımlayın:
@mcp.prompt(
name="format",
description="Rewrites the contents of the document in Markdown format."
)
def format_document(
doc_id: str = Field(description="Id of the document to format")
) -> list[base.Message]:
prompt = f"""
Your goal is to reformat a document to be written with markdown syntax.
The id of the document you need to reformat is:
<document_id>
{doc_id}
</document_id>
Add in headers, bullet points, tables, etc as necessary. Feel free to add in extra formatting.
Use the 'edit_document' tool to edit the document. After the document has been reformatted...
"""
return [
base.UserMessage(prompt)
]
Prompt’larınızı test etmek
Prompt’ları MCP Inspector ile test edebilirsiniz. Prompts bölümüne gidin, prompt’unuzu seçin ve gerekli parametreleri verin. Inspector, Claude’a gönderilecek üretilmiş mesajları gösterir.

Bu, prompt’unuzun değişkenleri doğru interpolate ettiğini ve gerçek bir uygulamada kullanılmadan önce beklenen mesaj yapısını ürettiğini doğrulamanızı sağlar.
En iyi pratikler
MCP server’ınız için prompt yaratırken:
- Server’ınızın amacının merkezinde olan görevlere odaklanın
- Belirsiz isteklerden çok detaylı, spesifik talimatlar yazın
- Prompt’larınızı farklı input’larla iyice test edin
- Kullanıcıların her prompt’un ne yaptığını anlaması için net açıklamalar ekleyin
- Prompt’un, server’ınızdaki tool ve resource’larla nasıl çalışacağını düşünün
Prompt’ların, kullanıcıların kolayca elde edemeyeceği bir değer sunması gerektiğini unutmayın — MCP server’ınızın kapsadığı alandaki uzmanlığınızı temsil etmelidir.
Temel çıkarımlar
- Prompt’lar
@mcp.prompt()decorator’ı ile tanımlanan, önceden hazırlanmış mesaj setleridir namevedescriptionalanları kullanıcıya prompt’un amacını anlatır- Fonksiyon parametreleri prompt template’ine interpolate edilir
base.UserMessageve diğer mesaj tipleri ile çoklu mesaj döndürebilirsiniz- Inspector’daki Prompts bölümünden prompt’ları çalıştırmadan önce doğrulayabilirsiniz
- Server’ınızın uzmanlık alanına uygun, iyi test edilmiş prompt’lar yazın