Sparround

MCP arxitekturası: host, client, server

MCP client-server arxitekturasına əsaslanır və üç iştirakçısı var:

  • MCP Host — AI tətbiqinin özü (Claude Code, Claude Desktop, VS Code). Bir və ya bir neçə client-i idarə edir.
  • MCP Client — bir server ilə əlaqəni saxlayan komponent. Host hər server üçün ayrıca client yaradır.
  • MCP Server — kontekst və alətləri təqdim edən proqram. Lokal (sizin maşınınızda proses) və ya uzaq (şəbəkə üzərindən) ola bilər.

Diqqət ediləcək nüans: "server" sözü burada mütləq uzaq maşın demək deyil. Faylsistemə çıxış verən MCP server sizin maşınınızda ayrıca proses kimi işləyir və yenə də "server" adlanır.

Protokol iki qatdan ibarətdir:

  • Data qatı — JSON-RPC 2.0 üzərində qurulan mübadilə protokolu: mesajların strukturu, imkanların (capabilities) elanı, primitivlər.
  • Transport qatı — əlaqə kanalı: proseslərarası (stdio) və ya şəbəkə (HTTP).

Bu ayrılıq praktiki fayda verir: eyni JSON-RPC mesaj formatı hər transport üzərində işləyir. Server yazarkən əsasən data qatı ilə məşğul olursunuz, transportu SDK təmin edir.

Server primitiviNədirAndroid nümunəsi
Tools (alətlər)Modelin çağıra biləcəyi funksiyalar — hərəkət edir`get_crash_details(issue_id)`, `run_instrumented_test(module)`
Resources (resurslar)Kontekst üçün data mənbələri — oxunurDaxili API sənədləşməsi, dizayn sistemi tokenləri
Prompts (şablonlar)Təkrar istifadə olunan qarşılıqlı əlaqə şablonları"Bu crash-i triaj et" şablonu

Client tərəfin də öz primitivi var: elicitation — server istifadəçidən əlavə məlumat və ya təsdiq istəyə bilər. Protokolun 2026-07-28 versiyasından etibarən əvvəllər mövcud olan samplinglogging client primitivləri köhnəlmiş (deprecated) sayılır; yeni tətbiqlər üçün onlara arxalanmaq tövsiyə olunmur.

Kəşf (discovery) mexanizmi: client tools/list sorğusu ilə server-in hansı alətləri təqdim etdiyini soruşur. Cavabda hər alət üçün ad, təsvir və inputSchema (JSON Schema) gəlir. Model həmin təsvirlərə baxaraq hansı aləti çağıracağına qərar verir.

Bu, praktiki bir nəticə verir: alət təsvirləri modelin gördüyü yeganə şeydir. Pis yazılmış təsvir — işləməyən alət deməkdir, tam olaraq skill-in description sahəsində olduğu kimi.

📚 Mənbələr və sənədlər