Design ★ 2

mcp-builder

MCP (Model Context Protocol) sunucuları oluşturmak için bir rehber; LLM'lerin iyi tasarlanmış araçlar aracılığıyla harici hizmetlerle etkileşime girmesini sağlar. Python (FastMCP) veya Node/TypeScript (MCP SDK) ile harici API'ler veya servisleri entegre etmek amacıyla MCP sunucuları geliştirirken kullanın.

cd ~/.claude/skills
git clone https://github.com/smartnews/claude-skills.git claude-skills

MCP Sunucu Geliştirme Kılavuzu

Genel Bakış

Yüksek kaliteli MCP (Model Context Protocol) sunucuları oluşturmak için bu beceriyi kullanın ve LLM'lerin harici hizmetlerle etkili bir şekilde etkileşim kurmasını sağlayın. Bir MCP sunucusu, LLM'lere harici hizmetlere ve API'lere erişim izni veren araçlar sağlar. Bir MCP sunucusunun kalitesi, sağlanan araçları kullanarak LLM'lerin gerçek dünyada görevleri ne kadar iyi başarabilmesine göre ölçülür.


Süreç

🚀 Üst Düzey İş Akışı

Yüksek kaliteli bir MCP sunucusu oluşturmak dört ana aşamayı içerir:

Aşama 1: Derinlemesine Araştırma ve Planlama

1.1 Agent-Centric Tasarım İlkelerini Anlayın

Uygulamaya başlamadan önce, bu ilkeleri gözden geçirerek AI ajanlar için araçlar tasarlamayı öğrenin:

İş Akışları İçin Tasarım Yapın, Sadece API Uç Noktaları Değil:

  • Mevcut API uç noktalarını basitçe sarmayın - düşünceli, yüksek etkili iş akışı araçları oluşturun
  • İlgili işlemleri birleştirin (örn., schedule_event hem müsaitliği kontrol eden hem de etkinlik oluşturan)
  • Tam görevleri etkinleştiren araçlara odaklanın, sadece bireysel API çağrıları değil
  • Ajanların gerçekten başarması gereken iş akışlarını düşünün

Sınırlı Bağlam İçin Optimize Edin:

  • Ajanlar kısıtlı bağlam pencerelerine sahiptir - her tokeni sayılı yapın
  • Yüksek sinyal bilgisi döndürün, kapsamlı veri dökümleri değil
  • "Özet" vs "Ayrıntılı" yanıt formatı seçenekleri sağlayın
  • Teknik kodlar yerine okunabilir tanımlayıcılara öncelik verin (kimlikler yerine isimler)
  • Ajanın bağlam bütçesini kıt bir kaynak olarak düşünün

İşlem Yapılabilir Hata Mesajları Tasarlayın:

  • Hata mesajları ajanları doğru kullanım desenlerine doğru yönlendirmeli
  • Spesifik sonraki adımları önerin: "Sonuçları azaltmak için filter='active_only' kullanmayı deneyin"
  • Hataları eğitici yapın, sadece tanısal değil
  • Açık geri bildirim aracılığıyla ajanların doğru araç kullanımını öğrenmesine yardımcı olun

Doğal Görev Alt Bölümlerini İzleyin:

  • Araç adları, insanların görevleri nasıl düşündüğünü yansıtmalıdır
  • İlgili araçları keşfedilebilirlik için tutarlı öneklerle gruplandırın
  • Araçları API yapısı yerine doğal iş akışlarının etrafında tasarlayın

Değerlendirme Odaklı Geliştirme Kullanın:

  • Gerçekçi değerlendirme senaryolarını erken oluşturun
  • Ajan geri bildiriminin araç geliştirmelerini yönlendirmesine izin verin
  • Hızlı prototip oluşturun ve gerçek ajan performansına göre tekrarlayın

1.3 MCP Protokolü Belgelerini İnceleyin

En son MCP protokolü belgelerini alın:

WebFetch kullanarak şunu yükleyin: https://modelcontextprotocol.io/llms-full.txt

