MCP (Model Context Protocol) sunucuları oluşturmak için kapsamlı bir rehber; LLM'lerin iyi tasarlanmış araçlarla harici hizmetlerle etkileşim kurmasını sağlar. Python (FastMCP) veya Node/TypeScript (MCP SDK) ile harici API'ler ve servisleri entegre etmek için MCP sunucuları geliştirirken kullanın.
cd ~/.claude/skills
git clone https://github.com/anthropics/skills.git skills mkdir -p ~/.claude/skills/mcp-builder
curl -fsSL https://raw.githubusercontent.com/anthropics/skills/HEAD/skills/mcp-builder/SKILL.md \
-o ~/.claude/skills/mcp-builder/SKILL.md LLM'lerin iyi tasarlanmış araçlar aracılığıyla harici hizmetlerle etkileşimde bulunmasını sağlayan MCP (Model Context Protocol) sunucuları oluşturun. Bir MCP sunucusunun kalitesi, LLM'lerin gerçek dünya görevlerini ne kadar iyi yerine getirebilmesine göre ölçülür.
Yüksek kaliteli bir MCP sunucusu oluşturmak dört ana aşamayı içerir:
API Kapsamı vs. İş Akışı Araçları: Kapsamlı API endpoint kapsamını özel iş akışı araçlarıyla dengeleyin. İş akışı araçları belirli görevler için daha uygun olabilir, ancak kapsamlı kapsam ajanlar için işlemleri birleştirme esnekliği sağlar. Performans istemciye göre değişir—bazı istemciler temel araçları birleştiren kod yürütmesinden yararlanırken, diğerleri daha yüksek seviye iş akışlarıyla daha iyi çalışır. Emin olmadığınızda, kapsamlı API kapsamını önceliklendirin.
Araç Adlandırması ve Keşfedilebilirlik:
Açık, açıklayıcı araç adları ajanların doğru araçları hızlı bir şekilde bulmasına yardımcı olur. Tutarlı önekler kullanın (örn. github_create_issue, github_list_repos) ve eylem odaklı adlandırma yapın.
Bağlam Yönetimi: Ajanlar kısa araç açıklamalarından ve sonuçları filtreleme/sayfalandırma yeteneğinden yararlanır. Odaklanmış, ilgili verileri döndüren araçlar tasarlayın. Bazı istemciler ajanların verileri verimli bir şekilde filtrelemesine ve işlemesine yardımcı olabilecek kod yürütmeyi destekler.
Eyleme Döndürülebilir Hata Mesajları: Hata mesajları ajanları belirli öneriler ve sonraki adımlarla çözümlere doğru yönlendirmelidir.
MCP belirtiminde gezinin:
Site haritasından başlayarak ilgili sayfaları bulun: https://modelcontextprotocol.io/sitemap.xml
Daha sonra markdown formatı için .md sonekiyle belirli sayfaları getirin (örn. https://modelcontextprotocol.io/specification/draft.md).
İncelenecek temel sayfalar:
Önerilen stack:
Framework belgelerini yükleyin:
TypeScript için (önerilir):
https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md yüklemek için WebFetch kullanınPython için:
https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md yüklemek için WebFetch kullanınAPI'yi Anlayın: Hizmetin API belgelerini inceleyerek anahtar uç noktaları, kimlik doğrulama gereksinimlerini ve veri modellerini belirleyin. Gerektiğinde web arama ve WebFetch kullanın.
Araç Seçimi: Kapsamlı API kapsamını önceliklendirin. Uygulanacak uç noktaları, en yaygın işlemlerden başlayarak listeleyin.
Dile özgü kılavuzlara bakın:
Paylaşılan yardımcı programlar oluşturun:
Her araç için:
Giriş Şeması:
Çıkış Şeması:
outputSchema tanımlayınstructuredContent kullanın (TypeScript SDK özelliği)Araç Açıklaması:
Uygulama:
Ek Açıklamalar:
readOnlyHint: true/falsedestructiveHint: true/falseidempotentHint: true/falseopenWorldHint: true/falseŞunlar için inceleyin:
TypeScript:
npm run build çalıştırınnpx @modelcontextprotocol/inspectorPython:
python -m py_compile your_server.pyAyrıntılı test yaklaşımları ve kalite kontrol listeleri için dile özgü kılavuzlara bakın.
MCP sunucunuzu uyguladıktan sonra, etkinliğini test etmek için kapsamlı değerlendirmeler oluşturun.
Tam değerlendirme yönergeleri için ✅ Değerlendirme Kılavuzu yükleyin.
Değerlendirmeleri, LLM'lerin MCP sunucunuzu gerçekçi, karmaşık sorulara yanıt vermek için etkili bir şekilde kullanıp kullanamayacağını test etmek için kullanın.
Etkili değerlendirmeler oluşturmak için değerlendirme kılavuzunda belirtilen işlemi takip edin:
Her sorunun şunları sağladığından emin olun:
Bu yapıyla bir XML dosyası oluşturun:
<evaluation>
<qa_pair>
<question>Find discussions about AI model launches with animal codenames. One model needed a specific safety designation that uses the format ASL-X. What number X was being determined for the model named after a spotted wild cat?</question>
<answer>3</answer>
</qa_pair>
<!-- More qa_pairs... -->
</evaluation>
Geliştirme sırasında gerektiği gibi bu kaynakları yükleyin:
https://modelcontextprotocol.io/sitemap.xml adresindeki site haritasından başlayın, ardından .md sonekiyle belirli sayfaları getirinhttps://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md adresinden getirinhttps://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md adresinden getirin🐍 Python Uygulama Kılavuzu - Tam Python/FastMCP kılavuzu ile:
@mcp.tool ile araç kaydı⚡ TypeScript Uygulama Kılavuzu - Tam TypeScript kılavuzu ile:
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.