Güvenilir Araç Kullanan Agent'lar için Agent Skills ve MCP
Agent skills ve MCP'yi açıklıyoruz: talimatları, tool bağlantılarını, güvenlik sınırlarını ve versioning süreçlerini karşılaştırın; güvenilir AI agent'lar için ikisini ne zaman birlikte kullanmanız gerektiğini öğrenin.
agent skills ve MCP seçimi çoğu zaman “bir AI'a araç vermenin” iki farklı yolu arasındaki rekabet olarak ele alınır. Bu bakış açısı eksiktir. Bir skill ile Model Context Protocol server, problemin farklı katmanlarını çözer: Biri agent'a bir alanda nasıl çalışacağını öğretirken diğeri standartlaştırılmış bir bağlantı üzerinden yetenekleri ve context'i sunar.
Dockup, bir SKILL.md kullanır; çünkü temel arayüzü mevcut bir command-line tool'dur. Skill, Claude Code ve Codex'e bu CLI'ı güvenli şekilde kullanmayı öğretir: her zaman JSON istemek, non-interactive şekilde authenticate olmak, hedefleri tam olarak belirlemek, terminal deployment state'lerini beklemek ve destructive işlemlerden önce durmak.
Agent skill nedir ve SKILL.md neden önemlidir?
Agent skill, bir görevin amacı skill'in amacıyla eşleştiğinde agent'ın yükleyebileceği işletim talimatlarını ve destekleyici referansları içeren bir directory'dir. SKILL.md giriş noktasıdır: frontmatter bölümü capability'yi açıklar; gövdesi ise workflow'ları, kısıtlamaları, örnekleri ve karar kurallarını anlatır.
Çalıştırılabilir arayüz zaten mevcut olduğunda skill özellikle kullanışlıdır. Agent'ın iyi tasarlanmış bir CLI'ı çalıştırmak için yeni bir protocol adapter'a ihtiyacı yoktur. İhtiyacı olan şey, aşağıdaki konularda doğru bilgidir:
- Hangi command'lerin authoritative olduğu.
- Machine use için hangi flag'lerin gerekli olduğu.
- Bir sandbox'ta authentication'ın nasıl çalıştığı.
- Hangi çıktıların başarıyı kanıtladığı.
- Hangi işlemlerde bir insanın gerektiği.
- Secret'ların nerelerde görünebileceği.
- Yaygın hataların nasıl teşhis edileceği.
Dockup kurulumu bilerek basit tutulmuştur:
npm install -g dockup-cli
dockup skill install
dockup skill status --json
Tek bir canonical kopya ~/.agents/skills/dockup/ konumuna yazılır ve hem Claude Code hem de Codex'e linklenir. Skill, CLI package içinde gelir ve dockup update ikisini birlikte günceller. Bu packaging kararı, yaygın bir hata durumunu önler: kurulu binary'nin desteklemediği command'leri açıklayan talimatlar.
Skill deployment engine değildir. CLI işlemleri gerçekleştirir, JSON üretir ve exit code'lar döndürür. Skill, agent'ın izlediği kullanım kılavuzudur.
Model Context Protocol nedir?
Yaygın olarak MCP adıyla anılan Model Context Protocol, bir AI uygulamasını client-server architecture üzerinden harici tool'lara, resource'lara ve prompt'lara bağlayan açık bir protocol'dür. Bir MCP server, çağrılabilir tool'lar, okunabilir resource'lar ve yeniden kullanılabilir prompt'lar sunabilir. Agent host içindeki MCP client bu capability'leri keşfeder ve çağırır.
MCP, local shell execution yerine kalıcı bir protocol boundary gerektiğinde değerlidir. Örnekler:
- Dikkatle type edilmiş operasyonları sunması gereken remote bir SaaS API.
- Göz atılabilir resource'lar sağlayan bir data source.
- CLI göndermeden tool discovery özelliği sunmak isteyen bir desktop application.
- Birçok agent host ve işletim sistemi tarafından kullanılan merkezi bir service.
- Server'ın credential'ları ve policy'yi yönetmesi gereken bir integration.
Server, her tool'un arkasındaki implementation'ı kontrol eder. Agent host; tanımlanan adı, description'ı, input schema'yı ve output'u görür. Transport, lifecycle ve authorization, seçilen MCP kurulumuna bağlıdır.
MCP, domain judgment'ı otomatik olarak sağlamaz. Bir server delete_service sunabilir; ancak agent'ın silmenin ne zaman uygun olduğuna ilişkin bir policy'ye yine de ihtiyacı vardır. Buna karşılık bir skill bir workflow'u açıklayabilir, ancak temel CLI veya API'de bulunmayan capability'ler oluşturamaz.
Agent skills ve MCP pratikte nasıl farklılaşır?
En net karşılaştırma, sorumluluklar üzerinden yapılabilir:
| Boyut | Agent skill / SKILL.md | MCP server |
|---|---|---|
| Temel görev | Workflow'ları ve kısıtlamaları öğretmek | Tool'ları, resource'ları ve prompt'ları sunmak |
| Execution | Mevcut CLI, file'lar, API'ler veya application'ları kullanır | Server çağrılabilir capability'leri implementation eder |
| Discovery | Agent eşleşen skill talimatlarını yükler | Client server capability'lerini keşfeder |
| Deployment | Genellikle package ile kurulan bir folder | Local veya remote bir server process'i |
| Version riski | Talimatlar tool'dan drift edebilir | Server schema'sı backend davranışından drift edebilir |
| En uygun kullanım | Mevcut arayüzün uzman kullanım rehberine ihtiyaç duyması | Capability'nin standartlaştırılmış bir protocol boundary'ye ihtiyaç duyması |
| Güvenlik odağı | Davranış kuralları ve command güvenliği | Connection, server trust, scope'lar ve tool authorization |
| Offline/local kullanım | Local CLI'larla mükemmel | Local MCP server ile mümkün |
| Birden fazla client'ta yeniden kullanım | Skill'i her host için kopyalamak veya package'lamak | Tek bir server, birden fazla uyumlu client'ı destekleyebilir |
Her iki sütun da doğası gereği daha “agentic” değildir. Güvenilirlik, arayüzü sistemle eşleştirmekten gelir.
Dockup için CLI'da zaten 135 command, structured JSON, gerçek exit code'lar, 900 saniyelik varsayılan deploy timeout'u, secret masking ve confirmation gate'leri bulunur. Her command'i başka bir local server içinde sarmalamak, temel deployment truth'u değiştirmeden bir translation layer ekler. Skill, zaten mevcut olan executable contract'ın agent tarafından nasıl kullanılacağını öğrettiği için doğrudan uygun çözümdür.
CLI'ı olmayan remote bir platform bunun tam tersine karar verebilir. Bir MCP server, eksik olan typed tool surface'i sağlayabilir ve API credential'larını agent'ın shell environment'ının dışında tutabilir.
Ne zaman skill, MCP veya ikisini birlikte kullanmalısınız?
Aşağıdaki koşulların tümü geçerliyse yalnızca skill kullanın:
- Olgun bir CLI veya local application gerekli capability'yi zaten sunuyor.
- Agent host'un bunu çalıştırmasına izin veriliyor.
- Machine-readable output ve exit semantics yeterli.
- Temel eksik connectivity değil, procedural knowledge.
- Packaging, talimatları executable ile uyumlu tutabiliyor.
Agent'ın protocol-native bir connection'a ihtiyaç duyduğu ve server'ın kendisinin güvenli çalışma için yeterli context'i sağlayabildiği durumlarda yalnızca MCP kullanın. Bu yaklaşım; read-heavy data access, remote service'ler ve stable bir cross-client tool interface isteyen application'lar için yaygındır.
Protocol tool'larının daha kapsamlı bir operating playbook'a ihtiyaç duyduğu durumlarda ikisini birlikte kullanın. Bir MCP server güvenli ve type edilmiş primitive'ler sunabilirken skill multi-step business workflow'unu, escalation rule'larını ve validation criteria'larını açıklayabilir. Skill, agent'a her MCP tool'unu ne zaman ve neden çağıracağını söyleyebilir.
Birleşik architecture şu şekilde görünebilir:
User request
↓
Skill: workflow, policy, validation rules
↓
MCP client: discovers typed capabilities
↓
MCP server: authenticates and executes
↓
External system
CLI merkezli bir architecture daha basittir:
User request
↓
Skill: workflow, policy, validation rules
↓
CLI: JSON output + exit code + wait semantics
↓
Platform API
Complexity, iyileştirdiği bir boundary ile gerekçelendirilmelidir. Sırf moda olduğu için MCP eklemek; deploy edilmesi, authenticate edilmesi, monitor edilmesi ve version'lanması gereken başka bir process oluşturabilir.
Karar örnekleri
| Durum | Daha iyi başlangıç noktası | Neden |
|---|---|---|
| JSON output sunan local deployment CLI | Skill | Connectivity zaten mevcut |
| Structured resource'lara sahip company knowledge base | MCP | Resource discovery merkezi öneme sahip |
| CLI'ı olmayan database administration API | MCP | Typed remote operation'lar kullanışlı |
| Mevcut tool'lar arasında karmaşık release runbook'u | Skill | Temel ihtiyaç cross-tool procedure |
| Ayrıntılı policy gerektiren regulated remote operation'lar | İkisi birlikte | Server scope'u uygular; skill davranışı yönlendirir |
| Tek seferlik personal automation | Skill veya doğrudan CLI | En düşük operational overhead |
Doğru yanıt zaman içinde değişebilir. Bir ekip CLI etrafında bir skill ile başlayabilir; ardından remote multi-client access veya merkezi credential mediation önem kazandığında bir MCP server ekleyebilir.
Güvenlik ve trust boundary'leri nasıl karşılaştırılır?
Skill'ler talimatlardan oluştuğu için trust riski, operational influence'a sahip code documentation riskine benzer. Kötü niyetli veya dikkatsiz bir skill, agent'a secret'ları açığa çıkarmasını, safeguard'ları devre dışı bırakmasını ya da destructive command'ler çalıştırmasını söyleyebilir. Yalnızca başlığını değil, directory'nin tamamını inceleyin.
Skill incelemesinde şu soruları sorun:
- Kim yayınladı?
- Belirtilen amacı dışındaki command'leri çağırıyor mu?
- Agent'a token'ları veya credential'ları yazdırmasını söylüyor mu?
- Confirmation'ları bypass ediyor mu?
- Command örnekleri kurulu version'dan mı türetilmiş?
- Güncellemeler skill'i review olmadan değiştirebilir mi?
- Skill, sınırları belirlenmiş bir target-discovery process tanımlıyor mu?
MCP bir server trust boundary'si oluşturur. Client, hangi server'a bağlandığını, server'ın hangi tool'ları sunduğunu, hangi verilerin machine dışına çıktığını ve authorization'ın nasıl scope edildiğini bilmelidir. Server, sabit bir tool adı arkasındaki davranışı değiştirebilir; bu nedenle deployment provenance ve server versioning önemlidir.
MCP incelemesinde şu soruları sorun:
- Server local mi remote mu?
- Server'ı kim işletiyor?
- Credential'lar nasıl saklanıyor ve rotate ediliyor?
- Hangi tool call'ları data mutate edebilir veya silebilir?
- Tool input'ları server-side validate ediliyor mu?
- Output'lar untrusted content olarak mı ele alınıyor?
- Her call audit edilebiliyor mu?
- Client kullanılabilir tool'ları kısıtlayabilir mi?
Agent host, “MCP üzerinden keşfedildi” ifadesini “güvenli” olarak değerlendirmemelidir. Protocol standardization interoperability'yi geliştirir; her server'ın güvenilirliğini garanti etmez.
Dockup'ın skill'i çeşitli safety rule'ları kodlar: interactive login yerine DOCKUP_TOKEN kullanmak, credential'ları asla yazdırmamak, dockup services --json ile target'ları keşfetmek, --wait kullanmak ve needs_confirm durumunda durmak. CLI, secret'ları mask'leyerek ve explicit approval olmadan destructive operation'ları reddederek bu talimatları güçlendirir. Bu defense-in-depth model AI agent'lar için production guardrail'leri makalesinde açıklanmıştır.
Versioning ve failure recovery nasıl çalışmalı?
Version drift her iki yaklaşımda da mümkündür; ancak farklı şekillerde ortaya çıkar.
Dokümante edilen command değiştiğinde skill outdated olabilir. En güçlü mitigation, skill'i executable ile package'lamak ve ikisini tek bir release process'i üzerinden güncellemektir. Dockup bu modeli izler. Agent, kurulu skill'i kontrol edebilir:
dockup skill status --json
Bir update, CLI'ı ve bundled skill'i birlikte yeniler:
dockup update
Bir MCP client, server'ın güncel tool schema'larını keşfedebilir; ancak schema compatibility semantic compatibility'yi garanti etmez. Bir tool aynı input'ları korurken authorization'ı, side effect'leri, latency'yi veya output yorumunu değiştirebilir. Server version yayınlamalı, mümkün olduğunda backward compatibility'yi korumalı ve structured error'lar döndürmelidir.
Failure handling de farklıdır. CLI doğal olarak process exit code'ları sunar. Bir MCP tool call da aynı derecede net bir application-level result sağlamalıdır. Her iki durumda da agent, transport-level acknowledgment'dan başarı sonucu çıkarmamalıdır.
Kullanışlı bir reliability checklist'i şöyledir:
| Gereksinim | Skill + CLI implementation | MCP implementation |
|---|---|---|
| Capability discovery | CLI schema | Server tool list |
| Structured output | JSON/NDJSON | Typed tool result |
| Failure signal | Non-zero exit + code | Explicit error result |
| Long operation | --wait / documented stream | Progress veya completion protocol |
| Secret protection | Masking ve stderr discipline | Server-side redaction |
| Destructive approval | CLI confirmation gate | Server policy veya client confirmation |
| Audit | Platform audit log | Server ve backend audit log'ları |
| Version check | Skill/binary status | Server metadata ve schema'lar |
Arayüz, failure'ın success olarak yanlış raporlanmasını success'in yanlış raporlanmasından daha zor hale getirmelidir.
Production ekibi hangi architecture'ı seçmeli?
Gerçek eksikliği tanımlayarak başlayın.
Ekip zaten güvendiği ve işlettiği bir CLI'a sahipse skill-first architecture'ı seçin. CLI'ın machine contract'ına yatırım yapın: JSON, gerçek exit code'lar, stable error code'lar, version ile uyumlu talimatlar ve confirmation. Ardından skill'i bu tool ile package'layın. Bu yaklaşım, Dockup üzerinden Claude Code deployment ve Codex deployment için en kısa yoldur.
Capability doğası gereği remote, resource-oriented veya birçok client arasında paylaşılıyorsa MCP-first seçin. Server'ı production software olarak ele alın: authenticate edin, scope'layın, monitor edin ve her mutation'ı review edin.
Policy ve connectivity bağımsız olarak karmaşıksa ikisini birlikte seçin. Sorumlulukları net tutun. Skill, server implementation'ını tekrar etmemeli; server description'ı da kapsamlı bir operational manual'a dönüşmemelidir.
Pratik bir evaluation workshop'u
Bir read operation, bir reversible write, bir long-running operation ve engellenmesi gereken bir destructive operation içeren küçük bir proof çalıştırın. Her tasarımı şu kriterlere göre puanlayın:
- Agent operation'ı nasıl keşfediyor?
- Credential'lar nasıl sağlanıyor?
- Başarı nasıl kanıtlanıyor?
- Failure nasıl kategorize ediliyor?
- İnsan tehlikeli işlemi nasıl onaylıyor?
- Log'lar ve audit evidence nasıl alınıyor?
- Version'lar nasıl uyumlu tutuluyor?
- Integration nasıl temiz şekilde kaldırılıyor?
Kararı yalnızca bir diagram'a bakarak vermeyin. Failure path'lerini gözlemleyin. Happy path'te zarif görünen bir design; deployment timeout olduğunda, server disconnect olduğunda veya instruction file bir release gerisinde kaldığında belirsizleşebilir.
Dockup CLI reference, skill destekli bir CLI contract'ına somut bir örnek sunar. Daha geniş kapsamlı AI-powered development makalesi, agent'lar development loop'un daha büyük bir bölümünü üstlendikçe bu arayüzlerin neden önemli olduğunu açıklar.
Operational ownership'ı hesaba katın
Integration'ın sahibi, architecture'ı kadar önemlidir. CLI etrafına kurulmuş bir skill genellikle CLI'ın installation, release ve support process'ini devralır. Binary'yi yayınlayan ekip, eşleşen talimatları gönderebilir ve bunları birlikte test edebilir.
Bir MCP server ayrı bir production component'i oluşturur. Birilerinin hosting, certificate'lar veya local process startup, authentication, monitoring, incident response, schema compatibility ve dependency update'lerinden sorumlu olması gerekir. Server anlamlı bir shared boundary olduğunda bu yatırım karşılığını verebilir. Zaten yeterli bir executable'a yalnızca local call'ları forward ettiğinde ise gereksiz overhead oluşturur.
Evaluation sırasında her layer'ın sahibini yazılı olarak belirleyin:
| Layer | Skill-first sahibi | MCP-first sahibi |
|---|---|---|
| Domain instructions | Skill publisher | Client prompt veya companion skill |
| Executable behavior | CLI publisher | MCP server team |
| Credential handling | CLI ve runtime environment | Server ve client connection |
| Availability | Local executable ve platform API | Server process, transport ve backend |
| Schema compatibility | CLI release process | MCP server release process |
| Incident evidence | CLI output ve platform audit | Client log'ları, server log'ları ve backend audit |
Bu ownership table, agent skills ve MCP tartışmasını feature checklist'inden çoğu zaman daha net şekilde sonuçlandırır.
Latency ve failure surface'lerini değerlendirin
Local skill ile CLI call'ın yolu kısadır: agent host, process, platform API. MCP path'i server startup, transport negotiation, remote routing ve başka bir authentication layer ekleyebilir. Bu eklemeler doğası gereği kötü değildir; ancak her biri ayrı bir failure surface oluşturur.
Disconnect, expired credential, malformed input, partial long-running operation ve server upgrade durumlarını test edin. Agent, failure'ın host'ta mı, protocol connection'da mı, server'da mı yoksa external platform'da mı gerçekleştiğini söyleyebilmelidir. Production çalışması için genel bir “tool failed” sonucu yeterli değildir.
Uzun deployment'larda interface, terminal-state semantics'i korumalıdır. Çağrı bir CLI --wait operation'ı veya progress kullanan bir MCP tool'u olsun, agent acknowledgment'ı success'e dönüştürmemelidir. Agent skills ve MCP seçimi bu gereksinimi ortadan kaldırmaz.
Truth'tan ödün vermeden portability planlayın
MCP, aynı server'ın shared protocol üzerinden tool'ları duyurması sayesinde compatible client'lar arasındaki portability'yi geliştirebilir. Claude Code ve Codex'in Dockup installation modelinde yaptığı gibi, birden fazla agent aynı directory ve SKILL.md convention'larını desteklediğinde skill'ler de portable olabilir.
Portability ancak semantics kesinliğini koruduğu sürece kullanışlıdır. deploy adlı bir tool'un queued olduğunda mı yoksa healthy olduğunda mı döndüğünü tanımlaması gerekir. “Deploy et ve doğrula” diyen bir skill talimatı, bu kanıtı gerçekten sağlayabilecek bir command'e işaret etmelidir.
En güçlü design, domain truth'u executable layer'a yakın tutar ve üst layer'ı intent'i açıklamak için kullanır. Agent skills ve MCP karşılaştırmasında ne standardized protocol ne de iyi yazılmış bir instruction file, belirsiz bir backend operation'ını telafi edebilir.
Workflow'u production'a taşıyın
Güvenilir bir boundary oluşturan en küçük architecture'ı kullanın. Dockup için packaged skill'i kurun ve CLI'ın deployment truth'unun executable source'u olarak kalmasını sağlayın.
npm install -g dockup-cli
dockup skill install
İlk command CLI'ı kurar. İkinci command, Claude Code ve Codex için eşleşen Dockup skill'ini kurar. app.dockup.ai adresinden ücretsiz başlayın.
SSS
Agent skill'ler ve MCP aynı şey midir?
Hayır. Skill temel olarak talimatlar ve operating knowledge sağlar. MCP ise tool'ları, resource'ları ve prompt'ları client-server connection üzerinden sunmak için bir protocol sağlar.
SKILL.md dosyası command'leri kendi başına çalıştırır mı?
Hayır. Agent'a CLI, file'lar, API'ler veya MCP tool'ları gibi temel capability'leri nasıl kullanacağını söyler. İşlemi executable interface gerçekleştirir.
MCP yerine skill ne zaman daha iyidir?
Olgun bir local CLI zaten güvenli ve machine-readable operation'lar sağlıyorsa ve eksik olan parça workflow guidance ise skill çoğu zaman daha basit bir seçimdir.
Agent skill ve MCP'yi birlikte kullanabilir mi?
Evet. Skill multi-step workflow'u ve policy'yi açıklarken MCP server, bu workflow'un kullandığı typed tool'ları ve resource'ları sunabilir.
Dockup skill'ini neden CLI package içinde sunuyor?
İkisini birlikte package'lamak, dockup update'in executable'ı ve talimatlarını tek seferde yenilemesini sağlar. Böylece skill'in farklı bir command version'ını açıklama riski azalır.