Bu kapsamlı belge, tam MCP belirtimini ve yönergelerini içerir.

1.4 Framework Belgelerini İnceleyin

Aşağıdaki referans dosyalarını yükleyin ve okuyun:

Python uygulamaları için, ayrıca yükleyin:

  • Python SDK Belgeleri: WebFetch kullanarak şunu yükleyin https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md
  • 🐍 Python Uygulama Kılavuzu - Python'a özgü en iyi uygulamalar ve örnekler

Node/TypeScript uygulamaları için, ayrıca yükleyin:

  • TypeScript SDK Belgeleri: WebFetch kullanarak şunu yükleyin https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md
  • ⚡ TypeScript Uygulama Kılavuzu - Node/TypeScript'e özgü en iyi uygulamalar ve örnekler

1.5 API Belgelerini Kapsamlı Şekilde İnceleyin

Bir hizmet entegre etmek için, TÜM mevcut API belgelerini okuyun:

  • Resmi API referans belgeleri
  • Kimlik doğrulama ve yetkilendirme gereksinimleri
  • Hız sınırlaması ve sayfalandırma desenleri
  • Hata yanıtları ve durum kodları
  • Mevcut uç noktalar ve parametreleri
  • Veri modelleri ve şemaları

Kapsamlı bilgi toplamak için gerektiği kadar web araması ve WebFetch aracını kullanın.

1.6 Kapsamlı Bir Uygulama Planı Oluşturun

Araştırmanıza göre, aşağıdakileri içeren ayrıntılı bir plan oluşturun:

Araç Seçimi:

  • Uygulanacak en değerli uç noktaları/işlemleri listeleyin
  • En yaygın ve önemli kullanım durumlarını etkinleştiren araçlara öncelik verin
  • Karmaşık iş akışlarını etkinleştirmek için hangi araçların birlikte çalıştığını düşünün

Paylaşılan Yardımcı Programlar ve Yardımcılar:

  • Yaygın API istek kalıplarını tanımlayın
  • Sayfalandırma yardımcılarını planlayın
  • Filtreleme ve biçimlendirme yardımcı programlarını tasarlayın
  • Hata işleme stratejilerini planlayın

Giriş/Çıkış Tasarımı:

  • Giriş doğrulama modellerini tanımlayın (Python için Pydantic, TypeScript için Zod)
  • Tutarlı yanıt formatlarını tasarlayın (örn., JSON veya Markdown) ve yapılandırılabilir ayrıntı seviyeleri (örn., Ayrıntılı veya Özet)
  • Geniş ölçekli kullanım için planlama yapın (binlerce kullanıcı/kaynak)
  • Karakter sınırlarını ve kesme stratejilerini uygulayın (örn., 25.000 token)

Hata İşleme Stratejisi:

  • Zarif arıza modlarını planlayın
  • Net, işlem yapılabilir, LLM'ye uygun, doğal dil hata mesajlarını tasarlayın ve daha fazla işlem istemeyin
  • Hız sınırlaması ve zaman aşımı senaryolarını düşünün
  • Kimlik doğrulama ve yetkilendirme hatalarını işleyin

Aşama 2: Uygulama

Kapsamlı bir plana sahip olduğunuza göre, dile özgü en iyi uygulamaları izleyerek uygulamaya başlayın.

2.1 Proje Yapısını Kurun

Python için:

  • Karmaşıksa tek bir .py dosyası oluşturun veya modüllere organize edin (bkz. 🐍 Python Kılavuzu)
  • Araç kaydı için MCP Python SDK'sını kullanın
  • Giriş doğrulaması için Pydantic modellerini tanımlayın

Node/TypeScript için:

  • Uygun proje yapısını oluşturun (bkz. ⚡ TypeScript Kılavuzu)
  • package.json ve tsconfig.json'u ayarlayın
  • MCP TypeScript SDK'sını kullanın
  • Giriş doğrulaması için Zod şemalarını tanımlayın

2.2 Önce Temel Altyapıyı Uygulayın

