Ana içeriğe geç

MCP Python SDK

Makine çevirisi

Bu sayfa İngilizce dokümantasyondan otomatik olarak çevrildi; esas alınması gereken sürüm İngilizce sayfadır. Yanlış görünen bir şey varsa, nasıl bildireceğinizi Çeviriler sayfası açıklar.

Bu belgeler, mevcut kararlı sürüm hattı olan v2'yi anlatır

v2'ye yeni mi başladınız, yoksa v1'den mi geliyorsunuz? v2'deki yenilikler nelerin değiştiğine beş dakikalık bir bakış sunar, Geçiş kılavuzu ise uyumluluğu bozan her değişikliği ele alır. Hâlâ v1.x'te misiniz? Onun belgeleri v1.x belgeleri adresinde. Pürüzlü ya da kafa karıştırıcı bir şey mi var? Bize bildirin.

Model Context Protocol (MCP), uygulamaların LLM'lere standart bir biçimde bağlam sağlamasına olanak tanır; bağlam sağlama işini LLM etkileşiminin kendisinden ayırır.

Bu, onun resmi Python SDK'sı. Bununla şunları yapabilirsiniz:

  • Herhangi bir MCP host'una araç, kaynak ve prompt sunan MCP sunucuları oluşturun.
  • Herhangi bir MCP sunucusuna bağlanan MCP istemcileri oluşturun.
  • Tüm standart aktarımları konuşun: stdio, Streamable HTTP ve SSE.

Gereksinimler

Python 3.10+.

Kurulum

uv add "mcp[cli]"
pip install "mcp[cli]"

[cli] eki size mcp komutunu kazandırır; geliştirme sırasında buna ihtiyacınız olacak. Her bağımlılığın ne işe yaradığını görmek için Kurulum sayfasına bakın.

Örnek

Oluşturun

server.py adında bir dosya oluşturun:

server.py
from mcp.server import MCPServer

mcp = MCPServer("Demo")


@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers."""
    return a + b


@mcp.resource("greeting://{name}")
def greeting(name: str) -> str:
    """Greet someone by name."""
    return f"Hello, {name}!"

Bu, eksiksiz bir MCP sunucusu.

Bir araç (add) ve bir şablonlu kaynak (greeting://{name}) sunar.

Çalıştırın

uv run mcp dev server.py

Bu komut sunucuyu başlatır ve onu kurcalamanız için etkileşimli bir arayüz olan MCP Inspector'ı açar. Yazdırdığı URL'yi açın.

Note

Inspector bir Node.js uygulaması olduğundan mcp dev, PATH'inizde npx bulunmasını gerektirir.

Deneyin

Inspector'da Tools sekmesine gidin ve add aracını a=1, b=2 ile çağırın.

Geriye 3 döner. ✨

Inspector bu formu (a için zorunlu bir tamsayı alanı, b için bir diğeri) tür ipuçlarınızdan oluşturdu. Claude da, diğer tüm MCP host'ları da aynısını yapar.

Şimdi Resources sekmesine gidin ve greeting://World kaynağını okuyun:

Hello, World!

Özet

Neleri yazmadığınıza bir daha bakın:

  • JSON Schema yok. a: int, b: int şemanın ta kendisi.
  • İstek ayrıştırma yok, serileştirme yok, doğrulama kodu yok.
  • Protokol işleme hiç yok.

Tür ipuçları ve bir docstring içeren iki Python fonksiyonu yazdınız. Gerisini SDK halleder.

Sırada ne var

  • Başlarken sizi kurulumdan çalışan, test edilmiş bir sunucuya götürür.
  • MCP sunucularını kullanan bir uygulama mı geliştiriyorsunuz? İstemciler ile başlayın.
  • Hâlihazırda bir FastAPI veya Starlette uygulamanız mı var? Mevcut bir uygulamaya ekleme sayfası içine bir MCP sunucusu bağlar.
  • Belirli bir hata mesajının peşinde misiniz? Sorun giderme sayfası birebir metne göre düzenlenmiştir.
  • v2'de nelerin değiştiğini mi merak ediyorsunuz? v2'deki yenilikler beş dakikalık bir tur.
  • v1'den mi geçiyorsunuz? Geçiş kılavuzu ile başlayın.
  • Belirli bir imzanın peşinde misiniz? API referansı kaynak koddan üretilir.
  • Bir LLM ile mi okuyorsunuz? Bu belgeler llms.txt biçiminde de yayımlanır: llms.txt sayfaların bir dizinidir, llms-full.txt ise tüm sayfaları tek bir dosyada içerir.