Agent Skills vs MCP: aradaki fark ne?
Agent skills mi MCP mi diye kararsız kaldıysan dürüst cevap şu: muhtemelen ikisine de ihtiyacın var. Karışıklık normal — ikisi de agent'ın yeteneklerini genişletiyor, ikisi de aynı kurulum rehberlerinde geçiyor. Ama MCP nedir, skill farkı ne diye bakınca ortaya bir rekabet değil bir iş bölümü çıkıyor. Agent Skills uzmanlığı paketler (nasıl yapılır bilgisini), MCP (Model Context Protocol) ise bağlanabilirliği paketler (erişimi). Biri agent'a bir prosedürü öğretir, diğeri ona araçları uzatır. Bu sayfada sınırı net çiziyoruz, sonra ikisinin nasıl birlikte çalıştığını gösteriyoruz.
Her biri tam olarak ne
İkisini karıştırmayı bırakmanın en hızlı yolu bilgi ile bağlanabilirliği ayırmak. Bir skill agent'a *ne yapılacağını ve nasıl* söyler. MCP ise agent'a *dış sistemlere ulaşma imkânını* verir. Farklı katmanlarda yaşarlar; bu yüzden onları rakip gibi karşılaştırmak baştan yanlış bir soru.
Agent Skills (SKILL.md)
Bir Agent Skill paketlenmiş uzmanlıktır. Somut olarak bir klasördür: içinde bir SKILL.md dosyası — zorunlu name ve description alanlarını taşıyan YAML frontmatter, artı bir markdown gövde — ve isteğe bağlı olarak yanına eklenmiş referans dosyaları ve çalıştırılabilir script'ler bulunur. Anthropic skill'leri "agent'ların dinamik olarak keşfedip yükleyebildiği düzenli talimat, script ve kaynak klasörleri" olarak tanımlıyor.
Asıl mekanizma progressive disclosure, yani context'i ucuz tutan kademeli açılım:
- 1. seviye — metadata:
name+description(skill başına ~100 token) başlangıçta her zaman yüklenir. Bir sürü skill kurabilirsin, context cezası yok. - 2. seviye — gövde: tam
SKILL.md(~5k token'ın altında) yalnızca skill tetiklendiğinde context'e okunur. - 3. seviye — kaynaklar: yanına eklenen dosyalar ve script'ler yalnızca erişildiğinde yüklenir — pratikte sınırsızdır ve kullanılana kadar sıfır token harcar. Script'in *kodu* asla context'e girmez, yalnızca çıktısı girer.
Yani bir skill, modelin on-demand okuduğu bir oyun kitabıdır. İş akışlarını, alan standartlarını ve en iyi pratikleri kodlar — "Excel raporlarını şu formüllerle biçimlendir", "veritabanını her zaman önce tarih aralığına göre filtrele".
MCP (Model Context Protocol)
MCP paketlenmiş bağlanabilirliktir. Anthropic'in 25 Kasım 2024'te tanıttığı açık bir standarttır ve N×M entegrasyon problemini çözmek için doğdu — yani her model-araç eşleşmesi için ayrı özel connector yazma dağınıklığını. Resmî benzetme: MCP "AI uygulamaları için bir USB-C portu", herhangi bir modeli herhangi bir araca bağlayan evrensel bir konnektör.
Mimari olarak MCP client-server'dır. Bir host uygulama (bir IDE, sohbet uygulaması veya agent runtime'ı) içinde bir MCP client barındırır; bu client bir ya da daha fazla MCP server'a bağlanır ve JSON-RPC 2.0 mesajları alışverişi yapar. Her server üç primitif sunar:
- Tools — runtime'ın çağırabildiği çalıştırılabilir fonksiyonlar (genelde kullanıcı onayına tabi).
- Resources — client'ın okuyabildiği dosya benzeri veri ve context (dosyalar, API yanıtları).
- Prompts — yeniden kullanılabilir şablonlar.
Server'lar ya yerelde stdio üzerinden bir alt süreç olarak ya da uzaktan HTTP üzerinden çalışır (güncel spec Streamable HTTP kullanır; eski HTTP+SSE transport artık kullanımdan kaldırıldı). MCP, çalışma anında yetenek keşfi ve çağrımı için bir wire protokolüdür — doğal dil talimat formatı değildir. 2025 boyunca benimsenme neredeyse evrensel oldu (OpenAI, Google ve Microsoft benimsedi; 2025 sonunda 10.000+ public server), Aralık 2025'te Anthropic MCP'yi Linux Foundation'ın Agentic AI Foundation'ına bağışladı.
Skill mi MCP mi: tek bakışta
| Boyut | Agent Skills (SKILL.md) | MCP |
|---|---|---|
| Nedir | Talimat / bilgi — modelin okuduğu paketlenmiş uzmanlık | Bağlanabilirlik / araçlar — sistemlere erişim veren açık protokol |
| Mekanizma | Markdown + isteğe bağlı script, progressive disclosure ile context'e okunur | Client-server protokol; server'lar tool, resource ve prompt sunar |
| Yürütme | Model talimatı okur ve uygular; ekli script'ler host'ta çalışır | Runtime bir MCP server'ın tool'larını çağırır ve sonucu geri okur |
| En uygun | İş akışı, standart ve prosedür öğretmek | Veritabanı, API, SaaS ve dosyalara bağlanmak |
| Context maliyeti | On-demand — tetiklenene kadar sıfıra yakın (metadata ~100 token) | Tool tanımları baştan register edilir, bağlı kaldıkça sayılır |
Son satır en keskin teknik fark. Skill'ler context'i dosya sistemi üzerinden erteler — skill tetiklenene kadar tek satırlık açıklamadan başka hiçbir şey yüklenmez. MCP ise bir server bağlandığında tool tanımlarını (name, description, input şeması) modele register eder ve bu tanımlar bağlantı canlı kaldığı sürece pencereden yer kaplar. (Anthropic'in "code execution with MCP" çalışması tam da bu tool-tanımı yükünü azaltmayı hedefliyor.)
Hangisini ne zaman kullanmalı
Basit bir karar rehberi:
- Dış bir sisteme ulaşman mı gerekiyor? MCP kullan. Google Drive, Slack, GitHub, bir Postgres veritabanı, yerel dosyalar, IDE'n — agent'ın bağlanıp işlem yapması gereken her şey bir MCP server'ın arkasında yaşar.
- Bir prosedür veya standart mı öğretmen gerekiyor? Skill kullan. "Release notları şöyle yazarız", "rapor formatımız bu", "API'yi önce şöyle sorgula" — bunlar bir
SKILL.md. - Agent bir tool'u sürekli yanlış mı kullanıyor? Bu bir bağlanabilirlik değil, skill sorunudur. Bağlantı çalışıyor; agent'ın oyun kitabına ihtiyacı var.
- Başkaları için MCP server mı yazıyorsun? Yanına, agent'lara onu iyi kullanmayı öğreten bir skill de gönder.
Pratik kural: bağlanabilirlik lazımsa → MCP; bir yaklaşım öğretmek lazımsa → skill.
İkisini birlikte kullan
En yetenekli kurulumlar ikisini birden kullanır, çünkü bir skill MCP tool'larını çağıran bir iş akışını anlatabilir. MCP eldir; skill o eli yöneten oyun kitabıdır.
Somut örnek — bir release-notes skill'i. SKILL.md senin sürecini kodlar:
```markdown
name: release-notes description: Son tag'den bu yana merge edilen PR'lardan release notu taslakla.
Adımlar
1. GitHub MCP server'ını kullanarak son release tag'inden beri merge edilen PR'ları listele. 2. Etikete göre grupla: Features, Fixes, Breaking. 3. Her kaydı geçmiş zamanda, tek satır, PR'a link vererek yaz. 4. Breaking değişiklikleri, migration notuyla birlikte en üste koy.
Burada **skill** alan uzmanlığını sağlar — gruplama kuralları, ton, sıralama, migration-notu geleneği. **GitHub MCP server'ı** ise bağlanabilirliği sağlar — runtime'ın gerçek veriyi çekmek için çağırdığı asıl `list_pull_requests` tool'unu. Hiçbiri diğerinin yerine geçmez. MCP server'ını çıkar, skill'in verisi kalmaz; skill'i çıkar, agent'ın elinde ham PR'lar olur ama onları nasıl şekillendireceğine dair fikri olmaz.
Anthropic ilişkiyi doğrudan söylüyor: "MCP Claude'u veriye bağlar; Skills Claude'a o veriyle ne yapacağını öğretir." İkisini birlikte kullan — bağlanabilirlik için MCP, prosedürel bilgi için Skills.
Ortak bir uyarı: skill'leri **yalnızca güvenilir kaynaklardan** kur. Kötü niyetli bir `SKILL.md` ya da ekli bir script, agent'ı tool'ları kötüye kullanmaya veya veri sızdırmaya yönlendirebilir — ve bu risk tam da skill çoğu zaman MCP'nin sağladığı eli yönettiği için katlanır. Bir skill kurmayı, bir yazılım kurmak gibi düşün.
## Okumaya devam et
- [Agent Skills ana rehber](/learn/agent-skill-ve-skill-md-nedir) — skill'ler ve `SKILL.md` için tam kılavuz.
- [Agent skill nedir](/learn/claude-skills-nedir) — kavramı en baştan.
- [SKILL.md, CLAUDE.md, AGENTS.md farkı](/learn/skill-md-claude-md-agents-md-farki) — talimat dosyaları nasıl ayrışıyor.
Stack'inin bilgi tarafını kurmaya hazır mısın? Hazır uzmanlık için [skill'lere göz at](/browse) ya da kendi skill'ini paketlemek için [Skill Builder](/create)'ı aç.