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 mkdir -p ~/.claude/skills/mcp-builder
curl -fsSL https://raw.githubusercontent.com/smartnews/claude-skills/HEAD/mcp-builder/SKILL.md \
-o ~/.claude/skills/mcp-builder/SKILL.md 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.
Yüksek kaliteli bir MCP sunucusu oluşturmak dört ana aşamayı içerir:
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:
schedule_event hem müsaitliği kontrol eden hem de etkinlik oluşturan)Sınırlı Bağlam İçin Optimize Edin:
İşlem Yapılabilir Hata Mesajları Tasarlayın:
filter='active_only' kullanmayı deneyin"Doğal Görev Alt Bölümlerini İzleyin:
Değerlendirme Odaklı Geliştirme Kullanın:
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.
Aşağıdaki referans dosyalarını yükleyin ve okuyun:
Python uygulamaları için, ayrıca yükleyin:
https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.mdNode/TypeScript uygulamaları için, ayrıca yükleyin:
https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.mdBir hizmet entegre etmek için, TÜM mevcut API belgelerini okuyun:
Kapsamlı bilgi toplamak için gerektiği kadar web araması ve WebFetch aracını kullanın.
Araştırmanıza göre, aşağıdakileri içeren ayrıntılı bir plan oluşturun:
Araç Seçimi:
Paylaşılan Yardımcı Programlar ve Yardımcılar:
Giriş/Çıkış Tasarımı:
Hata İşleme Stratejisi:
Kapsamlı bir plana sahip olduğunuza göre, dile özgü en iyi uygulamaları izleyerek uygulamaya başlayın.
Python için:
.py dosyası oluşturun veya modüllere organize edin (bkz. 🐍 Python Kılavuzu)Node/TypeScript için:
package.json ve tsconfig.json'u ayarlayınUygulamaya başlamak için, araçları uygulamadan önce paylaşılan yardımcı programları oluşturun:
Plandaki her araç için:
Giriş Şemasını Tanımlayın:
Kapsamlı Docstring'ler/Açıklamalar Yazın:
Araç Mantığını Uygulayın:
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)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:
model_config ile Pydantic v2 modelleriNode/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ıany türleri yok - uygun türleri kullanınnpm run build)İlk uygulamadan sonra:
Kaliteyi sağlamak için, kodu aşağıdakiler açısından gözden geçirin:
Ö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ı:
timeout 5s python server.pyPython için:
python -m py_compile your_server.pyNode/TypeScript için:
npm run build'i çalıştırın ve hatasız tamamlandığından emin olunUygulama kalitesini doğrulamak için, dile özgü kılavuzdan uygun kontrol listesini yükleyin:
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.
Değerlendirmeler, LLM'lerin MCP sunucunuzu kullanarak gerçekçi, karmaşık soruları etkili bir şekilde yanıtlayabilmelerini test eder.
Etkili değerlendirmeler oluşturmak için, değerlendirme kılavuzunda özetlenen süreci izleyin:
Her soru şunlar olmalıdır:
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>
Geliştirme sırasında gerektiği kadar bu kaynakları yükleyin:
https://modelcontextprotocol.io/llms-full.txt'ten alın - Tam MCP belirtimihttps://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md'den alınhttps://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md'den alın🐍 Python Uygulama Kılavuzu - Tamamlayıcı Python/FastMCP kılavuzu, aşağıdakileri içerir:
@mcp.tool ile araç kaydı⚡ TypeScript Uygulama Kılavuzu - Tamamlayıcı TypeScript kılavuzu, aşağıdakileri içerir:
server.registerTool ile araç kaydı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.
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.
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.
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.
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.
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.