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 primitivi | Nədir | Android 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 — oxunur | Daxili 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 sampling və logging 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
- MCP arxitekturasırəsmimodelcontextprotocol.io
İştirakçılar, qatlar, primitivlər və JSON-RPC mübadiləsinin addım-addım izahı.
- MCP spesifikasiyasırəsmimodelcontextprotocol.io