Skip to main content
Glama

🤖 Primitive MCP: Sıfırdan Kendi SDK'nızı Yazın!

Python Version License MCP Compliant

Resmi SDK'ların soyutlama katmanları arasında kaybolmayın. Bare-Metal (saf) kodla kendi MCP sunucunuzu yazın ve Yapay Zekanın kodunuzla nasıl konuştuğunu tam olarak anlayın!

Bu proje, Anthropic'in geliştirdiği Model Context Protocol (MCP) mantığını en temel seviyede kavramak ve kendi "ilkel" (primitive) SDK'nızı yazmanız için hazırlanmış adım adım bir eğitim serisidir.


🎯 Neden Bu Proje?

Resmi MCP SDK'ları (Python veya TypeScript) harikadır ancak arka planda ne döndüğünü anlamayı zorlaştıracak kadar çok soyutlama içerirler. Bu repo:

  • AI modellerinin (Claude, GPT vb.) sizin fonksiyonlarınızı nasıl keşfettiğini (Discovery),

  • JSON-RPC 2.0 protokolünün Stdio üzerinden nasıl aktığını,

  • Ajanların (Agents) kendi hatalarını nasıl düzelttiğini (Self-Healing) size sıfırdan kod yazdırarak öğretir.


Related MCP server: MCP Learning Project

⏱️ Git ile Adım Adım İlerleme (Zaman Makinesi)

Bu eğitim reposu adım adım inşa edilmiştir. Her adımdaki kod durumunu görmek için Git etiketlerini (Tags) kullanabilirsiniz.

  • Geçmişe Gitmek (Adım 1'e dönmek):

    git checkout step_1

    (Not: Git size "Detached HEAD" uyarısı verebilir, bu normaldir. Sadece kodu inceleyebilirsiniz).

  • Tekrar Günümüze (En son koda) Dönmek:

    git checkout main

Eğitimi takip ederken, ilgili adımın kodunu incelemek için terminalden o adıma checkout yapabilirsiniz.


🗺️ 10 Adımlık Yolculuk

Bu repo sadece bitmiş bir kod değildir, aynı zamanda bir zaman tünelidir. Git tag'lerini kullanarak her adıma gidebilirsiniz:

graph LR
    S1[Adım 1 & 2<br/>Temeller] --> S2[Adım 3 & 4<br/>Router & El Sıkışma]
    S2 --> S3[Adım 5<br/>Ping]
    S3 --> S4[Adım 6<br/>Resources]
    S4 --> S5[Adım 7 & 8<br/>Tools]
    S5 --> S6[Adım 9 & 10<br/>Hata & Paketleme]
    
    style S1 fill:#f9f,stroke:#333,stroke-width:2px
    style S6 fill:#bbf,stroke:#333,stroke-width:2px

Dersleri takip ederken kullanabileceğiniz adımlar:

  • Bölüm 1: Temeller (Adım 1-3) -> JSON-RPC mesaj yapıları ve Stdio transport katmanı.

  • Bölüm 2: Yaşam Döngüsü (Adım 4-5) -> El sıkışma (Initialize) ve Canlılık (Ping) kontrolleri.

  • Bölüm 3: Özellikler (Adım 6-8) -> Kaynaklar (Resources) ve Araçların (Tools) listelenmesi ve çalıştırılması.

  • Bölüm 4: Olgunlaşma (Adım 9-10) -> Hata yönetimi ve projeyi pip ile yüklenebilir bir SDK'ya dönüştürme.


🧬 MCP Nasıl Çalışır? (Mimari Görsel)

Bir AI modelinin sizin bilgisayarınızdaki bir dosyayı okuması veya bir fonksiyonu çalıştırması şu sırayla gerçekleşir:

sequenceDiagram
    participant LLM as Yapay Zeka (Model)
    participant Client as Host Uygulama (Örn: Claude Desktop)
    participant Server as Sizin MCP Sunucunuz (Bu Repo)

    Client->>Server: 1. initialize (El sıkışma isteği)
    Server-->>Client: 2. capabilities (Ben araç çalıştırabilirim)
    Client->>Server: 3. tools/list (Bana menüyü getir)
    Server-->>Client: 4. tools listesi (JSON Şemaları)
    Client->>LLM: 5. Bak elinde şu araçlar var
    LLM->>Client: 6. 'get_product_price' aracını çağır
    Client->>Server: 7. tools/call (Parametreler ile)
    Server-->>Client: 8. Sonuç (150 TL veya Hata Mesajı)
    Client-->>LLM: 9. Sonucu modele ilet

⚠️ Altın Kural (Çok Kritik!)

Sunucumuz (Server) sadece sys.stdin üzerinden okuma yapacak ve sys.stdout üzerinden modele JSON dönecektir. Eğer kodunuzun herhangi bir yerinde normal print() kullanarak ekrana log basarsanız, modelin JSON okuyucusu bozulur ve sistem çöker! Bu yüzden tüm loglar sys.stderr üzerinden akmalıdır.


📚 Öne Çıkan Eğitim Konseptleri

1. Discovery (Keşif) Mantığı

Model sizin hangi fonksiyonlara sahip olduğunuzu önceden bilmez. tools/list isteği attığında ona fonksiyonun kodunu değil, JSON Şemasını döneriz. Model bu şemaya bakarak hangi parametreleri göndermesi gerektiğini öğrenir.

2. Self-Healing (Kendi Kendini Onarma)

Bir fonksiyon çöktüğünde (Exception fırlattığında) bunu bir protokol hatası olarak dönmeyiz. isError: true bayrağı ile birlikte hatayı modele mesaj olarak döneriz. Model hatayı okur (Örn: "Sıfıra bölme hatası") ve parametreyi düzelterek aracı tekrar çağırır.


🚀 Simülasyonu Çalıştırma

Projeyi bilgisayarınıza klonladıktan sonra hiçbir karmaşık kuruluma gerek kalmadan simülasyonu çalıştırabilirsiniz:

python3 src/simulation.py

📦 Kendi Projenize Dahil Etme (Adım 10 Sonrası)

Proje klasöründe şu komutu çalıştırarak kendi yazdığınız SDK'yı sisteminize bir kütüphane gibi kurabilirsiniz:

pip3 install -e .

🤝 Katkıda Bulunma

Bu bir eğitim projesidir. Eksik gördüğünüz veya daha iyi anlatılabileceğini düşündüğünüz kısımlar için PR (Pull Request) açabilir veya Issue oluşturabilirsiniz.

📄 Lisans

Bu proje MIT lisansı ile lisanslanmıştır. Eğitim amaçlı her türlü kullanım serbesttir.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    A tutorial MCP server for learning the Model Context Protocol by building file and system tools. Provides hands-on experience creating custom tools that enable AI models to interact with files and execute system commands.
    Last updated
  • A
    license
    B
    quality
    D
    maintenance
    A template repository for building Model Context Protocol (MCP) servers that enable LLM clients to interact with custom tools and services through standardized JSON-RPC communication.
    Last updated
    3
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    An educational repository designed to practice and understand the Model Context Protocol through simple server implementations. It demonstrates core MCP concepts such as tools, resources, and communication via stdio and SSE transport methods.
    Last updated

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • MCP server for AI dialogue using various LLM models via AceDataCloud

  • A Model Context Protocol server for Wix AI tools

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/halisyilboga/simple_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server