Modül 3 · Domain 2 — Tool & MCP (%20-25, EN AĞIR) · ⏱ 22 dakika

Domain 2 özeti — Tool seçimi, MCP, ortam & güvenli yürütme

Domain 2 — Tool selection, MCP, environment & safe execution

Bu derste neler öğreneceksin

  • Tool seçimi ve least-privilege izin modelini bilmek
  • GitHub remote MCP server, MCP allow list ve MCP registry farkını ayırt etmek
  • Agent'ı CI workflow'da scope'lu çalıştırmayı öğrenmek
  • Retry → rollback → escalation zincirini ezberlemek
  • 4 mini quiz ile en ağır domain'i pekiştirmek

Ağırlık: %20-25 — EN AĞIR. Mock’ta ~11 soru. Bu domain için iki kat zaman ayır; community raporu (jingchang0623) “tool calling agent’larda en zor kısım” diyor.

Domain 2 dört alt-bölüm: (1) tool seçimi & izin, (2) MCP server’lar, (3) ortam entegrasyonu, (4) güvenli yürütme & hata yönetimi.

1. Tool seçimi ve izin (least-privilege başlar)

Üç bullet:

  • Identify required tools — görev için MİNİMUM tool seti
  • Configure agent tools — bağla
  • Configure agent tool permissions — sadece gerekli scope

GitHub’da least-privilege üçlüsü:

  1. Scoped token — fine-grained PAT veya workflow permissions: bloğu
  2. Repo/branch scope — agent sadece izinli repo/branch’te yazar
  3. MCP allow list — agent sadece izinli MCP tool’lara erişir

Sınav formülü: “Agent’a least-privilege uygula” sorusu cevabı üç mekanizmanın birlikte kullanıldığı seçenektir.

2. MCP — sınavın çekirdek konusu

MCP (Model Context Protocol) = agent’ların tool/veri’ye bağlandığı standart arayüz. Sınav 4 bullet sorar:

BulletNe demek
Add an MCP server as a tool to an agentServer’ı agent’a bağla
Configure a GitHub remote MCP serverGitHub’ın resmi remote server’ını yapılandır
Configure the MCP registriesServer’ların keşfedileceği dizinler
Configure MCP allow listsHangi server/tool erişilebilir — güvenlik sınırı

Allow list vs Registry — community’de en sık karıştırılan ikili

Allow listRegistry
Ne yaparGüvenlik sınırı: kim/ne erişebilirKeşif: server’lar nerede
Karar”Bu agent şu MCP server’a erişebilir mi?""Hangi server’lar mevcut?”
Yanlış yapılırsaYetkisiz erişim, veri sızıntısıServer bulunamaz, agent başlamaz
Karıştırma”Registry’ye eklersem otomatik erişim olur” — YANLIŞ”Allow list’e koymadıysam registry’de görünmez” — YANLIŞ

Allow list ve registry bağımsız kontrollerdir. İkisini de yapılandırman gerekir.

3. Agent’ı geliştirme ortamına entegre etme

6 bullet — hepsi GitHub-yerli mekanizmalardır:

BulletGitHub karşılığı
Evaluate execution contextRepo, branch, runner env, secrets — agent ne görüyor?
Configure agent’s scope to specific repositoryRepo-bazlı scope (Copilot agent ayarı + token scope)
Configure agent to be invoked in a CI workflowActions workflow event-trigger (push, PR, issue)
Configure agent to use branch-based scopeSadece belli branch’lerde çalışsın
Enable agent to perform autonomous actions (branches, PRs)Yazma izni + branch protection ile gate
Handle environment-specific constraintsStaging↔prod env, secret farklılıkları

4. Güvenli yürütme + hata yönetimi (retry/rollback/escalation)

5 bullet — sınavın imza zinciri:

Error → Retry (idempotent ise) → Rollback (bilinen iyi state) → Escalation (insan)

                                              Traceability (her adım kayıtlı)

Doğru sıralama

  1. Retry — sadece idempotent action için (DB write değil; API call ile aynı request ID retry edilebilir)
  2. Rollback — partial state varsa bilinen iyi state’e dön
  3. Escalation — retry+rollback çözmediyse insana net bağlam (logs, denenen adımlar, hata) ile bildir
  4. Traceability — her adım Actions logs + PR/commit history + audit log’da iz bırakır

Lab önerisi (Domain 2 için, ~2 saat)

  1. Test repo’da Copilot custom agent tanımla
  2. Bir remote MCP server bağla (örn. resmi GitHub remote MCP)
  3. Allow list ile sadece 2 tool’a (read repo + create issue) erişim ver
  4. Actions workflow: on: issues event’iyle agent’ı tetikle (issue açılınca agent triage yapar, branch + PR açar)
  5. Bilinçli bir hata yarat (yanlış tool param) → Actions log’a bak → retry/rollback/escalation hangisi devreye girmeli karar ver

Mini quiz — Domain 2 (4 soru)

MCP allow list ve MCP registry arasındaki fark nedir?

Agent'a least-privilege uygulamak için GitHub'da hangi üçlü birlikte kullanılır?

Agent'ın tool çağrısı başarısız oldu. Sınavın beklediği müdahale sırası nedir?

Agent multi-step REST API task'ının 3. adımında bozuldu, partial state yazılı. Doğru ilk aksiyon nedir?

Sırada ne var?

Domain 3 — Memory & state. Sınavın daha hafif (%10-15) ama kavramsal olarak çatallı domain’i. Senin secondbrain mimarini biliyorsan büyük kısmı tanıdık gelecek.