Model Context Protocol (MCP) Python Uygulaması
Bu depo, Model Context Protocol (MCP) standardını kullanarak iletişim kuran hem sunucu hem de istemci uygulaması oluşturmayı gösteren bir Python uygulaması içerir.
Genel Bakış
MCP uygulaması iki ana bileşenden oluşur:
-
MCP Sunucusu (
server.py) - Şunları sunan bir sunucu:- Araçlar: Uzaktan çağrılabilen fonksiyonlar
- Kaynaklar: Erişilebilen veriler
- Prompts: Dil modelleri için prompt şablonları
-
MCP İstemcisi (
client.py) - Sunucuya bağlanan ve özelliklerini kullanan bir istemci uygulaması
Özellikler
Bu uygulama, MCP'nin birkaç temel özelliğini gösterir:
Araçlar
completion- Yapay zeka modellerinden metin tamamlama üretir (simüle edilmiş)add- İki sayıyı toplayan basit hesap makinesi
Kaynaklar
models://- Mevcut yapay zeka modelleri hakkında bilgi dönergreeting://{name}- Verilen isim için kişiselleştirilmiş selamlama döner
Prompts
review_code- Kod incelemesi için prompt oluşturur
Kurulum
Bu MCP uygulamasını kullanmak için gerekli paketleri yükleyin:
pip install mcp-server mcp-client
Sunucu ve İstemciyi Çalıştırma
Sunucuyu Başlatma
Sunucuyu bir terminal penceresinde çalıştırın:
python server.py
Sunucu, MCP CLI kullanılarak geliştirme modunda da çalıştırılabilir:
mcp dev server.py
Ya da Claude Desktop’a (varsa) kurulabilir:
mcp install server.py
İstemciyi Çalıştırma
İstemciyi başka bir terminal penceresinde çalıştırın:
python client.py
Bu, sunucuya bağlanacak ve mevcut tüm özellikleri gösterecektir.
İstemci Kullanımı
İstemci (client.py), MCP’nin tüm yeteneklerini gösterir:
python client.py
Bu, sunucuya bağlanacak ve araçlar, kaynaklar ve prompts dahil tüm özellikleri kullanacaktır. Çıktı şunları gösterecektir:
- Hesap makinesi aracı sonucu (5 + 7 = 12)
- "What is the meaning of life?" sorusuna completion aracı yanıtı
- Mevcut yapay zeka modellerinin listesi
- "MCP Explorer" için kişiselleştirilmiş selamlama
- Kod inceleme prompt şablonu
Uygulama Detayları
Sunucu, MCP servislerini tanımlamak için yüksek seviyeli soyutlamalar sağlayan FastMCP API kullanılarak uygulanmıştır. İşte araçların nasıl tanımlandığına dair basitleştirilmiş bir örnek:
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers together
Args:
a: First number
b: Second number
Returns:
The sum of the two numbers
"""
logger.info(f"Adding {a} and {b}")
return a + b
İstemci, sunucuya bağlanmak ve çağrı yapmak için MCP istemci kütüphanesini kullanır:
async with stdio_client(server_params) as (reader, writer):
async with ClientSession(reader, writer) as session:
await session.initialize()
result = await session.call_tool("add", arguments={"a": 5, "b": 7})
Daha Fazla Bilgi
MCP hakkında daha fazla bilgi için ziyaret edin: https://modelcontextprotocol.io/
Feragatname:
Bu belge, AI çeviri servisi Co-op Translator kullanılarak çevrilmiştir. Doğruluk için çaba gösterilse de, otomatik çevirilerin hatalar veya yanlışlıklar içerebileceğini lütfen unutmayınız. Orijinal belge, kendi dilinde yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımı sonucu ortaya çıkabilecek yanlış anlamalar veya yorum hatalarından sorumlu değiliz.