Uygulamaya başlamak için, araçları uygulamadan önce paylaşılan yardımcı programları oluşturun:

  • API istek yardımcı işlevleri
  • Hata işleme yardımcı programları
  • Yanıt biçimlendirme işlevleri (JSON ve Markdown)
  • Sayfalandırma yardımcıları
  • Kimlik doğrulama/token yönetimi

2.3 Araçları Sistematik Olarak Uygulayın

Plandaki her araç için:

Giriş Şemasını Tanımlayın:

  • Doğrulama için Pydantic (Python) veya Zod (TypeScript) kullanın
  • Uygun kısıtlamaları ekleyin (min/max uzunluk, regex desenleri, min/max değerler, aralıklar)
  • Açık, açıklayıcı alan açıklamaları sağlayın
  • Alan açıklamalarında çeşitli örnekler ekleyin

Kapsamlı Docstring'ler/Açıklamalar Yazın:

  • Aracın ne yaptığının tek satırı özeti
  • Amacı ve işlevselliğinin ayrıntılı açıklaması
  • Örnekler ile açık parametre türleri
  • Tam dönüş türü şeması
  • Kullanım örnekleri (ne zaman kullanılacağı, ne zaman kullanılmayacağı)
  • Hata işleme belgeleri, belirli hataların verildiği şekilde nasıl ilerleyeceğini özetler

Araç Mantığını Uygulayın:

  • Kod çoğaltmaktan kaçınmak için paylaşılan yardımcı programları kullanın
  • Tüm I/O için async/await modellerini izleyin
  • Uygun hata işlemeyi uygulayın
  • Birden çok yanıt formatını destekleyin (JSON ve Markdown)
  • Sayfalandırma parametrelerine uyun
  • Karakter sınırlarını kontrol edin ve uygun şekilde kesin

Araç Açıklamalarını Ekleyin:

  • readOnlyHint: true (salt okunur işlemler için)
  • destructiveHint: false (yıkıcı olmayan işlemler için)
  • idempotentHint: true (tekrarlanan çağrıların aynı etkiye sahipse)
  • openWorldHint: true (harici sistemlerle etkileşim kuruyorsa)

2.4 Dile Özgü En İyi Uygulamaları İzleyin

Bu noktada, uygun dil kılavuzunu yükleyin:

Python için: 🐍 Python Uygulama Kılavuzu'nu yükleyin ve aşağıdakileri sağlayın:

  • Uygun araç kaydı ile MCP Python SDK'sı kullanımı
  • model_config ile Pydantic v2 modelleri
  • Tüm kod boyunca tip ipuçları
  • Tüm I/O işlemleri için async/await
  • Uygun içe aktarma organizasyonu
  • Modül düzeyindeki sabitler (CHARACTER_LIMIT, API_BASE_URL)

Node/TypeScript için: ⚡ TypeScript Uygulama Kılavuzu'nu yükleyin ve aşağıdakileri sağlayın:

  • server.registerTool kullanımını düzgün kullanmak
  • .strict() ile Zod şemaları
  • TypeScript kesin modu etkinleştirilmiş
  • any türleri yok - uygun türleri kullanın
  • Açık Promise dönüş türleri
  • Yapı süreci yapılandırılmıştır (npm run build)

Aşama 3: İnceleme ve Iyileştirme

İlk uygulamadan sonra:

3.1 Kod Kalitesi İncelemesi

Kaliteyi sağlamak için, kodu aşağıdakiler açısından gözden geçirin:

  • DRY İlkesi: Araçlar arasında çoğaltılmış kod yok
  • Bileşen Yapılabilirlik: Paylaşılan mantık işlevlere ayıklandı
  • Tutarlılık: Benzer işlemler benzer formatlar döndürür
  • Hata İşleme: Tüm harici çağrıların hata işlemesi vardır
  • Tür Güvenliği: Tam tür kapsamı (Python tip ipuçları, TypeScript türleri)
  • Belgeleme: Her araçta kapsamlı docstring'ler/açıklamalar vardır

3.2 Test ve Oluştur

Önemli: MCP sunucuları, stdio/stdin veya sse/http üzerinden istekleri bekleyen uzun süreli işlemlerdir. Bunları doğrudan ana işlemde çalıştırmak (örn., python server.py veya node dist/index.js) işleminizi belirsiz süre asılı bırakacaktır.

Sunucuyu test etmenin güvenli yolları:

  • Değerlendirme koşusunu kullanın (bkz. Aşama 4) - önerilen yaklaşım
  • Sunucuyu tmux'ta çalıştırın, ana işleminin dışında tutun
  • Test ederken zaman aşımı kullanın: timeout 5s python server.py

Python için:

  • Python söz dizimini doğrulayın: python -m py_compile your_server.py
  • İçe aktarmaların dosyayı gözden geçirerek doğru şekilde çalıştığını kontrol edin
  • Manuel test etmek için: Sunucuyu tmux'ta çalıştırın, sonra ana işlemde değerlendirme koşusuyla test edin
  • Veya değerlendirme koşusunu doğrudan kullanın (stdio taşıması için sunucuyu yönetir)

Node/TypeScript için:

  • npm run build'i çalıştırın ve hatasız tamamlandığından emin olun
  • dist/index.js'nin oluşturulduğunu doğrulayın
  • Manuel test etmek için: Sunucuyu tmux'ta çalıştırın, sonra ana işlemde değerlendirme koşusuyla test edin
  • Veya değerlendirme koşusunu doğrudan kullanın (stdio taşıması için sunucuyu yönetir)

3.3 Kalite Kontrol Listesini Kullanın

Uygulama kalitesini doğrulamak için, dile özgü kılavuzdan uygun kontrol listesini yükleyin:


Aşama 4: Değerlendirmeler Oluşturun

MCP sunucunuzu uyguladıktan sonra, etkinliğini test etmek için kapsamlı değerlendirmeler oluşturun.

Tamamlayıcı değerlendirme yönergeleri için ✅ Değerlendirme Kılavuzu'nu yükleyin.

4.1 Değerlendirme Amacını Anlayın

Değerlendirmeler, LLM'lerin MCP sunucunuzu kullanarak gerçekçi, karmaşık soruları etkili bir şekilde yanıtlayabilmelerini test eder.

4.2 10 Değerlendirme Sorusu Oluşturun

Etkili değerlendirmeler oluşturmak için, değerlendirme kılavuzunda özetlenen süreci izleyin:

  1. Araç İncelemesi: Mevcut araçları listeleyin ve yeteneklerini anlayın
  2. İçerik Keşfi: Mevcut verileri keşfetmek için SALT OKUMA işlemleri kullanın
  3. Soru Oluşturma: 10 karmaşık, gerçekçi soru oluşturun
  4. Cevap Doğrulaması: Cevapları doğrulamak için her soruyu kendiniz çözün

4.3 Değerlendirme Gereksinimleri

Her soru şunlar olmalıdır:

  • Bağımsız: Diğer soruların bağımlı olmayan
  • Salt Okuma: Yalnızca yıkıcı olmayan işlemler gereklidir
  • Karmaşık: Birden çok araç çağrısı ve derin keşif gerektiren
  • Gerçekçi: İnsanların önemsediği gerçek kullanım durumlarına dayanan
  • Doğrulanabilir: String karşılaştırması ile doğrulanabilecek tek, net cevap
  • Sabit: Cevap zaman içinde değişmeyecek

4.4 Çıktı Formatı

Bu yapıya sahip bir XML dosyası oluşturun:

<evaluation>
  <qa_pair>
    <question>Hayvan kod adlarıyla AI model piyasaya sürüşlerinin tartışıldığı başlıkları bulun. Bir model, ASL-X formatını kullanan belirli bir güvenlik ataması gerekiyordu. Benekli bir vahşi kedinin adıyla adlandırılan model için belirlenen X numarası nedir?</question>
    <answer>3</answer>
  </qa_pair>
<!-- Daha fazla qa_pairs... -->
</evaluation>

Referans Dosyaları

📚 Belgelendirme Kitaplığı

Geliştirme sırasında gerektiği kadar bu kaynakları yükleyin:

Temel MCP Belgeleri (Önce Yükleyin)

  • MCP Protokolü: https://modelcontextprotocol.io/llms-full.txt'ten alın - Tam MCP belirtimi
  • 📋 MCP En İyi Uygulamalar - Evrensel MCP yönergeleri, aşağıdakileri içerir:
    • Sunucu ve araç adlandırma kuralları
    • Yanıt formatı yönergeleri (JSON vs Markdown)
    • Sayfalandırma en iyi uygulamaları
    • Karakter sınırları ve kesme stratejileri
    • Araç geliştirme yönergeleri
    • Güvenlik ve hata işleme standartları

SDK Belgeleri (Aşama 1/2 Sırasında Yükleyin)

  • Python SDK: https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md'den alın
  • TypeScript SDK: https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md'den alın

Dile Özgü Uygulama Kılavuzları (Aşama 2 Sırasında Yükleyin)

  • 🐍 Python Uygulama Kılavuzu - Tamamlayıcı Python/FastMCP kılavuzu, aşağıdakileri içerir:

    • Sunucu başlatma desenleri
    • Pydantic model örnekleri
    • @mcp.tool ile araç kaydı
    • Tamamlayıcı çalışan örnekler
    • Kalite kontrol listesi
  • ⚡ TypeScript Uygulama Kılavuzu - Tamamlayıcı TypeScript kılavuzu, aşağıdakileri içerir:

    • Proje yapısı
    • Zod şema desenleri
    • server.registerTool ile araç kaydı
    • Tamamlayıcı çalışan örnekler
    • Kalite kontrol listesi

Değerlendirme Kılavuzu (Aşama 4 Sırasında Yükleyin)

  • ✅ Değerlendirme Kılavuzu - Tamamlayıcı değerlendirme oluşturma kılavuzu, aşağıdakileri içerir:
    • Soru oluşturma yönergeleri
    • Cevap doğrulama stratejileri
    • XML format belirtimleri
    • Örnek soru ve cevaplar
    • Sağlanan komut dosyalarıyla değerlendirme çalıştırma

Benzer skill'ler

brainstorming Design

Herhangi bir yaratıcı çalışmaya başlamadan önce bunu mutlaka kullanın - feature oluştururken, component inşa ederken, functionality eklerken veya davranış değiştirirken. Kullanıcı niyetini, gereksinimleri ve tasarımı implementation öncesinde araştırır.

obra/superpowers ★ 235,495
finishing-a-development-branch Design

Uygulama tamamlandığında, tüm testler geçtiğinde ve çalışmanızı nasıl entegre edeceğinize karar vermeniz gerektiğinde kullanın - merge, PR veya cleanup seçeneklerini sunarak geliştirme sürecinin tamamlanmasını rehberlik eder.

obra/superpowers ★ 235,495
receiving-code-review Design

Kod incelemesi geri bildirimi alırken, önerileri uygulamadan önce kullanın; özellikle geri bildirim belirsiz veya teknik olarak şüpheli görünüyorsa - performatif anlaşmadan veya körü körüne uygulamadan ziyade teknik titizlik ve doğrulama gerekir.

obra/superpowers ★ 235,495
requesting-code-review Design

Görevleri tamamlarken, büyük özellikleri hayata geçirirken veya merge etmeden önce çalışmanın gereksinimleri karşıladığını doğrulamak için kullanın.

obra/superpowers ★ 235,495
using-git-worktrees Design

Yeni bir feature üzerinde çalışmaya başlarken veya implementasyon planını yürütmeden önce kullanın - native araçlar veya git worktree fallback aracılığıyla izole edilmiş bir workspace sağlar.

obra/superpowers ★ 235,495
using-superpowers Design

Herhangi bir konuşma başlatırken kullanın - skill'lerin nasıl bulunacağını ve kullanılacağını belirler, clarification soruları da dahil olmak üzere HERHANGİ bir yanıt vermeden önce skill invocation gerektirir.

obra/superpowers ★ 235,495
Daha fazla: Design →