[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"portal-settings:stajic:sr":3,"public-menus:all":38,"post:mcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits:sr":205,"related:post:mcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits:sr:1":3521},{"statusCode":4,"data":5,"message":37},200,{"tenantId":6,"lang":7,"defaultLang":8,"siteUrl":9,"contactEmail":10,"brandName":11,"logoUrl":12,"siteName":11,"siteDescription":13,"ogImage":10,"robotsIndex":14,"socialLinks":10,"reservedSlugs":10,"seoPolicy":15},"stajic","sr","de","https:\u002F\u002Fstajic.de",null,"Stajic Platform","\u002FLogo_Planet.svg","Stajic Portal",true,{"branding":16,"relatedContent":17,"crossDomainLinks":18},{"logoUrl":12},{"enabled":14},[19,22,25,28,31,34],{"url":20,"label":21,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Ffigure.rocks","figure.rocks",{"url":23,"label":24,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Floving.rocks","loving.rocks",{"url":26,"label":27,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.com","bazify.com",{"url":29,"label":30,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.de","bazify.de",{"url":32,"label":33,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.at","bazify.at",{"url":35,"label":36,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.ba","bazify.ba","Portal settings resolved",[39,45],{"id":40,"name":41,"location":42,"isActive":14,"isDefault":43,"items":44},1,"main-navigation","header",false,[],{"id":46,"name":47,"location":48,"isActive":14,"isDefault":14,"items":49},4,"main-menu","sidebar",[50,66,79,93,103,118,133],{"id":51,"title":52,"url":60,"target":61,"icon":62,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":64,"portfolioId":10,"children":65},"item-18",{"de":53,"en":54,"es":55,"fr":56,"it":54,"ru":57,"sr":58,"zh":59},"Startseite","Home","Inicio","Accueil","Главная","Почетна","首页","\u002Ffull-stack-web-developer-munich-performance-seo-and-maintainable-builds","_self","i-lucide-home","page",111,[],{"id":67,"title":68,"url":75,"target":61,"icon":76,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":77,"portfolioId":10,"children":78},"item-22",{"de":69,"en":69,"es":70,"fr":69,"it":71,"ru":72,"sr":73,"zh":74},"Vision","Visión","Visione","Видение","Визија","想象","\u002Fueber-uns-webdesign-muenchen-webaplikation","i-lucide-eye",113,[],{"id":80,"title":81,"url":89,"target":61,"icon":90,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":91,"portfolioId":10,"children":92},"item-19",{"de":82,"en":83,"es":84,"fr":83,"it":85,"ru":86,"sr":87,"zh":88},"Leistungen","Services","Servicios","Servizi","Услуги","Услуге","服务","\u002Fservices-dienstleistungen-muenchen","i-lucide-wrench",116,[],{"id":94,"title":95,"url":99,"target":61,"icon":100,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":101,"portfolioId":10,"children":102},"item-23",{"de":96,"en":96,"es":96,"fr":96,"it":96,"ru":97,"sr":97,"zh":98},"Blog","Блог","博客","\u002Fblog","i-lucide-book-open",112,[],{"id":104,"title":105,"url":114,"target":61,"icon":115,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":116,"portfolioId":10,"children":117},"item-32",{"de":106,"en":107,"es":108,"fr":109,"it":110,"ru":111,"sr":112,"zh":113},"Neue Technologien","New Technologies","Nuevas tecnologías","Nouvelles technologies","Nuove tecnologie","Новые технологии","Нове технологије","新技术！","\u002Fneue-webtechnologien","i-lucide-sparkles",122,[],{"id":119,"title":120,"url":129,"target":61,"icon":130,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":131,"portfolioId":10,"children":132},"item-20",{"de":121,"en":122,"es":123,"fr":124,"it":125,"ru":126,"sr":127,"zh":128},"Kontakt","Contact us!","Contacto","Contact","Contatto","Контакт","Контактирајте нас","联系我们！","\u002Fcontact","i-lucide-mail",115,[],{"id":134,"title":135,"url":144,"target":61,"icon":145,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":146,"portfolioId":10,"children":147},"item-21",{"de":136,"en":137,"es":138,"fr":139,"it":140,"ru":141,"sr":142,"zh":143},"Unsere Arbeit","Our Work","Nuestro trabajo","Nos réalisations","I nostri lavori","Наши работы","Наши радови","文件夹","\u002Fportfolio","i-lucide-briefcase",114,[148,161,175,181,193],{"id":149,"title":150,"url":144,"target":61,"icon":159,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":146,"portfolioId":10,"children":160},"item-24",{"de":151,"en":152,"es":153,"fr":154,"it":155,"ru":156,"sr":157,"zh":158},"Alle Projekte","All Projects","Todos los proyectos","Tous les projets","Tutti i progetti","Все проекты","Сви пројекти","所有项目","i-lucide-grid-3x3",[],{"id":162,"title":163,"url":171,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":174},"item-29",{"de":164,"en":165,"es":166,"fr":167,"it":168,"ru":169,"sr":170,"zh":143},"Local Roots, Global Reach","Local Roots - Global Reach","Empresa local ","Entreprise locale","Azienda locale","Местная компания","Локално предузеће глобално тржиште","\u002Fportfolio\u002Flocal-roots-global-reach-communication-media-systems-for-modern-business","i-lucide-folder","custom",[],{"id":176,"title":177,"url":179,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":180},"item-28",{"de":178,"en":178,"es":178,"fr":178,"it":178,"ru":178,"sr":178,"zh":178},"Solr Suggester","\u002Fportfolio\u002Fsolr-fuzzy-suggester-und-solr-infix-suggester-abfrage-ueber-ajax-und-filterung",[],{"id":182,"title":183,"url":191,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":192},"item-27",{"de":184,"en":185,"es":186,"fr":187,"it":188,"ru":189,"sr":190,"zh":185},"Firmenwebseite SEO","Company Website SEO","Sitio web corporativo SEO","Site web d’entreprise SEO","Sito web aziendale SEO","Корпоративный сайт SEO","Пословна веб-страница SEO","\u002Fportfolio\u002Fseo-sem-branding-mobile-webseite-muenchen",[],{"id":194,"title":195,"url":203,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":204},"item-31",{"de":196,"en":197,"es":198,"fr":199,"it":200,"ru":201,"sr":202,"zh":197},"Digitalisierungsportal","Digitalization Portal","Portal de digitalización","Portail de numérisation","Portale di digitalizzazione","Портал цифровизации","Портал за дигитализацију","\u002Fportfolio\u002Fdigitalisierungsportal-archiv-museum-bibliothek-ead-lido-mets-mods",[],{"statusCode":4,"data":206,"message":3520},{"id":207,"title":208,"slug":209,"content":210,"contentJson":211,"excerpt":1611,"featuredImage":1612,"featuredImageAlt":1613,"featuredImageCaption":10,"featuredImageTitle":10,"featuredImageCopyright":10,"featuredImageAuthor":10,"featuredImageSourceUrl":10,"featuredImageLicense":10,"featuredImageIsAiGenerated":43,"status":1614,"publishedAt":1615,"createdAt":1616,"updatedAt":1617,"seoLocalePaths":1618,"categories":1627,"author":1644,"translations":1649},"492","MCP objašnjen: Šta povezuje, šta ne radi i gde se uklapa","mcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","\u003Cp>Model Context Protocol (MCP) je otvoreni protokol za povezivanje AI aplikacija sa spoljnim mogućnostima i informacijama kroz standardizovane ugovore klijent-server. MCP server može da izloži alate, resurse i upite; MCP-kompatibilan host ili klijent otkriva i koristi te mogućnosti u ime AI aplikacije. MCP ne zahteva da server pokreće sopstveni jezički model i ne zamenjuje runtime agenta, poslovnu autorizaciju, izolaciju zakupaca, API-je aplikacije ili arhitekturu domena iza izloženih mogućnosti.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--info my-6 rounded-xl border p-5 border-blue-300 bg-blue-50 dark:border-blue-900 dark:bg-blue-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Direktan odgovor\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">\u003Cstrong>MCP standardizuje granicu između AI hosta i spoljnih provajdera mogućnosti.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>Korisna mentalna mapa je:\u003Cbr>\u003Cstrong>Korisnik → AI host \u002F runtime agenta → MCP klijent → MCP server → aplikacija\u002FAPI\u002Fpodaci\u002Falat\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>Model može u potpunosti da ostane na strani hosta. MCP server može biti običan deterministički softver koji izlaže strukturisane mogućnosti.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--success my-6 rounded-xl border p-5 border-emerald-300 bg-emerald-50 dark:border-emerald-900 dark:bg-emerald-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">MCP serveru nije potreban sopstveni AI model\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">MCP server za fajl sistem može da prikaže ili pročita fajlove. MCP server za bazu podataka može da izvrši odobrene upite. MCP server za Jira može da izloži operacije nad problemima. Nijednom od tih servera nije potreban LLM da bi ispunio MCP ugovor. Ako server interno koristi AI, to je izbor implementacije iza granice protokola, a ne MCP zahtev.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">MCP mogućnost nije poslovni autoritet\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Ako MCP server izloži \u003Ccode>delete_file\u003C\u002Fcode>, \u003Ccode>refund_order\u003C\u002Fcode> ili \u003Ccode>deploy_service\u003C\u002Fcode>, to samo znači da mogućnost postoji. Server\u002Faplikacija i dalje mora da sprovodi identitet, dozvole, obim zakupca, poslovna pravila, zahteve za potvrdu i revizorske kontrole. Otkrivanje protokola ne sme tiho da postane autorizacija.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Napomena o trenutnom izvoru — 8. oktobar 2026.\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Trenutna revizija MCP specifikacije je \u003Cstrong>2026-07-28\u003C\u002Fstrong>. Njena glavna promena je bezstanjezno jezgro protokola sa samoopisujućim zahtevima, opcionim \u003Ccode>server\u002Fdiscover\u003C\u002Fcode>, rutabilnim HTTP zaglavljima, keširanim odgovorima za liste\u002Fresurse, ojačanom autorizacijom i formalnim modelom ekstenzija. TypeScript SDK v2 je trenutna stabilna linija SDK-a koja implementira ovu reviziju. Stariji klijenti i serveri iz 2025. još uvek postoje, pa smernice za implementaciju moraju da budu svesne verzije.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Cnav class=\"editorjs-toc\" data-editorjs-toc=\"true\" aria-label=\"Sadržaj\">\u003Cstrong class=\"editorjs-toc__title\">Sadržaj\u003C\u002Fstrong>\u003Col class=\"editorjs-toc__list editorjs-toc__list--depth-0\">\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-7\" class=\"editorjs-toc__link\">Šta MCP zaista standardizuje\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-11\" class=\"editorjs-toc__link\">Najjednostavniji primer\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-16\" class=\"editorjs-toc__link\">Gde se jednostavan primer zaustavlja\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-20\" class=\"editorjs-toc__link\">MCP arhitektura: host, klijent i server\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-24\" class=\"editorjs-toc__link\">Tri osnovna serverska primitiva\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-26\" class=\"editorjs-toc__link\">Alati: pozive mogućnosti\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-30\" class=\"editorjs-toc__link\">Resursi: čitljiv kontekst i podaci\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-34\" class=\"editorjs-toc__link\">Upiti: šabloni za višekratnu upotrebu\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-38\" class=\"editorjs-toc__link\">Alat ili resurs?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-40\" class=\"editorjs-toc__link\">Gde se nalazi AI model?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-45\" class=\"editorjs-toc__link\">MCP ne zamenjuje API-je\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-49\" class=\"editorjs-toc__link\">MCP naspram pozivanja funkcija\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-52\" class=\"editorjs-toc__link\">MCP ne stvara petlju agenta\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-56\" class=\"editorjs-toc__link\">MCP naspram A2A\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-61\" class=\"editorjs-toc__link\">Lokalna i udaljena MCP upotreba imaju različite transportne realnosti\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-65\" class=\"editorjs-toc__link\">Zašto je poznavanje MCP verzije važno\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-69\" class=\"editorjs-toc__link\">Šta se promenilo u MCP 2026-07-28\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-71\" class=\"editorjs-toc__link\">Roots, sampling i logging više nisu pravac za nove implementacije\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-75\" class=\"editorjs-toc__link\">Dugotrajni rad nije isto što i obično pozivanje MCP alata\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-79\" class=\"editorjs-toc__link\">MCP aplikacije proširuju UI mogućnosti bez redefinisanja osnovnog protokola\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-83\" class=\"editorjs-toc__link\">MCP autorizacija nije vaš kompletan model autorizacije\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-88\" class=\"editorjs-toc__link\">Identitet može preći nekoliko granica\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-92\" class=\"editorjs-toc__link\">Izolacija zakupaca ostaje izvan MCP otkrivanja mogućnosti\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-96\" class=\"editorjs-toc__link\">MCP ne definiše izvor istine\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-100\" class=\"editorjs-toc__link\">MCP i inženjering konteksta\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-104\" class=\"editorjs-toc__link\">Dizajnirajte MCP alate oko ishoda i granica rizika\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-106\" class=\"editorjs-toc__link\">Odobrenja pripadaju arhitekturi izvršavanja\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-110\" class=\"editorjs-toc__link\">MCP observabilnost treba da poveže protokolske pozive sa domen­skim radnjama\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-114\" class=\"editorjs-toc__link\">Šta MCP ne može da popravi\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-116\" class=\"editorjs-toc__link\">Dokazi originalne implementacije: Aaasaasa AI Client\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-124\" class=\"editorjs-toc__link\">Kada je MCP dobro rešenje\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-126\" class=\"editorjs-toc__link\">Kada vam MCP nije potreban\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-130\" class=\"editorjs-toc__link\">MCP bezbednosna kontrolna lista\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-132\" class=\"editorjs-toc__link\">Uobičajene zablude\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-134\" class=\"editorjs-toc__link\">Praktičan redosled MCP dizajna\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-136\" class=\"editorjs-toc__link\">MCP arhitektonska kontrolna lista\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-138\" class=\"editorjs-toc__link\">Rubni slučajevi i ograničenja\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-144\" class=\"editorjs-toc__link\">Šta bi promenilo ovaj odgovor?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-148\" class=\"editorjs-toc__link\">Povezano kanonsko znanje\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-153\" class=\"editorjs-toc__link\">Često postavljana pitanja\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-155\" class=\"editorjs-toc__link\">Pojmovnik\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-157\" class=\"editorjs-toc__link\">Zaključak\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-161\" class=\"editorjs-toc__link\">Primarni izvori i trenutna dokumentacija\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fnav>\n\u003Ch2 id=\"section-7\">Šta MCP zaista standardizuje\u003C\u002Fh2>\n\u003Cp>Pre MCP-a, svaka AI aplikacija je mogla da integriše spoljne sisteme kroz sopstvenu šemu alata, format dodatka, konvenciju autentifikacije i kod za povezivanje. Isti servis je mogao da zahteva različite adaptere za desktop AI klijent, IDE agenta i prilagođenu aplikaciju.\u003C\u002Fp>\n\u003Cp>MCP stvara granicu protokola koja se može ponovo koristiti. Spoljni sistem izlaže mogućnosti kroz MCP server, dok kompatibilni AI hostovi implementiraju MCP klijent. Ovo smanjuje spreganje integracije između AI aplikacije i osnovnog provajdera alata ili podataka.\u003C\u002Fp>\n\u003Cp>Protokol ne standardizuje celu aplikaciju. On standardizuje kako se mogućnosti opisuju, otkrivaju i pozivaju preko te granice.\u003C\u002Fp>\n\u003Ch2 id=\"section-11\">Najjednostavniji primer\u003C\u002Fh2>\n\u003Cp>Pretpostavimo da AI aplikacija za kodiranje treba pristup lokalnom direktorijumu projekta. Bez MCP-a, aplikacija bi mogla direktno da implementira sopstvenu integraciju sa fajl sistemom.\u003C\u002Fp>\n\u003Cp>Sa MCP-om, server za fajl sistem može da izloži mogućnosti kao što su prikaz direktorijuma, čitanje odobrenih fajlova ili pisanje unutar dozvoljenog radnog prostora. AI host se povezuje preko MCP klijenta i predstavlja te mogućnosti modelu ili runtime-u agenta.\u003C\u002Fp>\n\u003Cp>Server ne mora da razume korisnikov zahtev na prirodnom jeziku. Host\u002Fmodel odlučuje koja je mogućnost korisna; MCP server izvršava strukturisani zahtev pod sopstvenim bezbednosnim pravilima.\u003C\u002Fp>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Osnovni MCP poziv alata\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. Host se povezuje sa serverom\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Aplikacija koja podržava MCP konfiguriše pristup spoljnom MCP serveru.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. Mogućnosti se otkrivaju\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Klijent saznaje koje alate, resurse ili upite server izlaže.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. Model ili runtime bira mogućnost\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">AI aplikacija odlučuje da je jedna izložena mogućnost potrebna.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">4. Klijent šalje strukturisani zahtev\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Argumenti se šalju kroz MCP serveru.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">5\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">5. Server autorizuje i izvršava\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Server validira zahtev i poziva svoj osnovni sistem.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">6\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">6. Rezultat se vraća hostu\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Rezultat postaje zapažanje ili kontekstni ulaz.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">7\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">7. Host odlučuje šta sledi\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Model\u002Fruntime može da odgovori, pozove drugi alat ili nastavi radni tok.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-16\">Gde se jednostavan primer zaustavlja\u003C\u002Fh2>\n\u003Cp>MCP ne definiše kako host bira alat, kako agent planira, kako se modeluje poslovni radni tok ili kako domenski objekat kao što je faktura ili implementacija treba da se ponaša.\u003C\u002Fp>\n\u003Cp>Protokol može da učini integraciju interoperabilnom dok osnovna aplikacija ostaje netačna, nesigurna ili loše dizajnirana. Savršeno validan MCP zahtev i dalje može da pozove pogrešnu poslovnu mogućnost.\u003C\u002Fp>\n\u003Cp>Centralna granica je: MCP standardizuje semantiku integracije, a ne istinitost aplikacije ili poslovnu ispravnost.\u003C\u002Fp>\n\u003Ch2 id=\"section-20\">MCP arhitektura: host, klijent i server\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Komponenta\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Odgovornost\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">AI host\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">AI aplikacija ili runtime okrenut korisniku koji poseduje interakciju sa modelom, kontekst i ukupan tok rada\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">MCP klijent\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Komponenta na strani protokola koju host koristi za komunikaciju sa MCP serverom\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">MCP server\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Objavljuje mogućnosti i obrađuje MCP zahteve\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Osnovni sistem\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Aplikacija, API, baza podataka, fajl sistem, SaaS platforma ili servis iza MCP servera\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Model\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Bira ili zaključuje o mogućnostima u skladu sa dizajnom hosta\u002Fruntime-a; nije obavezno unutar MCP servera\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Autorizacija\u002Fposlovna politika\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Određuje da li je tražena operacija zaista dozvoljena\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>Host može da se poveže sa više MCP servera, a jedan MCP server može da stoji ispred jednog ili više osnovnih sistema. Host ostaje odgovoran za integraciju MCP rezultata u širu AI aplikaciju.\u003C\u002Fp>\n\u003Cp>Server može biti lokalan u odnosu na host, pokrenut kao odvojen proces ili udaljen preko mrežnog transporta. Topologija hostovanja i lokacija modela su nezavisne odluke.\u003C\u002Fp>\n\u003Ch2 id=\"section-24\">Tri osnovna serverska primitiva\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Alati, resursi i upiti rešavaju različite potrebe\u003C\u002Fh3>\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left dark:border-gray-700 dark:bg-gray-900\">\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Alati\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Resursi\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Upiti\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Primarna svrha\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Tipična interakcija\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Primer\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Tipičan rizik\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-26\">Alati: pozive mogućnosti\u003C\u002Fh2>\n\u003Cp>Alati su strukturisane operacije koje MCP server stavlja na raspolaganje hostu. Alat ima naziv, opis i ulaznu šemu; moderne implementacije mogu da obezbede i strukturisani izlaz.\u003C\u002Fp>\n\u003Cp>Primeri uključuju pretragu repozitorijuma, čitanje zapisa o klijentu, kreiranje tiketa, pokretanje build-a ili slanje poruke. Alati mogu biti samo za čitanje ili imati sporedne efekte.\u003C\u002Fp>\n\u003Cp>Dobra površina MCP alata treba da predstavlja koherentne ciljeve korisnika ili agenta, a ne da mehanički preslikava svaki interni API endpoint. Operacije sa različitim dozvolama, zahtevima za potvrdu ili obimom uticaja obično treba da budu odvojeni alati.\u003C\u002Fp>\n\u003Ch2 id=\"section-30\">Resursi: čitljiv kontekst i podaci\u003C\u002Fh2>\n\u003Cp>Resursi izlažu podatke ili sadržaj koje klijent može da navede ili pročita. Prirodno odgovaraju kada je semantička operacija „daj mi ovaj artefakt ili informaciju“, a ne „izvrši ovu radnju“.\u003C\u002Fp>\n\u003Cp>URI resursa nije odobrenje za pristup. Server i dalje poseduje kontrolu pristupa i mora da proveri koji principal sme da čita osnovni objekat.\u003C\u002Fp>\n\u003Cp>Revizija protokola od 2026-07-28 dodaje semantiku keširanja za odgovore na listanje i čitanje resursa, uključujući svežinu i obim keša, čineći ponašanje keširanja eksplicitnijim.\u003C\u002Fp>\n\u003Ch2 id=\"section-34\">Upiti: šabloni za višekratnu upotrebu\u003C\u002Fh2>\n\u003Cp>MCP upiti omogućavaju serveru da objavi šablone upita za višekratnu upotrebu kompatibilnim klijentima. To može da zadrži instrukcije specifične za domen blizu pružaoca mogućnosti.\u003C\u002Fp>\n\u003Cp>Upit koji dostavlja MCP server ne nadjačava automatski sistemske ili bezbednosne instrukcije hosta. Host odlučuje kako materijal upita ulazi u njegovu hijerarhiju konteksta.\u003C\u002Fp>\n\u003Cp>Sadržaj upita koji obezbeđuje protokol stoga treba tretirati kao podatke o mogućnostima sa eksplicitnom semantikom poverenja, a ne kao neograničeni autoritet instrukcija.\u003C\u002Fp>\n\u003Ch2 id=\"section-38\">Alat ili resurs?\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Potreba\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Preferirano\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Izvršavanje radnje sa strukturiranim argumentima\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Alat\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Čitanje određenog stabilnog artefakta\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Resurs\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Dinamička pretraga ili izračunavanje\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Obično alat\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Izmena eksternog stanja\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Alat\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pakovanje instrukcija za ponovnu upotrebu upita\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Upit\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Dugotrajno asinhrono izvršavanje\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Alat plus rukovanje zadacima aplikacije\u002Fruntime-a ili MCP ekstenzija\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-40\">Gde se nalazi AI model?\u003C\u002Fh2>\n\u003Cp>MCP ne zahteva da model radi na MCP serveru. Model može biti hostovan u oblaku, lokalno hostovan, ugrađen u desktop aplikaciju ili dostupan preko drugog provajdera.\u003C\u002Fp>\n\u003Cp>Host obično poseduje interakciju sa modelom. MCP server izlaže eksterne mogućnosti. Lokalni MCP server stoga može koristiti host čiji model radi u oblaku, a udaljeni MCP server može koristiti host čiji model radi lokalno.\u003C\u002Fp>\n\u003Cp>Ako MCP server sam interno poziva LLM, taj model je deo implementacije servera iza granice protokola; MCP ga ne zahteva.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--success my-6 rounded-xl border p-5 border-emerald-300 bg-emerald-50 dark:border-emerald-900 dark:bg-emerald-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Lokacija protokola ≠ lokacija inferencije\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">\u003Cstrong>Lokalni MCP ne podrazumeva lokalnu inferenciju, a udaljeni MCP ne podrazumeva udaljenu inferenciju.\u003C\u002Fstrong> Lokacija veze, lokacija izvršavanja alata i lokacija modela\u002Fprovajdera su odvojene arhitektonske dimenzije.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-45\">MCP ne zamenjuje API-je\u003C\u002Fh2>\n\u003Cp>MCP server često obavija postojeće API-je ili servise. REST, GraphQL, SQL, SDK pozivi i interni ugovori servisa mogu ostati tačno tamo gde jesu.\u003C\u002Fp>\n\u003Cp>MCP dodaje sloj interoperabilnosti okrenut AI-ju. Osnovni domenski API može ostati autoritativni ugovor aplikacije za obične determinističke klijente.\u003C\u002Fp>\n\u003Cp>Uobičajena arhitektura je stoga API\u002Fservis na prvom mestu, odabrana AI-orijentisana mogućnost na drugom — a ne „zameniti svaki API MCP-om“.\u003C\u002Fp>\n\u003Ch2 id=\"section-49\">MCP naspram pozivanja funkcija\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Pozivanje funkcija i MCP su povezani ali nisu identični\u003C\u002Fh3>\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left dark:border-gray-700 dark:bg-gray-900\">\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Pozivanje funkcija\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">MCP\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Obim\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Definicija alata\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Prenosivost\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Mogu li koegzistirati?\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Cp>OpenAI trenutno izlaže udaljene MCP servere kao jedan tip alata uporedo sa običnim pozivanjem funkcija, web pretragom, shell-om i drugim alatima. Ta implementacija ilustruje arhitektonski odnos: MCP povezivost i sopstveni interfejs modela za pozivanje alata mogu se komponovati.\u003C\u002Fp>\n\u003Ch2 id=\"section-52\">MCP ne stvara petlju agenta\u003C\u002Fh2>\n\u003Cp>AI agentu je potreban runtime koji može da odlučuje, poziva alate, posmatra rezultate, ažurira stanje i nastavlja ili zaustavlja. MCP može da obezbedi neke od alata i podataka koje ta petlja koristi.\u003C\u002Fp>\n\u003Cp>MCP server automatski ne postaje planer, sistem memorije ili orkestrator. Te odgovornosti obično ostaju u hostu ili runtime-u agenta.\u003C\u002Fp>\n\u003Cp>Neagentna aplikacija takođe može da koristi MCP. Jedan deterministički MCP poziv alata ne zahteva autonomnog agenta sa više koraka.\u003C\u002Fp>\n\u003Ch2 id=\"section-56\">MCP naspram A2A\u003C\u002Fh2>\n\u003Cp>MCP prvenstveno povezuje AI host ili agenta sa mogućnostima kao što su alati, resursi i podaci. A2A je usmeren na saradnju između nezavisnih agentskih sistema.\u003C\u002Fp>\n\u003Cp>Udaljeni agent može interno da koristi MCP za pristup bazama podataka i alatima, dok istovremeno izlaže A2A interfejs drugim agentima. Protokoli se stoga mogu slojevito kombinovati, a ne zamenjivati.\u003C\u002Fp>\n\u003Cp>Postojeći članak o protokolskom steku pokriva šire poređenje MCP\u002FA2A\u002FUCP\u002FAP2\u002FA2UI; G02 ostaje kanonska definicija MCP-a.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Fstajic.de\u002Fde\u002Fblog\u002Fmcp-vs-a2a-vs-ucp-vs-ap2-vs-a2ui-the-agent-protocol-stack-explained\" class=\"flex flex-col sm:flex-row gap-4 rounded-xl border border-gray-200 dark:border-gray-700 p-4 transition hover:border-primary-500\">\u003Cdiv class=\"min-w-0 flex-1\">\u003Cstrong class=\"block text-lg text-gray-900 dark:text-gray-100\">MCP vs A2A vs UCP vs AP2 vs A2UI: Objašnjen agentski protokolski stek\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">Šira mapa odgovornosti koja pokazuje kako se MCP kombinuje sa agentskom saradnjom, trgovinom, autoritetom plaćanja i protokolima agentskog interfejsa.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Pročitajte protokolski stek →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Ch2 id=\"section-61\">Lokalna i udaljena MCP upotreba imaju različite transportne realnosti\u003C\u002Fh2>\n\u003Cp>MCP može da se poveže sa lokalnim i udaljenim serverima. Lokalne desktop integracije obično koriste transporte na nivou procesa kao što je stdio; udaljeni serveri koriste HTTP-orijentisani transport.\u003C\u002Fp>\n\u003Cp>Revizija od 2026-07-28 čini jezgro protokola bezstanjem. Zahtevi nose informacije potrebne za rukovanje protokolom umesto da zavise od ranijeg modela sesije na nivou protokola.\u003C\u002Fp>\n\u003Cp>Trenutna revizija takođe postavlja nazive metoda i mogućnosti u HTTP zaglavlja kako bi gateway-i, WAF-ovi, ograničivači brzine i balanseri opterećenja mogli prirodnije da usmeravaju i mere MCP saobraćaj.\u003C\u002Fp>\n\u003Ch2 id=\"section-65\">Zašto je poznavanje MCP verzije važno\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Era protokola\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Operativna karakteristika\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">2025-11-25 i ranije\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Životni ciklus orijentisan na rukovanje\u002Fsesiju i starije ponašanje Streamable HTTP-a\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">2026-07-28\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Bezstanje jezgro, opciono otkrivanje servera, samoopisujući zahtevi, zaglavlja za rutiranje, naznake keša, MRTR i ojačana autorizacija\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ekstenzije\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Mogućnosti kao što su Tasks i MCP Apps mogu da se verzioniraju odvojeno od osnovnog protokola\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>Verzija SDK-a i verzija protokola su takođe različite stvari. Trenutni TypeScript v2 SDK je stabilna linija za reviziju 2026-07-28, dok stariji v1.x ostaje linija za održavanje za ponašanje iz 2025. godine.\u003C\u002Fp>\n\u003Cp>Arhitektonska dokumentacija treba da zabeleži i verziju SDK-a\u002Fbiblioteke i reviziju protokola tamo gde ponašanje interoperabilnosti zavisi od njih.\u003C\u002Fp>\n\u003Ch2 id=\"section-69\">Šta se promenilo u MCP 2026-07-28\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Promena\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Zašto je važna\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Bezstanje jezgro\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Udaljeni serveri mogu da se skaliraju iza običnih balansera opterećenja bez lepljivih sesija na nivou protokola\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">server\u002Fdiscover\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Klijenti mogu da pregledaju mogućnosti servera kada je to potrebno\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Samoopisujući zahtevi\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Verzija protokola i metapodaci o mogućnostima klijenta putuju sa svakim zahtevom\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Mcp-Method \u002F Mcp-Name zaglavlja\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Gateway-i mogu da rutiraju, mere i primenjuju politiku bez parsiranja tela\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Naznake keša\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Liste\u002Fčitanja resursa saopštavaju svežinu i obim deljenja\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Zahtevi sa više krugova\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Serveri mogu da zahtevaju dodatni unos bez starijeg dvosmernog modela zahteva\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ojačana autorizacija\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Validacija izdavaoca i povezivanje akreditiva jačaju ponašanje udaljene autentifikacije\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Okvir ekstenzija\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Tasks, MCP Apps i druge mogućnosti mogu da se razvijaju odvojeno\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-71\">Roots, sampling i logging više nisu pravac za nove implementacije\u003C\u002Fh2>\n\u003Cp>Izdanje 2026-07-28 označava roots, sampling i logging kao zastarele mogućnosti protokola sa definisanim periodom kompatibilnosti.\u003C\u002Fp>\n\u003Cp>Stariji tutorijali možda još uvek prikazuju ove funkcije kao centralne primitive. Novi rad na implementaciji treba da prati trenutnu specifikaciju, a ne da slepo kopira starije dijagrame životnog ciklusa.\u003C\u002Fp>\n\u003Cp>Ukidanje ne znači trenutno uklanjanje. Znači da novi sistemi treba da izbegavaju nepotrebne nove zavisnosti od mogućnosti od kojih se protokol udaljava.\u003C\u002Fp>\n\u003Ch2 id=\"section-75\">Dugotrajni rad nije isto što i obično pozivanje MCP alata\u003C\u002Fh2>\n\u003Cp>Dugotrajne operacije zahtevaju semantiku životnog ciklusa koja prevazilazi jednostavan trenutni rezultat alata. U trenutnom ekosistemu, Zadaci su premešteni u namensko MCP proširenje.\u003C\u002Fp>\n\u003Cp>Ovo pojačava koristan princip dizajna: osnovni protokol ne mora da apsorbuje svaku brigu o izvršavanju agenta.\u003C\u002Fp>\n\u003Cp>Aplikacija takođe može u potpunosti da zadrži vlasništvo nad dugotrajnim radnim tokom u svom sopstvenom izvršnom okruženju i da koristi obične MCP alate kao osnovne operacije.\u003C\u002Fp>\n\u003Ch2 id=\"section-79\">MCP aplikacije proširuju UI mogućnosti bez redefinisanja osnovnog protokola\u003C\u002Fh2>\n\u003Cp>MCP aplikacije povezuju bogatija interaktivna UI iskustva sa MCP alatima kroz model proširenja.\u003C\u002Fp>\n\u003Cp>Domaćin i dalje kontroliše kako se taj UI ugrađuje, izoluje i obezbeđuje.\u003C\u002Fp>\n\u003Cp>Razmena osnovnih mogućnosti i renderovanje UI stoga treba da ostanu odvojene arhitektonske odgovornosti.\u003C\u002Fp>\n\u003Ch2 id=\"section-83\">MCP autorizacija nije vaš kompletan model autorizacije\u003C\u002Fh2>\n\u003Cp>Udaljeni MCP zahteva mehanizme autentifikacije i autorizacije na nivou protokola kako bi klijenti i serveri mogli da uspostave pouzdan pristup. Trenutna specifikacija nastavlja da ojačava ponašanje povezano sa OAuth\u002FOIDC.\u003C\u002Fp>\n\u003Cp>Taj sloj odgovara na pitanje da li je klijentu dozvoljeno da se poveže ili zatraži opsege protokola. On automatski ne odgovara na pitanje da li Alice može da refundira porudžbinu 123, da li agent može da upiše produkcionu konfiguraciju ili da li Zakupac A može da čita podatke Zakupca B.\u003C\u002Fp>\n\u003Cp>Te domenske odluke pripadaju modelu autorizacije servera\u002Faplikacije i moraju se sprovesti pre pozivanja osnovne operacije.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Nikada ne mapirajte „autentifikovani MCP klijent“ u „pouzdan za svaki alat“\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Poverenje veze, vidljivost alata, dozvola za alat, korisnička autorizacija, izolacija zakupaca i poslovno odobrenje su različite kontrole. Držite ih odvojenim.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-88\">Identitet može preći nekoliko granica\u003C\u002Fh2>\n\u003Cp>MCP zahtev može uključivati MCP klijentsku aplikaciju, prijavljenog čoveka, identitet agenta\u002Fsesije i nalog usluge nizvodno.\u003C\u002Fp>\n\u003Cp>Serveru je potrebna eksplicitna politika o tome u ime kog principala se operacija izvršava. U suprotnom, moćna akreditacija usluge može postati put zloupotrebe poverenja.\u003C\u002Fp>\n\u003Cp>Za poslovnu upotrebu, korelacija između identiteta korisnika, identiteta agenta, MCP veze i nizvodne autorizacije jednako je važna kao i kompatibilnost protokola.\u003C\u002Fp>\n\u003Ch2 id=\"section-92\">Izolacija zakupaca ostaje izvan MCP otkrivanja mogućnosti\u003C\u002Fh2>\n\u003Cp>MCP server sa više zakupaca mora primeniti opseg zakupca kada čita ili menja resurse koji pripadaju zakupcu. Vraćanje alata pod nazivom search_documents ne definiše koji su dokumenti zakupca podobni.\u003C\u002Fp>\n\u003Cp>Opseg zakupca treba izvesti iz pouzdanog identiteta ili članstva i preneti ga u baze podataka, keševe, vektorsku pretragu, skladište objekata i nizvodne API-je.\u003C\u002Fp>\n\u003Cp>Dohvatanje sadržaja između zakupaca i traženje od modela da ga ne koristi već je neuspeh izolacije.\u003C\u002Fp>\n\u003Ch2 id=\"section-96\">MCP ne definiše izvor istine\u003C\u002Fh2>\n\u003Cp>MCP server može izložiti bazu podataka, repozitorijum dokumenata, servis za web pretragu ili AI-generisani rezime. Protokol ne deklariše koji je izvor merodavan za tvrdnju.\u003C\u002Fp>\n\u003Cp>Pravila izvora istine pripadaju arhitekturi aplikacije\u002Fdomena. Domaćin ili server mogu kodirati autoritet kroz dizajn alata, metapodatke, politiku pristupa ili validaciju, ali sam MCP ne čini jednu mogućnost „istinitom“.\u003C\u002Fp>\n\u003Cp>Alat stoga može biti savršeno pozivljiv putem MCP-a i ipak vraćati zastarele, sekundarne ili neautoritativne informacije.\u003C\u002Fp>\n\u003Ch2 id=\"section-100\">MCP i inženjering konteksta\u003C\u002Fh2>\n\u003Cp>MCP može povećati mogućnosti i informacije dostupne AI aplikaciji, ali inženjering konteksta i dalje određuje šta stiže do modela.\u003C\u002Fp>\n\u003Cp>Katalozi alata troše kontekst vidljiv modelu u mnogim domaćinima. Rezultati alata mogu biti veliki. Resursi mogu biti brojni. Domaćin treba selekciju, filtriranje, dinamičko učitavanje i sažimanje umesto izlaganja svega u svakom koraku.\u003C\u002Fp>\n\u003Cp>Dostupnost mogućnosti i kontekst vidljiv modelu stoga treba tretirati kao odvojene slojeve.\u003C\u002Fp>\n\u003Ch2 id=\"section-104\">Dizajnirajte MCP alate oko ishoda i granica rizika\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Slab dizajn alata\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Jači dizajn alata\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">execute_api(method,url,body)\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Uske domenske alate sa validiranim operacijama\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Jedan administrativni alat za sve radnje\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Odvojene operacije čitanja\u002Fpisanja\u002Fodobravanja\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Sirovi interni API preslikan 1:1\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ugovor okrenut AI-ju oko koherentnih korisničkih ciljeva\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Jedan široki alat za fajl sistem\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Operacije čitanja\u002Fpisanja u opsegu radnog prostora\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Bezbednosna politika samo u opisu\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Server sprovodi politiku u kodu\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Neograničen sirovi odgovor\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Strukturirani izlaz relevantan za odluku\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Brisanje\u002Fažuriranje pomešano sa čitanjem\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Odvojeni alati sa sporednim efektima uz politiku potvrde\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-106\">Odobrenja pripadaju arhitekturi izvršavanja\u003C\u002Fh2>\n\u003Cp>Domaćin može zahtevati odobrenje korisnika pre pozivanja izabranih MCP alata. OpenAI-jeva trenutna MCP integracija podržava automatske ili obrasce izvršavanja sa eksplicitnim odobrenjem.\u003C\u002Fp>\n\u003Cp>Odobrenje domaćina je korisno, ali ne bi trebalo da bude jedina zaštita servera jer drugi kompatibilni MCP klijent može koristiti drugačiji model odobravanja.\u003C\u002Fp>\n\u003Cp>Za destruktivne ili finansijski značajne radnje, koristite odbranu u dubinu: jasan ugovor o alatima, odobrenje u vreme izvršavanja gde je prikladno, autorizaciju na strani servera, poslovnu validaciju i reviziju.\u003C\u002Fp>\n\u003Ch2 id=\"section-110\">MCP observabilnost treba da poveže protokolske pozive sa domen­skim radnjama\u003C\u002Fh2>\n\u003Cp>MCP trag je najkorisniji kada može da se poveže sa osnovnim pozivom aplikacije, promenom u bazi podataka ili poslovnom transakcijom.\u003C\u002Fp>\n\u003Cp>Ekosistem od 2026-07-28 standardizuje konvencije propagacije W3C Trace Context, što olakšava praćenje zahteva kroz host, klijenta, server i nizvodne servise.\u003C\u002Fp>\n\u003Cp>Sami protokolski logovi nisu dovoljni za značajne operacije. Revizijski dokazi takođe treba da zabeleže relevantnog principala, tenanta, ciljni resurs, odobrenje i rezultujuću promenu stanja.\u003C\u002Fp>\n\u003Ch2 id=\"section-114\">Šta MCP ne može da popravi\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Problem\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Zašto MCP to ne rešava\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Loš poslovni API\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">MCP može doslednije da izloži loš API\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pogrešni podaci\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Validnost protokola ne stvara činjeničnu tačnost\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Nedostaje izolacija tenanta\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Otkrivanje alata ne sprovodi vlasništvo nad resursima\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Prekomerne privilegije\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Standardizovani alat i dalje može imati prekomerne privilegije\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Loše planiranje agenta\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">MCP izlaže mogućnosti; runtime\u002Fmodel i dalje bira kako da ih koristi\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Loš dizajn ponovnog pokušaja\u002Fidempotentnosti\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Protokolski pozivi ne čine neželjene efekte bezbednim\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Nema izvora istine\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">MCP ne odlučuje koji sistem poseduje činjenicu\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Slaba evaluacija\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Interoperabilnost ne dokazuje uspeh zadatka\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Nema politike revizije\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Transportni tragovi ne definišu zadržavanje ili odgovornost\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Neslaganje protokola\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Stare\u002Fnove verzije i dalje mogu zahtevati migraciju ili rukovanje kompatibilnošću\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-116\">Dokazi originalne implementacije: Aaasaasa AI Client\u003C\u002Fh2>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Dokazi implementacije\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Aaasaasa AI Client sadrži autentifikovani lokalni MCP konektor\u002Fbroker za odobrene lokalne direktorijume i integraciju kroz Secure MCP Tunnel. Ovo su konkretni dokazi implementacije za protokolsku granicu i arhitekturu dozvola, a ne tvrdnja o univerzalnoj komercijalnoj MCP platformi.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Cp>Aplikacija može da pokrene autentifikovanu Streamable HTTP MCP krajnju tačku na loopback-u. Krajnja tačka izlaže samo direktorijume izabrane kroz centralni broker dozvola radnog prostora.\u003C\u002Fp>\n\u003Cp>Lokalna krajnja tačka i udaljena ruta su odvojene stvari: lokalni konektor može da se veže samo na loopback, dok Secure MCP Tunnel može da učini odobreni MCP servis dostupnim dozvoljenom eksternom AI klijentu bez izlaganja cele lokalne mašine.\u003C\u002Fp>\n\u003Cp>Centralni model dozvola razlikuje profile samo za ćaskanje, samo za čitanje, za pisanje u projekat i prilagođene direktorijume. Direct Chat nema pristup fajl sistemu ili shell-u; agent runtime-i sa mogućnošću alata koriste izabrani profil dozvola.\u003C\u002Fp>\n\u003Cp>Ovo je direktna implementacija G02 granice: MCP obezbeđuje standardizovanu vezu mogućnosti, dok broker dozvola u vlasništvu aplikacije odlučuje koje direktorijume server može da izloži.\u003C\u002Fp>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Implementirani element\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Dokaz arhitekture\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Autentifikovana lokalna MCP krajnja tačka\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">MCP server može biti lokalni deterministički servis mogućnosti\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Vezivanje na loopback\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Izlaganje mreže i protokolska mogućnost su odvojene odluke\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Integracija Secure MCP Tunnel\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Privatni\u002Flokalni MCP može se povezati kroz kontrolisanu rutu\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Centralni broker dozvola\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">MCP mogućnost je ograničena politikom aplikacije\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Obim izabranog direktorijuma\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Vidljivost fajl sistema je eksplicitno ograničena\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Direct Chat bez OS alata\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pristup modelu ne podrazumeva automatski pristup alatima\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Granica dokaza\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Implementacija demonstrira MCP povezivost i izlaganje lokalnih direktorijuma ograničeno dozvolama. To ne podrazumeva da je implementiran svaki MCP primitiv, svaka funkcija od 2026-07-28 ili svako produzetno proširenje autorizacije.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-124\">Kada je MCP dobro rešenje\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">MCP je jako pogodan kada\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Direktna integracija može biti jednostavnija kada\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ista mogućnost treba da bude ponovo upotrebljiva kroz više AI hostova\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Jedna aplikacija poseduje obe strane i prenosivost ima malu vrednost\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Eksterni sistem želi da objavi otkrivljive alate\u002Fresurse okrenute AI-ju\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Jedan stabilan interni API poziv je dovoljan\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Želite standardnu granicu oko lokalnih alata\u002Fpodataka\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ne postoji zahtev za interoperabilnošću okrenutom AI-ju\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pružaoci alata i AI klijenti se razvijaju nezavisno\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Integracija je namerno privatna i čvrsto povezana\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Želite otkrivanje mogućnosti kompatibilno sa ekosistemom\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Skup mogućnosti je mali i fiksiran u kodu aplikacije\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-126\">Kada vam MCP nije potreban\u003C\u002Fh2>\n\u003Cp>Ne dodajte MCP samo zato što aplikacija koristi AI. Ako vaš backend već poziva jedan interni API i nijedan nezavisni MCP klijent ne zahteva tu mogućnost, običan poziv funkcije ili servisa može biti jasniji.\u003C\u002Fp>\n\u003Cp>MCP dodaje vrednost na granici interoperabilnosti. Bez te granice, protokol može postati nepotreban sloj adaptera.\u003C\u002Fp>\n\u003Cp>Arhitektonsko pitanje nije „Da li ovaj projekat ima AI?“ već „Da li nezavisno evoluirajući AI hostovi i pružaoci mogućnosti imaju koristi od standardnog ugovora?“\u003C\u002Fp>\n\u003Ch2 id=\"section-130\">MCP bezbednosna kontrolna lista\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Granica\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Pitanje\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Identitet servera\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Na koji MCP server sam zapravo povezan?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Identitet klijenta\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Koja aplikacija\u002Fklijent zahteva pristup?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Identitet krajnjeg korisnika\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">U čije ime se operacija izvršava?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Lista dozvoljenih alata\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Koje mogućnosti ovaj host\u002Fagent sme da otkrije i pozove?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Poslovna dozvola\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Da li ovaj principal sme da izvrši ovu operaciju?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Opseg tenanta\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Koja granica tenanta\u002Fresursa se primenjuje?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Izolacija akreditiva\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Da li su akreditivi pravilno vezani i držani van konteksta modela?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Odobrenje\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Koje nuspojave zahtevaju ljudsku potvrdu?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Validacija ulaza\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Da li se argumenti alata validiraju nezavisno od izlaza modela?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Poverenje u izlaz\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Da li vraćeni sadržaj može sadržati nepouzdana uputstva ili osetljive podatke?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Mrežna izloženost\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Da li je lokalni server slučajno izložen van predviđenih interfejsa?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Revizija\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Može li se poziv protokola povezati sa radnjom nizvodno?\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-132\">Uobičajene zablude\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Zabluda\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Ispravka\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„MCP server je AI server.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Može biti običan deterministički softver koji izlaže mogućnosti.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„Potreban mi je sopstveni LLM na MCP serveru.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ne. Model može u potpunosti živeti na strani hosta.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„MCP zamenjuje REST API-je.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">MCP često obavija postojeće API-je za interoperabilnost okrenutu AI-ju.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„MCP je agent framework.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">MCP obezbeđuje mogućnosti; agent runtime upravlja iteracijom i stanjem.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„MCP i pozivanje funkcija se takmiče.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Host može premostiti MCP mogućnosti u svoj interfejs alata modela.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„MCP zamenjuje A2A.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">MCP se fokusira na integraciju mogućnosti; A2A se fokusira na saradnju agenata.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„Ako je alat na listi, korisnik sme da ga pozove.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Otkrivanje nije autorizacija.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„OAuth rešava poslovne dozvole.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Autorizacija veze ne zamenjuje autorizaciju domena ili izolaciju tenanta.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„Lokalni MCP znači lokalni AI.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Lokacija servera alata i lokacija inferencije su nezavisne.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„MCP čini izlaz alata pouzdanim.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Kvalitet podataka, autoritet i poreklo i dalje pripadaju izvoru\u002Faplikaciji.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„Jedan ogroman generički alat je fleksibilan.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Preširoki alati slabe dozvole, validaciju i observabilnost.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„Stari tutorijali su aktuelni za implementaciju.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Revizija od 2026-07-28 materijalno je promenila ponašanje životnog ciklusa i transporta.\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-134\">Praktičan redosled MCP dizajna\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Dizajnirajte granicu pre implementacije servera\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. Identifikujte granicu interoperabilnosti\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Potvrdite da nezavisni AI hostovi zaista zahtevaju ponovno upotrebljiv pristup.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. Zadržite API domena kao autoritativan\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Sačuvajte pravi ugovor aplikacije\u002Fservisa iza MCP-a.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. Namerno izaberite primitive\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Koristite alate, resurse i promptove u skladu sa njihovom semantikom.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">4. Podelite po riziku i dozvoli\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Odvojite operacije čitanja, pisanja, destruktivne i one koje zahtevaju odobrenje.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">5\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">5. Definišite propagaciju identiteta\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Znajte kog klijenta, korisnika, agenta i nizvodnog principal-a predstavlja svaki poziv.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">6\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">6. Primenite poslovnu autorizaciju\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Validirajte dozvole, opseg tenanta i vlasništvo nad ciljem.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">7\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">7. Izaberite lokalni ili udaljeni transport\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Uskladite topologiju postavljanja sa stvarnom potrebom.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">8\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">8. Fiksirajte očekivanja protokola\u002FSDK-a\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Dokumentujte 2026-07-28 u odnosu na stariju kompatibilnost.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">9\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">9. Dodajte odobrenja za posledične radnje\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Koristite kontrole potvrde primerene riziku.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">10\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">10. Dizajnirajte strukturisane izlaze\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Vraćajte sažete rezultate upotrebljive za mašine.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">11\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">11. Dodajte praćenje i korelaciju revizije\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Povežite MCP pozive sa nizvodnim servisnim\u002Fposlovnim događajima.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">12\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">12. Testirajte prenosivost\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Verifikujte više od jednog klijenta tamo gde je interoperabilnost navedeni zahtev.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-136\">MCP arhitektonska kontrolna lista\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Pitanje\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Očekivani odgovor\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Zašto je MCP potreban?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Stvarna granica interoperabilnosti okrenuta AI-ju\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Šta server izlaže?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Eksplicitni alati\u002Fresursi\u002Fpromptovi\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Gde se model izvršava?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Nezavisna odluka hosta\u002Fpružaoca\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Gde se izvršava alat?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Imenovana lokacija servera\u002Fruntime-a\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Koja revizija protokola se očekuje?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ugovor svestan verzije\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ko je principal koji zahteva?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Model identiteta klijenta\u002Fkorisnika\u002Fagenta\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Koji alati smeju biti otkriveni?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Lista dozvoljenih\u002Fpolitika mogućnosti\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Koje operacije smeju da se izvrše?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Poslovna autorizacija na strani servera\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Kako se primenjuje opseg tenanta\u002Fresursa?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Provere vlasništva nad pouzdanim tenantom\u002Fresursom\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Koje radnje zahtevaju odobrenje?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Politika potvrde zasnovana na riziku\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Kako su akreditivi zaštićeni?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pouzdano skladištenje u runtime-u, ne tajne vidljive modelu\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Kako je izlaz ograničen?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ugovor o strukturisanom relevantnom rezultatu\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Kako se pozivi prate?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Korelacija kroz MCP do nizvodne radnje\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Šta se dešava ako je MCP nedostupan?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Definisano ponašanje pri rezervi\u002Fotkazu\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Može li ga koristiti drugi kompatibilni host?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Prenosivost validirana tamo gde je potrebno\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-138\">Rubni slučajevi i ograničenja\u003C\u002Fh2>\n\u003Cp>Lokalni stdio MCP server može imati malu mrežnu izloženost, a ipak biti opasan ako sam proces ima prekomerne dozvole za fajl sistem ili shell.\u003C\u002Fp>\n\u003Cp>Udaljeni MCP server može izlagati samo javnu dokumentaciju ili visoko osetljive poslovne radnje. „Udaljeni MCP“ malo govori o riziku bez konteksta mogućnosti i autorizacije.\u003C\u002Fp>\n\u003Cp>Neki serveri mogu koristiti samo alate i ignorisati resurse\u002Fpromptove. MCP kompatibilnost ne zahteva da svaki opcioni primitiv bude jednako važan.\u003C\u002Fp>\n\u003Cp>Host može prevoditi između svog internog modela alata i MCP-a. Korisnici možda nikada neće direktno videti granicu protokola, što je prihvatljivo ako bezbednost i pripisivanje ostanu jasni.\u003C\u002Fp>\n\u003Cp>MCP nastavlja brzo da se razvija. Ekstenzije, obrasci autorizacije, SDK API-ji i konvencije ekosistema mogu se menjati brže od osnovne arhitektonske razlike.\u003C\u002Fp>\n\u003Ch2 id=\"section-144\">Šta bi promenilo ovaj odgovor?\u003C\u002Fh2>\n\u003Cp>Buduće revizije MCP-a mogu promeniti životni ciklus, transporte, autorizaciju i mehanizme ekstenzija. Revizija iz jula 2026. već pokazuje zašto tvrdnje specifične za implementaciju moraju biti datirane.\u003C\u002Fp>\n\u003Cp>Kanonska granica bi se promenila samo ako bi se MCP proširio sa interoperabilnog protokola na standard za end-to-end arhitekturu aplikacija\u002Fagenata. To nije ono što trenutni protokol definiše.\u003C\u002Fp>\n\u003Cp>Za implementacioni rad uvek proverite trenutnu specifikaciju i tačnu liniju SDK-a umesto kopiranja primera osetljivih na verziju iz starijih tutorijala.\u003C\u002Fp>\n\u003Ch2 id=\"section-148\">Povezano kanonsko znanje\u003C\u002Fh2>\n\u003Cp>MCP pripada nizvodno od Agentic AI: prvo razumite granicu agent\u002Fruntime\u002Falat, zatim koristite MCP kada eksterne sposobnosti zahtevaju prenosivi protokolarni ugovor.\u003C\u002Fp>\n\u003Cp>MCP takođe zavisi od RBAC-a i izolacije zakupaca jer izlaganje sposobnosti na nivou protokola ne određuje autorizaciju aplikacije.\u003C\u002Fp>\n\u003Cp>Širi članak o protokolarnom steku objašnjava gde se MCP nalazi pored A2A, UCP, AP2 i A2UI. G02 ostaje kanonski izvor za sam MCP.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Fstajic.de\u002Fsr\u002Fblog\u002Fai-agent-reliability-why-the-final-answer-is-not-enough\" class=\"flex flex-col sm:flex-row gap-4 rounded-xl border border-gray-200 dark:border-gray-700 p-4 transition hover:border-primary-500\">\u003Cdiv class=\"min-w-0 flex-1\">\u003Cstrong class=\"block text-lg text-gray-900 dark:text-gray-100\">Pouzdanost AI agenata: Zašto konačni odgovor nije dovoljan\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">Pozivi MCP alata postaju deo trajektorije agenta; pouzdani sistemi moraju evaluirati akcije i opservacije, a ne samo konačni tekst.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Pročitajte članak o pouzdanosti agenata →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Ch2 id=\"section-153\">Često postavljana pitanja\u003C\u002Fh2>\n\u003Csection class=\"editorjs-faq my-6 rounded-xl border border-gray-200 p-5 dark:border-gray-700\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Model Context Protocol - često postavljana pitanja\u003C\u002Fh3>\u003Cdiv id=\"faq1\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Šta je MCP?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Model Context Protocol je otvoreni klijent-server protokol za povezivanje AI aplikacija sa eksternim alatima, resursima, promptovima i pružaocima sposobnosti kroz standardizovani ugovor.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq2\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Da li MCP serveru treba AI model?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Ne. MCP server može biti potpuno deterministički softver. Model obično radi u AI hostu ili agent runtime-u, iako server može opciono koristiti AI interno.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq3\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Koja je razlika između MCP klijenta i servera?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Klijent je protokolarna komponenta koju AI host koristi za komunikaciju sa pružaocima sposobnosti. Server objavljuje i izvršava sposobnosti koje izlaže.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq4\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Da li MCP zamenjuje pozivanje funkcija?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Ne. Pozivanje funkcija\u002Falata je način na koji model poziva konfigurisane sposobnosti. MCP standardizuje otkrivanje i komunikaciju sa eksternim serverima sposobnosti. Host može povezati oba.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq5\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Da li MCP zamenjuje REST API-je?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Ne. MCP serveri često obavijaju postojeće REST, GraphQL, baze podataka ili servisne API-je i pružaju sloj interoperabilnosti okrenut AI-ju.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq6\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Da li je MCP okvir za agente?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Ne. MCP izlaže sposobnosti. Planiranje agenata, stanje, memorija, upravljanje kontekstom, ponovni pokušaji, orkestracija i zaustavljanje pripadaju okolnom runtime-u.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq7\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Koja je razlika između MCP-a i A2A?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">MCP prvenstveno povezuje AI host ili agenta sa alatima i pružaocima podataka. A2A povezuje nezavisne agentske sisteme radi saradnje i delegiranja.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq8\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Da li MCP obrađuje autorizaciju?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">MCP uključuje mehanizme autorizacije na nivou protokola, posebno za udaljene servere, ali aplikacija i dalje mora sprovoditi poslovne dozvole, vlasništvo nad resursima i izolaciju zakupaca.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq9\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Može li MCP raditi sa lokalnim modelima?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Da. Lokacija modela je nezavisna od MCP-a. Host sa lokalnim modelom može pozivati lokalne ili udaljene MCP servere, a host sa cloud modelom može koristiti odobrene lokalne ili udaljene MCP servere kroz odgovarajuću arhitekturu veze.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq10\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Koja je trenutna verzija MCP specifikacije?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Od 8. oktobra 2026. trenutna revizija specifikacije je 2026-07-28. Starije implementacije iz 2025. su i dalje u upotrebi, pa se kompatibilnost mora proveriti.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-155\">Pojmovnik\u003C\u002Fh2>\n\u003Csection class=\"editorjs-glossary my-6 rounded-xl border border-gray-200 dark:border-gray-700 p-5\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Ključni MCP pojmovi\u003C\u002Fh3>\u003Cdl>\u003Cdiv id=\"mcp\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">MCP\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Model Context Protocol, otvoreni protokol za interoperabilne veze između AI hostova\u002Fklijenata i eksternih servera sposobnosti.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"mcp-host\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">MCP host\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">AI aplikacija ili runtime koji poseduje interakciju sa modelom i koristi MCP klijente za povezivanje sa serverima.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"mcp-client\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">MCP klijent\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Protokolarna komponenta na strani hosta koja komunicira sa MCP serverom.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"mcp-server\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">MCP server\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Pružalac sposobnosti koji implementira MCP i izlaže alate, resurse, promptove ili podržane ekstenzije.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"mcp-tool\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Alat\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Pozivna strukturirana sposobnost koju izlaže MCP server.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"mcp-resource\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Resurs\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Čitljivi podaci ili sadržaj izložen kroz MCP metode resursa.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"mcp-prompt\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Prompt\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Šablon prompta za višekratnu upotrebu koji MCP server izlaže kompatibilnim hostovima.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"streamable-http\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Streamable HTTP\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">HTTP-orijentisani MCP transport koji se koristi za komunikaciju sa udaljenim\u002Fmrežnim serverima.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"stdio\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">stdio\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Transport standardnog ulaza\u002Fizlaza procesa koji se obično koristi za lokalne MCP serverske integracije.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"server-discover\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">server\u002Fdiscover\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Moderna MCP metoda koja omogućava klijentu da pregleda sposobnosti servera u eri protokola 2026-07-28.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"mrtr\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">MRTR\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Multi Round-Trip Requests, mehanizam za dobijanje dodatnog unosa tokom zahteva u eri protokola 2026-07-28.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"mcp-extension\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">MCP ekstenzija\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Sposobnost koja se komponuje sa osnovnim protokolom i može se razvijati\u002Fverzionisati odvojeno, kao što su Tasks ili MCP Apps.\u003C\u002Fdd>\u003C\u002Fdiv>\u003C\u002Fdl>\u003C\u002Fsection>\n\u003Ch2 id=\"section-157\">Zaključak\u003C\u002Fh2>\n\u003Cp>MCP je najlakše razumeti kada njegova granica ostane uska: povezuje AI aplikacije sa eksternim sposobnostima kroz standardni protokol.\u003C\u002Fp>\n\u003Cp>Model ne mora da živi na MCP serveru. Server ne postaje agent runtime. Navedeni alat ne postaje autorizovana poslovna akcija. I MCP ne zamenjuje osnovni API, izvor istine, izolaciju zakupaca ili domensku arhitekturu.\u003C\u002Fp>\n\u003Cp>Ta uskost je snaga protokola. MCP može standardizovati način na koji AI sistemi dosežu alate i podatke, dok vlasništvo nad aplikacijom, bezbednost, poslovnu semantiku i izbor modela ostavlja u slojevima koji ih zaista poseduju.\u003C\u002Fp>\n\u003Ch2 id=\"section-161\">Primarni izvori i trenutna dokumentacija\u003C\u002Fh2>\n\u003Cp>MCP se brzo razvija, pa su tvrdnje osetljive na verziju u ovom članku vezane za stanje od 8. oktobra 2026. Odsek Aaasaasa AI Client je originalni implementacioni dokaz i eksplicitno je ograničen na verifikovani MCP konektor i opseg posrednika dozvola.\u003C\u002Fp>\n\u003Ca href=\"https:\u002F\u002Fts.sdk.modelcontextprotocol.io\u002Fv2\u002F\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Model Context Protocol — TypeScript SDK v2\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Aktuelna dokumentacija stabilnog TypeScript SDK-a koja implementira MCP specifikaciju od 2026-07-28 i primitive za server\u002Fklijent.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fblog.modelcontextprotocol.io\u002Fposts\u002F2026-07-28\u002F\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Model Context Protocol — Izdanje specifikacije 2026-07-28\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Zvanično objašnjenje izdanja za aktuelnu reviziju MCP protokola, uključujući bezdržavno jezgro, MRTR, rutiranje, keširanje, jačanje autorizacije, ekstenzije i zastarele funkcije.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fts.sdk.modelcontextprotocol.io\u002Fv2\u002Fmigration\u002Fsupport-2026-07-28\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">MCP TypeScript SDK — Podrška za reviziju protokola 2026-07-28\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Smernice za implementaciju specifične za verziju za aktuelnu reviziju protokola i kompatibilnost sa ranijim periodima.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ftools-connectors-mcp\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">OpenAI — MCP serveri\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Aktuelne OpenAI smernice za povezivanje modela sa udaljenim MCP serverima i lokalnim\u002Fprivatnim MCP serverima putem Secure MCP Tunnel-a.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents-api\u002Ftools\u002Fmcp\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">OpenAI — MCP konekcije za Agents API\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Aktuelne smernice za MCP konekcije koje pokrivaju servisne, environment i stdio lokacije plus kontrole dozvoljenih alata.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ftools\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">OpenAI — Alati\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Aktuelni pregled koji svrstava udaljene MCP servere uz pozivanje funkcija, web pretragu, shell i druge alate modela.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fplugins\u002Fconcepts\u002Fmcp-server\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">OpenAI — Koncept MCP servera\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Aktuelni opis MCP servera koji izlažu alate, resurse i upite za integracije sa eksternim servisima.\u003C\u002Fp>\u003C\u002Fa>",{"time":212,"blocks":213,"version":1610},1791486773289,[214,220,228,235,242,249,257,262,267,272,277,282,287,292,297,326,331,336,341,346,351,378,383,388,393,427,432,437,442,447,452,457,462,467,472,477,482,487,492,517,522,527,532,537,543,548,553,558,563,568,597,602,607,612,617,622,627,632,637,642,651,656,661,666,671,676,693,698,703,708,740,745,750,755,760,765,770,775,780,785,790,795,800,805,810,815,820,826,831,836,841,846,851,856,861,866,871,876,881,886,891,896,901,906,911,940,945,950,955,960,965,970,975,980,985,1023,1028,1034,1039,1044,1049,1054,1080,1086,1091,1114,1119,1124,1129,1134,1139,1183,1188,1232,1237,1279,1284,1336,1341,1346,1351,1356,1361,1366,1371,1376,1381,1386,1391,1396,1401,1406,1414,1419,1465,1470,1516,1521,1526,1531,1536,1541,1546,1556,1565,1574,1583,1592,1601],{"id":215,"data":216,"type":218,"tunes":219},"intro",{"text":217},"Model Context Protocol (MCP) je otvoreni protokol za povezivanje AI aplikacija sa spoljnim mogućnostima i informacijama kroz standardizovane ugovore klijent-server. MCP server može da izloži alate, resurse i upite; MCP-kompatibilan host ili klijent otkriva i koristi te mogućnosti u ime AI aplikacije. MCP ne zahteva da server pokreće sopstveni jezički model i ne zamenjuje runtime agenta, poslovnu autorizaciju, izolaciju zakupaca, API-je aplikacije ili arhitekturu domena iza izloženih mogućnosti.","paragraph",{},{"id":221,"data":222,"type":226,"tunes":227},"direct",{"body":223,"title":224,"variant":225},"\u003Cstrong>MCP standardizuje granicu između AI hosta i spoljnih provajdera mogućnosti.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>Korisna mentalna mapa je:\u003Cbr>\u003Cstrong>Korisnik → AI host \u002F runtime agenta → MCP klijent → MCP server → aplikacija\u002FAPI\u002Fpodaci\u002Falat\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>Model može u potpunosti da ostane na strani hosta. MCP server može biti običan deterministički softver koji izlaže strukturisane mogućnosti.","Direktan odgovor","info","callout",{},{"id":229,"data":230,"type":226,"tunes":234},"server-no-ai",{"body":231,"title":232,"variant":233},"MCP server za fajl sistem može da prikaže ili pročita fajlove. MCP server za bazu podataka može da izvrši odobrene upite. MCP server za Jira može da izloži operacije nad problemima. Nijednom od tih servera nije potreban LLM da bi ispunio MCP ugovor. Ako server interno koristi AI, to je izbor implementacije iza granice protokola, a ne MCP zahtev.","MCP serveru nije potreban sopstveni AI model","success",{},{"id":236,"data":237,"type":226,"tunes":241},"boundary",{"body":238,"title":239,"variant":240},"Ako MCP server izloži \u003Ccode>delete_file\u003C\u002Fcode>, \u003Ccode>refund_order\u003C\u002Fcode> ili \u003Ccode>deploy_service\u003C\u002Fcode>, to samo znači da mogućnost postoji. Server\u002Faplikacija i dalje mora da sprovodi identitet, dozvole, obim zakupca, poslovna pravila, zahteve za potvrdu i revizorske kontrole. Otkrivanje protokola ne sme tiho da postane autorizacija.","MCP mogućnost nije poslovni autoritet","warning",{},{"id":243,"data":244,"type":226,"tunes":248},"current",{"body":245,"title":246,"variant":247},"Trenutna revizija MCP specifikacije je \u003Cstrong>2026-07-28\u003C\u002Fstrong>. Njena glavna promena je bezstanjezno jezgro protokola sa samoopisujućim zahtevima, opcionim \u003Ccode>server\u002Fdiscover\u003C\u002Fcode>, rutabilnim HTTP zaglavljima, keširanim odgovorima za liste\u002Fresurse, ojačanom autorizacijom i formalnim modelom ekstenzija. TypeScript SDK v2 je trenutna stabilna linija SDK-a koja implementira ovu reviziju. Stariji klijenti i serveri iz 2025. još uvek postoje, pa smernice za implementaciju moraju da budu svesne verzije.","Napomena o trenutnom izvoru — 8. oktobar 2026.","note",{},{"id":250,"data":251,"type":255,"tunes":256},"toc",{"title":252,"maxLevel":253,"minLevel":254},"Sadržaj",3,2,"tableOfContents",{},{"id":258,"data":259,"type":42,"tunes":261},"h-meaning",{"text":260,"level":254},"Šta MCP zaista standardizuje",{},{"id":263,"data":264,"type":218,"tunes":266},"p-meaning-1",{"text":265},"Pre MCP-a, svaka AI aplikacija je mogla da integriše spoljne sisteme kroz sopstvenu šemu alata, format dodatka, konvenciju autentifikacije i kod za povezivanje. Isti servis je mogao da zahteva različite adaptere za desktop AI klijent, IDE agenta i prilagođenu aplikaciju.",{},{"id":268,"data":269,"type":218,"tunes":271},"p-meaning-2",{"text":270},"MCP stvara granicu protokola koja se može ponovo koristiti. Spoljni sistem izlaže mogućnosti kroz MCP server, dok kompatibilni AI hostovi implementiraju MCP klijent. Ovo smanjuje spreganje integracije između AI aplikacije i osnovnog provajdera alata ili podataka.",{},{"id":273,"data":274,"type":218,"tunes":276},"p-meaning-3",{"text":275},"Protokol ne standardizuje celu aplikaciju. On standardizuje kako se mogućnosti opisuju, otkrivaju i pozivaju preko te granice.",{},{"id":278,"data":279,"type":42,"tunes":281},"h-simple",{"text":280,"level":254},"Najjednostavniji primer",{},{"id":283,"data":284,"type":218,"tunes":286},"p-simple-1",{"text":285},"Pretpostavimo da AI aplikacija za kodiranje treba pristup lokalnom direktorijumu projekta. Bez MCP-a, aplikacija bi mogla direktno da implementira sopstvenu integraciju sa fajl sistemom.",{},{"id":288,"data":289,"type":218,"tunes":291},"p-simple-2",{"text":290},"Sa MCP-om, server za fajl sistem može da izloži mogućnosti kao što su prikaz direktorijuma, čitanje odobrenih fajlova ili pisanje unutar dozvoljenog radnog prostora. AI host se povezuje preko MCP klijenta i predstavlja te mogućnosti modelu ili runtime-u agenta.",{},{"id":293,"data":294,"type":218,"tunes":296},"p-simple-3",{"text":295},"Server ne mora da razume korisnikov zahtev na prirodnom jeziku. Host\u002Fmodel odlučuje koja je mogućnost korisna; MCP server izvršava strukturisani zahtev pod sopstvenim bezbednosnim pravilima.",{},{"id":298,"data":299,"type":324,"tunes":325},"simple-flow",{"steps":300,"title":322,"orientation":323},[301,304,307,310,313,316,319],{"label":302,"description":303},"1. Host se povezuje sa serverom","Aplikacija koja podržava MCP konfiguriše pristup spoljnom MCP serveru.",{"label":305,"description":306},"2. Mogućnosti se otkrivaju","Klijent saznaje koje alate, resurse ili upite server izlaže.",{"label":308,"description":309},"3. Model ili runtime bira mogućnost","AI aplikacija odlučuje da je jedna izložena mogućnost potrebna.",{"label":311,"description":312},"4. Klijent šalje strukturisani zahtev","Argumenti se šalju kroz MCP serveru.",{"label":314,"description":315},"5. Server autorizuje i izvršava","Server validira zahtev i poziva svoj osnovni sistem.",{"label":317,"description":318},"6. Rezultat se vraća hostu","Rezultat postaje zapažanje ili kontekstni ulaz.",{"label":320,"description":321},"7. Host odlučuje šta sledi","Model\u002Fruntime može da odgovori, pozove drugi alat ili nastavi radni tok.","Osnovni MCP poziv alata","auto","processFlow",{},{"id":327,"data":328,"type":42,"tunes":330},"h-stops",{"text":329,"level":254},"Gde se jednostavan primer zaustavlja",{},{"id":332,"data":333,"type":218,"tunes":335},"p-stops-1",{"text":334},"MCP ne definiše kako host bira alat, kako agent planira, kako se modeluje poslovni radni tok ili kako domenski objekat kao što je faktura ili implementacija treba da se ponaša.",{},{"id":337,"data":338,"type":218,"tunes":340},"p-stops-2",{"text":339},"Protokol može da učini integraciju interoperabilnom dok osnovna aplikacija ostaje netačna, nesigurna ili loše dizajnirana. Savršeno validan MCP zahtev i dalje može da pozove pogrešnu poslovnu mogućnost.",{},{"id":342,"data":343,"type":218,"tunes":345},"p-stops-3",{"text":344},"Centralna granica je: MCP standardizuje semantiku integracije, a ne istinitost aplikacije ili poslovnu ispravnost.",{},{"id":347,"data":348,"type":42,"tunes":350},"h-architecture",{"text":349,"level":254},"MCP arhitektura: host, klijent i server",{},{"id":352,"data":353,"type":376,"tunes":377},"architecture-table",{"content":354,"stretched":43,"withHeadings":14},[355,358,361,364,367,370,373],[356,357],"Komponenta","Odgovornost",[359,360],"AI host","AI aplikacija ili runtime okrenut korisniku koji poseduje interakciju sa modelom, kontekst i ukupan tok rada",[362,363],"MCP klijent","Komponenta na strani protokola koju host koristi za komunikaciju sa MCP serverom",[365,366],"MCP server","Objavljuje mogućnosti i obrađuje MCP zahteve",[368,369],"Osnovni sistem","Aplikacija, API, baza podataka, fajl sistem, SaaS platforma ili servis iza MCP servera",[371,372],"Model","Bira ili zaključuje o mogućnostima u skladu sa dizajnom hosta\u002Fruntime-a; nije obavezno unutar MCP servera",[374,375],"Autorizacija\u002Fposlovna politika","Određuje da li je tražena operacija zaista dozvoljena","table",{},{"id":379,"data":380,"type":218,"tunes":382},"p-architecture-1",{"text":381},"Host može da se poveže sa više MCP servera, a jedan MCP server može da stoji ispred jednog ili više osnovnih sistema. Host ostaje odgovoran za integraciju MCP rezultata u širu AI aplikaciju.",{},{"id":384,"data":385,"type":218,"tunes":387},"p-architecture-2",{"text":386},"Server može biti lokalan u odnosu na host, pokrenut kao odvojen proces ili udaljen preko mrežnog transporta. Topologija hostovanja i lokacija modela su nezavisne odluke.",{},{"id":389,"data":390,"type":42,"tunes":392},"h-primitives",{"text":391,"level":254},"Tri osnovna serverska primitiva",{},{"id":394,"data":395,"type":425,"tunes":426},"primitives-comparison",{"rows":396,"title":414,"layout":376,"columns":415},[397,402,406,410],{"id":398,"label":399,"values":400},"purpose","Primarna svrha",[401,401,401],"",{"id":403,"label":404,"values":405},"interaction","Tipična interakcija",[401,401,401],{"id":407,"label":408,"values":409},"example","Primer",[401,401,401],{"id":411,"label":412,"values":413},"risk","Tipičan rizik",[401,401,401],"Alati, resursi i upiti rešavaju različite potrebe",[416,419,422],{"id":417,"label":418},"tools","Alati",{"id":420,"label":421},"resources","Resursi",{"id":423,"label":424},"prompts","Upiti","comparison",{},{"id":428,"data":429,"type":42,"tunes":431},"h-tools",{"text":430,"level":254},"Alati: pozive mogućnosti",{},{"id":433,"data":434,"type":218,"tunes":436},"p-tools-1",{"text":435},"Alati su strukturisane operacije koje MCP server stavlja na raspolaganje hostu. Alat ima naziv, opis i ulaznu šemu; moderne implementacije mogu da obezbede i strukturisani izlaz.",{},{"id":438,"data":439,"type":218,"tunes":441},"p-tools-2",{"text":440},"Primeri uključuju pretragu repozitorijuma, čitanje zapisa o klijentu, kreiranje tiketa, pokretanje build-a ili slanje poruke. Alati mogu biti samo za čitanje ili imati sporedne efekte.",{},{"id":443,"data":444,"type":218,"tunes":446},"p-tools-3",{"text":445},"Dobra površina MCP alata treba da predstavlja koherentne ciljeve korisnika ili agenta, a ne da mehanički preslikava svaki interni API endpoint. Operacije sa različitim dozvolama, zahtevima za potvrdu ili obimom uticaja obično treba da budu odvojeni alati.",{},{"id":448,"data":449,"type":42,"tunes":451},"h-resources",{"text":450,"level":254},"Resursi: čitljiv kontekst i podaci",{},{"id":453,"data":454,"type":218,"tunes":456},"p-res-1",{"text":455},"Resursi izlažu podatke ili sadržaj koje klijent može da navede ili pročita. Prirodno odgovaraju kada je semantička operacija „daj mi ovaj artefakt ili informaciju“, a ne „izvrši ovu radnju“.",{},{"id":458,"data":459,"type":218,"tunes":461},"p-res-2",{"text":460},"URI resursa nije odobrenje za pristup. Server i dalje poseduje kontrolu pristupa i mora da proveri koji principal sme da čita osnovni objekat.",{},{"id":463,"data":464,"type":218,"tunes":466},"p-res-3",{"text":465},"Revizija protokola od 2026-07-28 dodaje semantiku keširanja za odgovore na listanje i čitanje resursa, uključujući svežinu i obim keša, čineći ponašanje keširanja eksplicitnijim.",{},{"id":468,"data":469,"type":42,"tunes":471},"h-prompts",{"text":470,"level":254},"Upiti: šabloni za višekratnu upotrebu",{},{"id":473,"data":474,"type":218,"tunes":476},"p-prompts-1",{"text":475},"MCP upiti omogućavaju serveru da objavi šablone upita za višekratnu upotrebu kompatibilnim klijentima. To može da zadrži instrukcije specifične za domen blizu pružaoca mogućnosti.",{},{"id":478,"data":479,"type":218,"tunes":481},"p-prompts-2",{"text":480},"Upit koji dostavlja MCP server ne nadjačava automatski sistemske ili bezbednosne instrukcije hosta. Host odlučuje kako materijal upita ulazi u njegovu hijerarhiju konteksta.",{},{"id":483,"data":484,"type":218,"tunes":486},"p-prompts-3",{"text":485},"Sadržaj upita koji obezbeđuje protokol stoga treba tretirati kao podatke o mogućnostima sa eksplicitnom semantikom poverenja, a ne kao neograničeni autoritet instrukcija.",{},{"id":488,"data":489,"type":42,"tunes":491},"h-tool-vs-resource",{"text":490,"level":254},"Alat ili resurs?",{},{"id":493,"data":494,"type":376,"tunes":516},"tool-resource-table",{"content":495,"stretched":43,"withHeadings":14},[496,499,502,505,508,510,513],[497,498],"Potreba","Preferirano",[500,501],"Izvršavanje radnje sa strukturiranim argumentima","Alat",[503,504],"Čitanje određenog stabilnog artefakta","Resurs",[506,507],"Dinamička pretraga ili izračunavanje","Obično alat",[509,501],"Izmena eksternog stanja",[511,512],"Pakovanje instrukcija za ponovnu upotrebu upita","Upit",[514,515],"Dugotrajno asinhrono izvršavanje","Alat plus rukovanje zadacima aplikacije\u002Fruntime-a ili MCP ekstenzija",{},{"id":518,"data":519,"type":42,"tunes":521},"h-model-location",{"text":520,"level":254},"Gde se nalazi AI model?",{},{"id":523,"data":524,"type":218,"tunes":526},"p-location-1",{"text":525},"MCP ne zahteva da model radi na MCP serveru. Model može biti hostovan u oblaku, lokalno hostovan, ugrađen u desktop aplikaciju ili dostupan preko drugog provajdera.",{},{"id":528,"data":529,"type":218,"tunes":531},"p-location-2",{"text":530},"Host obično poseduje interakciju sa modelom. MCP server izlaže eksterne mogućnosti. Lokalni MCP server stoga može koristiti host čiji model radi u oblaku, a udaljeni MCP server može koristiti host čiji model radi lokalno.",{},{"id":533,"data":534,"type":218,"tunes":536},"p-location-3",{"text":535},"Ako MCP server sam interno poziva LLM, taj model je deo implementacije servera iza granice protokola; MCP ga ne zahteva.",{},{"id":538,"data":539,"type":226,"tunes":542},"location-rule",{"body":540,"title":541,"variant":233},"\u003Cstrong>Lokalni MCP ne podrazumeva lokalnu inferenciju, a udaljeni MCP ne podrazumeva udaljenu inferenciju.\u003C\u002Fstrong> Lokacija veze, lokacija izvršavanja alata i lokacija modela\u002Fprovajdera su odvojene arhitektonske dimenzije.","Lokacija protokola ≠ lokacija inferencije",{},{"id":544,"data":545,"type":42,"tunes":547},"h-mcp-vs-api",{"text":546,"level":254},"MCP ne zamenjuje API-je",{},{"id":549,"data":550,"type":218,"tunes":552},"p-api-1",{"text":551},"MCP server često obavija postojeće API-je ili servise. REST, GraphQL, SQL, SDK pozivi i interni ugovori servisa mogu ostati tačno tamo gde jesu.",{},{"id":554,"data":555,"type":218,"tunes":557},"p-api-2",{"text":556},"MCP dodaje sloj interoperabilnosti okrenut AI-ju. Osnovni domenski API može ostati autoritativni ugovor aplikacije za obične determinističke klijente.",{},{"id":559,"data":560,"type":218,"tunes":562},"p-api-3",{"text":561},"Uobičajena arhitektura je stoga API\u002Fservis na prvom mestu, odabrana AI-orijentisana mogućnost na drugom — a ne „zameniti svaki API MCP-om“.",{},{"id":564,"data":565,"type":42,"tunes":567},"h-function-calling",{"text":566,"level":254},"MCP naspram pozivanja funkcija",{},{"id":569,"data":570,"type":425,"tunes":596},"function-comparison",{"rows":571,"title":588,"layout":376,"columns":589},[572,576,580,584],{"id":573,"label":574,"values":575},"scope","Obim",[401,401],{"id":577,"label":578,"values":579},"definition","Definicija alata",[401,401],{"id":581,"label":582,"values":583},"portability","Prenosivost",[401,401],{"id":585,"label":586,"values":587},"coexist","Mogu li koegzistirati?",[401,401],"Pozivanje funkcija i MCP su povezani ali nisu identični",[590,593],{"id":591,"label":592},"function","Pozivanje funkcija",{"id":594,"label":595},"mcp","MCP",{},{"id":598,"data":599,"type":218,"tunes":601},"p-function-1",{"text":600},"OpenAI trenutno izlaže udaljene MCP servere kao jedan tip alata uporedo sa običnim pozivanjem funkcija, web pretragom, shell-om i drugim alatima. Ta implementacija ilustruje arhitektonski odnos: MCP povezivost i sopstveni interfejs modela za pozivanje alata mogu se komponovati.",{},{"id":603,"data":604,"type":42,"tunes":606},"h-agent",{"text":605,"level":254},"MCP ne stvara petlju agenta",{},{"id":608,"data":609,"type":218,"tunes":611},"p-agent-1",{"text":610},"AI agentu je potreban runtime koji može da odlučuje, poziva alate, posmatra rezultate, ažurira stanje i nastavlja ili zaustavlja. MCP može da obezbedi neke od alata i podataka koje ta petlja koristi.",{},{"id":613,"data":614,"type":218,"tunes":616},"p-agent-2",{"text":615},"MCP server automatski ne postaje planer, sistem memorije ili orkestrator. Te odgovornosti obično ostaju u hostu ili runtime-u agenta.",{},{"id":618,"data":619,"type":218,"tunes":621},"p-agent-3",{"text":620},"Neagentna aplikacija takođe može da koristi MCP. Jedan deterministički MCP poziv alata ne zahteva autonomnog agenta sa više koraka.",{},{"id":623,"data":624,"type":42,"tunes":626},"h-a2a",{"text":625,"level":254},"MCP naspram A2A",{},{"id":628,"data":629,"type":218,"tunes":631},"p-a2a-1",{"text":630},"MCP prvenstveno povezuje AI host ili agenta sa mogućnostima kao što su alati, resursi i podaci. A2A je usmeren na saradnju između nezavisnih agentskih sistema.",{},{"id":633,"data":634,"type":218,"tunes":636},"p-a2a-2",{"text":635},"Udaljeni agent može interno da koristi MCP za pristup bazama podataka i alatima, dok istovremeno izlaže A2A interfejs drugim agentima. Protokoli se stoga mogu slojevito kombinovati, a ne zamenjivati.",{},{"id":638,"data":639,"type":218,"tunes":641},"p-a2a-3",{"text":640},"Postojeći članak o protokolskom steku pokriva šire poređenje MCP\u002FA2A\u002FUCP\u002FAP2\u002FA2UI; G02 ostaje kanonska definicija MCP-a.",{},{"id":643,"data":644,"type":649,"tunes":650},"ref-protocol-stack",{"url":645,"title":646,"excerpt":647,"ctaLabel":648},"https:\u002F\u002Fstajic.de\u002Fde\u002Fblog\u002Fmcp-vs-a2a-vs-ucp-vs-ap2-vs-a2ui-the-agent-protocol-stack-explained","MCP vs A2A vs UCP vs AP2 vs A2UI: Objašnjen agentski protokolski stek","Šira mapa odgovornosti koja pokazuje kako se MCP kombinuje sa agentskom saradnjom, trgovinom, autoritetom plaćanja i protokolima agentskog interfejsa.","Pročitajte protokolski stek","referralArticle",{},{"id":652,"data":653,"type":42,"tunes":655},"h-transport",{"text":654,"level":254},"Lokalna i udaljena MCP upotreba imaju različite transportne realnosti",{},{"id":657,"data":658,"type":218,"tunes":660},"p-transport-1",{"text":659},"MCP može da se poveže sa lokalnim i udaljenim serverima. Lokalne desktop integracije obično koriste transporte na nivou procesa kao što je stdio; udaljeni serveri koriste HTTP-orijentisani transport.",{},{"id":662,"data":663,"type":218,"tunes":665},"p-transport-2",{"text":664},"Revizija od 2026-07-28 čini jezgro protokola bezstanjem. Zahtevi nose informacije potrebne za rukovanje protokolom umesto da zavise od ranijeg modela sesije na nivou protokola.",{},{"id":667,"data":668,"type":218,"tunes":670},"p-transport-3",{"text":669},"Trenutna revizija takođe postavlja nazive metoda i mogućnosti u HTTP zaglavlja kako bi gateway-i, WAF-ovi, ograničivači brzine i balanseri opterećenja mogli prirodnije da usmeravaju i mere MCP saobraćaj.",{},{"id":672,"data":673,"type":42,"tunes":675},"h-version",{"text":674,"level":254},"Zašto je poznavanje MCP verzije važno",{},{"id":677,"data":678,"type":376,"tunes":692},"version-table",{"content":679,"stretched":43,"withHeadings":14},[680,683,686,689],[681,682],"Era protokola","Operativna karakteristika",[684,685],"2025-11-25 i ranije","Životni ciklus orijentisan na rukovanje\u002Fsesiju i starije ponašanje Streamable HTTP-a",[687,688],"2026-07-28","Bezstanje jezgro, opciono otkrivanje servera, samoopisujući zahtevi, zaglavlja za rutiranje, naznake keša, MRTR i ojačana autorizacija",[690,691],"Ekstenzije","Mogućnosti kao što su Tasks i MCP Apps mogu da se verzioniraju odvojeno od osnovnog protokola",{},{"id":694,"data":695,"type":218,"tunes":697},"p-version-1",{"text":696},"Verzija SDK-a i verzija protokola su takođe različite stvari. Trenutni TypeScript v2 SDK je stabilna linija za reviziju 2026-07-28, dok stariji v1.x ostaje linija za održavanje za ponašanje iz 2025. godine.",{},{"id":699,"data":700,"type":218,"tunes":702},"p-version-2",{"text":701},"Arhitektonska dokumentacija treba da zabeleži i verziju SDK-a\u002Fbiblioteke i reviziju protokola tamo gde ponašanje interoperabilnosti zavisi od njih.",{},{"id":704,"data":705,"type":42,"tunes":707},"h-modern",{"text":706,"level":254},"Šta se promenilo u MCP 2026-07-28",{},{"id":709,"data":710,"type":376,"tunes":739},"modern-table",{"content":711,"stretched":43,"withHeadings":14},[712,715,718,721,724,727,730,733,736],[713,714],"Promena","Zašto je važna",[716,717],"Bezstanje jezgro","Udaljeni serveri mogu da se skaliraju iza običnih balansera opterećenja bez lepljivih sesija na nivou protokola",[719,720],"server\u002Fdiscover","Klijenti mogu da pregledaju mogućnosti servera kada je to potrebno",[722,723],"Samoopisujući zahtevi","Verzija protokola i metapodaci o mogućnostima klijenta putuju sa svakim zahtevom",[725,726],"Mcp-Method \u002F Mcp-Name zaglavlja","Gateway-i mogu da rutiraju, mere i primenjuju politiku bez parsiranja tela",[728,729],"Naznake keša","Liste\u002Fčitanja resursa saopštavaju svežinu i obim deljenja",[731,732],"Zahtevi sa više krugova","Serveri mogu da zahtevaju dodatni unos bez starijeg dvosmernog modela zahteva",[734,735],"Ojačana autorizacija","Validacija izdavaoca i povezivanje akreditiva jačaju ponašanje udaljene autentifikacije",[737,738],"Okvir ekstenzija","Tasks, MCP Apps i druge mogućnosti mogu da se razvijaju odvojeno",{},{"id":741,"data":742,"type":42,"tunes":744},"h-deprecations",{"text":743,"level":254},"Roots, sampling i logging više nisu pravac za nove implementacije",{},{"id":746,"data":747,"type":218,"tunes":749},"p-dep-1",{"text":748},"Izdanje 2026-07-28 označava roots, sampling i logging kao zastarele mogućnosti protokola sa definisanim periodom kompatibilnosti.",{},{"id":751,"data":752,"type":218,"tunes":754},"p-dep-2",{"text":753},"Stariji tutorijali možda još uvek prikazuju ove funkcije kao centralne primitive. Novi rad na implementaciji treba da prati trenutnu specifikaciju, a ne da slepo kopira starije dijagrame životnog ciklusa.",{},{"id":756,"data":757,"type":218,"tunes":759},"p-dep-3",{"text":758},"Ukidanje ne znači trenutno uklanjanje. Znači da novi sistemi treba da izbegavaju nepotrebne nove zavisnosti od mogućnosti od kojih se protokol udaljava.",{},{"id":761,"data":762,"type":42,"tunes":764},"h-tasks",{"text":763,"level":254},"Dugotrajni rad nije isto što i obično pozivanje MCP alata",{},{"id":766,"data":767,"type":218,"tunes":769},"p-task-1",{"text":768},"Dugotrajne operacije zahtevaju semantiku životnog ciklusa koja prevazilazi jednostavan trenutni rezultat alata. U trenutnom ekosistemu, Zadaci su premešteni u namensko MCP proširenje.",{},{"id":771,"data":772,"type":218,"tunes":774},"p-task-2",{"text":773},"Ovo pojačava koristan princip dizajna: osnovni protokol ne mora da apsorbuje svaku brigu o izvršavanju agenta.",{},{"id":776,"data":777,"type":218,"tunes":779},"p-task-3",{"text":778},"Aplikacija takođe može u potpunosti da zadrži vlasništvo nad dugotrajnim radnim tokom u svom sopstvenom izvršnom okruženju i da koristi obične MCP alate kao osnovne operacije.",{},{"id":781,"data":782,"type":42,"tunes":784},"h-apps",{"text":783,"level":254},"MCP aplikacije proširuju UI mogućnosti bez redefinisanja osnovnog protokola",{},{"id":786,"data":787,"type":218,"tunes":789},"p-apps-1",{"text":788},"MCP aplikacije povezuju bogatija interaktivna UI iskustva sa MCP alatima kroz model proširenja.",{},{"id":791,"data":792,"type":218,"tunes":794},"p-apps-2",{"text":793},"Domaćin i dalje kontroliše kako se taj UI ugrađuje, izoluje i obezbeđuje.",{},{"id":796,"data":797,"type":218,"tunes":799},"p-apps-3",{"text":798},"Razmena osnovnih mogućnosti i renderovanje UI stoga treba da ostanu odvojene arhitektonske odgovornosti.",{},{"id":801,"data":802,"type":42,"tunes":804},"h-auth",{"text":803,"level":254},"MCP autorizacija nije vaš kompletan model autorizacije",{},{"id":806,"data":807,"type":218,"tunes":809},"p-auth-1",{"text":808},"Udaljeni MCP zahteva mehanizme autentifikacije i autorizacije na nivou protokola kako bi klijenti i serveri mogli da uspostave pouzdan pristup. Trenutna specifikacija nastavlja da ojačava ponašanje povezano sa OAuth\u002FOIDC.",{},{"id":811,"data":812,"type":218,"tunes":814},"p-auth-2",{"text":813},"Taj sloj odgovara na pitanje da li je klijentu dozvoljeno da se poveže ili zatraži opsege protokola. On automatski ne odgovara na pitanje da li Alice može da refundira porudžbinu 123, da li agent može da upiše produkcionu konfiguraciju ili da li Zakupac A može da čita podatke Zakupca B.",{},{"id":816,"data":817,"type":218,"tunes":819},"p-auth-3",{"text":818},"Te domenske odluke pripadaju modelu autorizacije servera\u002Faplikacije i moraju se sprovesti pre pozivanja osnovne operacije.",{},{"id":821,"data":822,"type":226,"tunes":825},"auth-rule",{"body":823,"title":824,"variant":240},"Poverenje veze, vidljivost alata, dozvola za alat, korisnička autorizacija, izolacija zakupaca i poslovno odobrenje su različite kontrole. Držite ih odvojenim.","Nikada ne mapirajte „autentifikovani MCP klijent“ u „pouzdan za svaki alat“",{},{"id":827,"data":828,"type":42,"tunes":830},"h-identity",{"text":829,"level":254},"Identitet može preći nekoliko granica",{},{"id":832,"data":833,"type":218,"tunes":835},"p-id-1",{"text":834},"MCP zahtev može uključivati MCP klijentsku aplikaciju, prijavljenog čoveka, identitet agenta\u002Fsesije i nalog usluge nizvodno.",{},{"id":837,"data":838,"type":218,"tunes":840},"p-id-2",{"text":839},"Serveru je potrebna eksplicitna politika o tome u ime kog principala se operacija izvršava. U suprotnom, moćna akreditacija usluge može postati put zloupotrebe poverenja.",{},{"id":842,"data":843,"type":218,"tunes":845},"p-id-3",{"text":844},"Za poslovnu upotrebu, korelacija između identiteta korisnika, identiteta agenta, MCP veze i nizvodne autorizacije jednako je važna kao i kompatibilnost protokola.",{},{"id":847,"data":848,"type":42,"tunes":850},"h-tenant",{"text":849,"level":254},"Izolacija zakupaca ostaje izvan MCP otkrivanja mogućnosti",{},{"id":852,"data":853,"type":218,"tunes":855},"p-tenant-1",{"text":854},"MCP server sa više zakupaca mora primeniti opseg zakupca kada čita ili menja resurse koji pripadaju zakupcu. Vraćanje alata pod nazivom search_documents ne definiše koji su dokumenti zakupca podobni.",{},{"id":857,"data":858,"type":218,"tunes":860},"p-tenant-2",{"text":859},"Opseg zakupca treba izvesti iz pouzdanog identiteta ili članstva i preneti ga u baze podataka, keševe, vektorsku pretragu, skladište objekata i nizvodne API-je.",{},{"id":862,"data":863,"type":218,"tunes":865},"p-tenant-3",{"text":864},"Dohvatanje sadržaja između zakupaca i traženje od modela da ga ne koristi već je neuspeh izolacije.",{},{"id":867,"data":868,"type":42,"tunes":870},"h-source",{"text":869,"level":254},"MCP ne definiše izvor istine",{},{"id":872,"data":873,"type":218,"tunes":875},"p-source-1",{"text":874},"MCP server može izložiti bazu podataka, repozitorijum dokumenata, servis za web pretragu ili AI-generisani rezime. Protokol ne deklariše koji je izvor merodavan za tvrdnju.",{},{"id":877,"data":878,"type":218,"tunes":880},"p-source-2",{"text":879},"Pravila izvora istine pripadaju arhitekturi aplikacije\u002Fdomena. Domaćin ili server mogu kodirati autoritet kroz dizajn alata, metapodatke, politiku pristupa ili validaciju, ali sam MCP ne čini jednu mogućnost „istinitom“.",{},{"id":882,"data":883,"type":218,"tunes":885},"p-source-3",{"text":884},"Alat stoga može biti savršeno pozivljiv putem MCP-a i ipak vraćati zastarele, sekundarne ili neautoritativne informacije.",{},{"id":887,"data":888,"type":42,"tunes":890},"h-context",{"text":889,"level":254},"MCP i inženjering konteksta",{},{"id":892,"data":893,"type":218,"tunes":895},"p-context-1",{"text":894},"MCP može povećati mogućnosti i informacije dostupne AI aplikaciji, ali inženjering konteksta i dalje određuje šta stiže do modela.",{},{"id":897,"data":898,"type":218,"tunes":900},"p-context-2",{"text":899},"Katalozi alata troše kontekst vidljiv modelu u mnogim domaćinima. Rezultati alata mogu biti veliki. Resursi mogu biti brojni. Domaćin treba selekciju, filtriranje, dinamičko učitavanje i sažimanje umesto izlaganja svega u svakom koraku.",{},{"id":902,"data":903,"type":218,"tunes":905},"p-context-3",{"text":904},"Dostupnost mogućnosti i kontekst vidljiv modelu stoga treba tretirati kao odvojene slojeve.",{},{"id":907,"data":908,"type":42,"tunes":910},"h-tool-design",{"text":909,"level":254},"Dizajnirajte MCP alate oko ishoda i granica rizika",{},{"id":912,"data":913,"type":376,"tunes":939},"tool-design-table",{"content":914,"stretched":43,"withHeadings":14},[915,918,921,924,927,930,933,936],[916,917],"Slab dizajn alata","Jači dizajn alata",[919,920],"execute_api(method,url,body)","Uske domenske alate sa validiranim operacijama",[922,923],"Jedan administrativni alat za sve radnje","Odvojene operacije čitanja\u002Fpisanja\u002Fodobravanja",[925,926],"Sirovi interni API preslikan 1:1","Ugovor okrenut AI-ju oko koherentnih korisničkih ciljeva",[928,929],"Jedan široki alat za fajl sistem","Operacije čitanja\u002Fpisanja u opsegu radnog prostora",[931,932],"Bezbednosna politika samo u opisu","Server sprovodi politiku u kodu",[934,935],"Neograničen sirovi odgovor","Strukturirani izlaz relevantan za odluku",[937,938],"Brisanje\u002Fažuriranje pomešano sa čitanjem","Odvojeni alati sa sporednim efektima uz politiku potvrde",{},{"id":941,"data":942,"type":42,"tunes":944},"h-approvals",{"text":943,"level":254},"Odobrenja pripadaju arhitekturi izvršavanja",{},{"id":946,"data":947,"type":218,"tunes":949},"p-approve-1",{"text":948},"Domaćin može zahtevati odobrenje korisnika pre pozivanja izabranih MCP alata. OpenAI-jeva trenutna MCP integracija podržava automatske ili obrasce izvršavanja sa eksplicitnim odobrenjem.",{},{"id":951,"data":952,"type":218,"tunes":954},"p-approve-2",{"text":953},"Odobrenje domaćina je korisno, ali ne bi trebalo da bude jedina zaštita servera jer drugi kompatibilni MCP klijent može koristiti drugačiji model odobravanja.",{},{"id":956,"data":957,"type":218,"tunes":959},"p-approve-3",{"text":958},"Za destruktivne ili finansijski značajne radnje, koristite odbranu u dubinu: jasan ugovor o alatima, odobrenje u vreme izvršavanja gde je prikladno, autorizaciju na strani servera, poslovnu validaciju i reviziju.",{},{"id":961,"data":962,"type":42,"tunes":964},"h-observability",{"text":963,"level":254},"MCP observabilnost treba da poveže protokolske pozive sa domen­skim radnjama",{},{"id":966,"data":967,"type":218,"tunes":969},"p-obs-1",{"text":968},"MCP trag je najkorisniji kada može da se poveže sa osnovnim pozivom aplikacije, promenom u bazi podataka ili poslovnom transakcijom.",{},{"id":971,"data":972,"type":218,"tunes":974},"p-obs-2",{"text":973},"Ekosistem od 2026-07-28 standardizuje konvencije propagacije W3C Trace Context, što olakšava praćenje zahteva kroz host, klijenta, server i nizvodne servise.",{},{"id":976,"data":977,"type":218,"tunes":979},"p-obs-3",{"text":978},"Sami protokolski logovi nisu dovoljni za značajne operacije. Revizijski dokazi takođe treba da zabeleže relevantnog principala, tenanta, ciljni resurs, odobrenje i rezultujuću promenu stanja.",{},{"id":981,"data":982,"type":42,"tunes":984},"h-failure",{"text":983,"level":254},"Šta MCP ne može da popravi",{},{"id":986,"data":987,"type":376,"tunes":1022},"failure-table",{"content":988,"stretched":43,"withHeadings":14},[989,992,995,998,1001,1004,1007,1010,1013,1016,1019],[990,991],"Problem","Zašto MCP to ne rešava",[993,994],"Loš poslovni API","MCP može doslednije da izloži loš API",[996,997],"Pogrešni podaci","Validnost protokola ne stvara činjeničnu tačnost",[999,1000],"Nedostaje izolacija tenanta","Otkrivanje alata ne sprovodi vlasništvo nad resursima",[1002,1003],"Prekomerne privilegije","Standardizovani alat i dalje može imati prekomerne privilegije",[1005,1006],"Loše planiranje agenta","MCP izlaže mogućnosti; runtime\u002Fmodel i dalje bira kako da ih koristi",[1008,1009],"Loš dizajn ponovnog pokušaja\u002Fidempotentnosti","Protokolski pozivi ne čine neželjene efekte bezbednim",[1011,1012],"Nema izvora istine","MCP ne odlučuje koji sistem poseduje činjenicu",[1014,1015],"Slaba evaluacija","Interoperabilnost ne dokazuje uspeh zadatka",[1017,1018],"Nema politike revizije","Transportni tragovi ne definišu zadržavanje ili odgovornost",[1020,1021],"Neslaganje protokola","Stare\u002Fnove verzije i dalje mogu zahtevati migraciju ili rukovanje kompatibilnošću",{},{"id":1024,"data":1025,"type":42,"tunes":1027},"h-implementation",{"text":1026,"level":254},"Dokazi originalne implementacije: Aaasaasa AI Client",{},{"id":1029,"data":1030,"type":226,"tunes":1033},"impl-note",{"body":1031,"title":1032,"variant":247},"Aaasaasa AI Client sadrži autentifikovani lokalni MCP konektor\u002Fbroker za odobrene lokalne direktorijume i integraciju kroz Secure MCP Tunnel. Ovo su konkretni dokazi implementacije za protokolsku granicu i arhitekturu dozvola, a ne tvrdnja o univerzalnoj komercijalnoj MCP platformi.","Dokazi implementacije",{},{"id":1035,"data":1036,"type":218,"tunes":1038},"p-impl-1",{"text":1037},"Aplikacija može da pokrene autentifikovanu Streamable HTTP MCP krajnju tačku na loopback-u. Krajnja tačka izlaže samo direktorijume izabrane kroz centralni broker dozvola radnog prostora.",{},{"id":1040,"data":1041,"type":218,"tunes":1043},"p-impl-2",{"text":1042},"Lokalna krajnja tačka i udaljena ruta su odvojene stvari: lokalni konektor može da se veže samo na loopback, dok Secure MCP Tunnel može da učini odobreni MCP servis dostupnim dozvoljenom eksternom AI klijentu bez izlaganja cele lokalne mašine.",{},{"id":1045,"data":1046,"type":218,"tunes":1048},"p-impl-3",{"text":1047},"Centralni model dozvola razlikuje profile samo za ćaskanje, samo za čitanje, za pisanje u projekat i prilagođene direktorijume. Direct Chat nema pristup fajl sistemu ili shell-u; agent runtime-i sa mogućnošću alata koriste izabrani profil dozvola.",{},{"id":1050,"data":1051,"type":218,"tunes":1053},"p-impl-4",{"text":1052},"Ovo je direktna implementacija G02 granice: MCP obezbeđuje standardizovanu vezu mogućnosti, dok broker dozvola u vlasništvu aplikacije odlučuje koje direktorijume server može da izloži.",{},{"id":1055,"data":1056,"type":376,"tunes":1079},"impl-table",{"content":1057,"stretched":43,"withHeadings":14},[1058,1061,1064,1067,1070,1073,1076],[1059,1060],"Implementirani element","Dokaz arhitekture",[1062,1063],"Autentifikovana lokalna MCP krajnja tačka","MCP server može biti lokalni deterministički servis mogućnosti",[1065,1066],"Vezivanje na loopback","Izlaganje mreže i protokolska mogućnost su odvojene odluke",[1068,1069],"Integracija Secure MCP Tunnel","Privatni\u002Flokalni MCP može se povezati kroz kontrolisanu rutu",[1071,1072],"Centralni broker dozvola","MCP mogućnost je ograničena politikom aplikacije",[1074,1075],"Obim izabranog direktorijuma","Vidljivost fajl sistema je eksplicitno ograničena",[1077,1078],"Direct Chat bez OS alata","Pristup modelu ne podrazumeva automatski pristup alatima",{},{"id":1081,"data":1082,"type":226,"tunes":1085},"impl-boundary",{"body":1083,"title":1084,"variant":240},"Implementacija demonstrira MCP povezivost i izlaganje lokalnih direktorijuma ograničeno dozvolama. To ne podrazumeva da je implementiran svaki MCP primitiv, svaka funkcija od 2026-07-28 ili svako produzetno proširenje autorizacije.","Granica dokaza",{},{"id":1087,"data":1088,"type":42,"tunes":1090},"h-use",{"text":1089,"level":254},"Kada je MCP dobro rešenje",{},{"id":1092,"data":1093,"type":376,"tunes":1113},"use-table",{"content":1094,"stretched":43,"withHeadings":14},[1095,1098,1101,1104,1107,1110],[1096,1097],"MCP je jako pogodan kada","Direktna integracija može biti jednostavnija kada",[1099,1100],"Ista mogućnost treba da bude ponovo upotrebljiva kroz više AI hostova","Jedna aplikacija poseduje obe strane i prenosivost ima malu vrednost",[1102,1103],"Eksterni sistem želi da objavi otkrivljive alate\u002Fresurse okrenute AI-ju","Jedan stabilan interni API poziv je dovoljan",[1105,1106],"Želite standardnu granicu oko lokalnih alata\u002Fpodataka","Ne postoji zahtev za interoperabilnošću okrenutom AI-ju",[1108,1109],"Pružaoci alata i AI klijenti se razvijaju nezavisno","Integracija je namerno privatna i čvrsto povezana",[1111,1112],"Želite otkrivanje mogućnosti kompatibilno sa ekosistemom","Skup mogućnosti je mali i fiksiran u kodu aplikacije",{},{"id":1115,"data":1116,"type":42,"tunes":1118},"h-not-need",{"text":1117,"level":254},"Kada vam MCP nije potreban",{},{"id":1120,"data":1121,"type":218,"tunes":1123},"p-not-1",{"text":1122},"Ne dodajte MCP samo zato što aplikacija koristi AI. Ako vaš backend već poziva jedan interni API i nijedan nezavisni MCP klijent ne zahteva tu mogućnost, običan poziv funkcije ili servisa može biti jasniji.",{},{"id":1125,"data":1126,"type":218,"tunes":1128},"p-not-2",{"text":1127},"MCP dodaje vrednost na granici interoperabilnosti. Bez te granice, protokol može postati nepotreban sloj adaptera.",{},{"id":1130,"data":1131,"type":218,"tunes":1133},"p-not-3",{"text":1132},"Arhitektonsko pitanje nije „Da li ovaj projekat ima AI?“ već „Da li nezavisno evoluirajući AI hostovi i pružaoci mogućnosti imaju koristi od standardnog ugovora?“",{},{"id":1135,"data":1136,"type":42,"tunes":1138},"h-security",{"text":1137,"level":254},"MCP bezbednosna kontrolna lista",{},{"id":1140,"data":1141,"type":376,"tunes":1182},"security-table",{"content":1142,"stretched":43,"withHeadings":14},[1143,1146,1149,1152,1155,1158,1161,1164,1167,1170,1173,1176,1179],[1144,1145],"Granica","Pitanje",[1147,1148],"Identitet servera","Na koji MCP server sam zapravo povezan?",[1150,1151],"Identitet klijenta","Koja aplikacija\u002Fklijent zahteva pristup?",[1153,1154],"Identitet krajnjeg korisnika","U čije ime se operacija izvršava?",[1156,1157],"Lista dozvoljenih alata","Koje mogućnosti ovaj host\u002Fagent sme da otkrije i pozove?",[1159,1160],"Poslovna dozvola","Da li ovaj principal sme da izvrši ovu operaciju?",[1162,1163],"Opseg tenanta","Koja granica tenanta\u002Fresursa se primenjuje?",[1165,1166],"Izolacija akreditiva","Da li su akreditivi pravilno vezani i držani van konteksta modela?",[1168,1169],"Odobrenje","Koje nuspojave zahtevaju ljudsku potvrdu?",[1171,1172],"Validacija ulaza","Da li se argumenti alata validiraju nezavisno od izlaza modela?",[1174,1175],"Poverenje u izlaz","Da li vraćeni sadržaj može sadržati nepouzdana uputstva ili osetljive podatke?",[1177,1178],"Mrežna izloženost","Da li je lokalni server slučajno izložen van predviđenih interfejsa?",[1180,1181],"Revizija","Može li se poziv protokola povezati sa radnjom nizvodno?",{},{"id":1184,"data":1185,"type":42,"tunes":1187},"h-misconceptions",{"text":1186,"level":254},"Uobičajene zablude",{},{"id":1189,"data":1190,"type":376,"tunes":1231},"misconceptions-table",{"content":1191,"stretched":43,"withHeadings":14},[1192,1195,1198,1201,1204,1207,1210,1213,1216,1219,1222,1225,1228],[1193,1194],"Zabluda","Ispravka",[1196,1197],"„MCP server je AI server.“","Može biti običan deterministički softver koji izlaže mogućnosti.",[1199,1200],"„Potreban mi je sopstveni LLM na MCP serveru.“","Ne. Model može u potpunosti živeti na strani hosta.",[1202,1203],"„MCP zamenjuje REST API-je.“","MCP često obavija postojeće API-je za interoperabilnost okrenutu AI-ju.",[1205,1206],"„MCP je agent framework.“","MCP obezbeđuje mogućnosti; agent runtime upravlja iteracijom i stanjem.",[1208,1209],"„MCP i pozivanje funkcija se takmiče.“","Host može premostiti MCP mogućnosti u svoj interfejs alata modela.",[1211,1212],"„MCP zamenjuje A2A.“","MCP se fokusira na integraciju mogućnosti; A2A se fokusira na saradnju agenata.",[1214,1215],"„Ako je alat na listi, korisnik sme da ga pozove.“","Otkrivanje nije autorizacija.",[1217,1218],"„OAuth rešava poslovne dozvole.“","Autorizacija veze ne zamenjuje autorizaciju domena ili izolaciju tenanta.",[1220,1221],"„Lokalni MCP znači lokalni AI.“","Lokacija servera alata i lokacija inferencije su nezavisne.",[1223,1224],"„MCP čini izlaz alata pouzdanim.“","Kvalitet podataka, autoritet i poreklo i dalje pripadaju izvoru\u002Faplikaciji.",[1226,1227],"„Jedan ogroman generički alat je fleksibilan.“","Preširoki alati slabe dozvole, validaciju i observabilnost.",[1229,1230],"„Stari tutorijali su aktuelni za implementaciju.“","Revizija od 2026-07-28 materijalno je promenila ponašanje životnog ciklusa i transporta.",{},{"id":1233,"data":1234,"type":42,"tunes":1236},"h-design",{"text":1235,"level":254},"Praktičan redosled MCP dizajna",{},{"id":1238,"data":1239,"type":324,"tunes":1278},"design-flow",{"steps":1240,"title":1277,"orientation":323},[1241,1244,1247,1250,1253,1256,1259,1262,1265,1268,1271,1274],{"label":1242,"description":1243},"1. Identifikujte granicu interoperabilnosti","Potvrdite da nezavisni AI hostovi zaista zahtevaju ponovno upotrebljiv pristup.",{"label":1245,"description":1246},"2. Zadržite API domena kao autoritativan","Sačuvajte pravi ugovor aplikacije\u002Fservisa iza MCP-a.",{"label":1248,"description":1249},"3. Namerno izaberite primitive","Koristite alate, resurse i promptove u skladu sa njihovom semantikom.",{"label":1251,"description":1252},"4. Podelite po riziku i dozvoli","Odvojite operacije čitanja, pisanja, destruktivne i one koje zahtevaju odobrenje.",{"label":1254,"description":1255},"5. Definišite propagaciju identiteta","Znajte kog klijenta, korisnika, agenta i nizvodnog principal-a predstavlja svaki poziv.",{"label":1257,"description":1258},"6. Primenite poslovnu autorizaciju","Validirajte dozvole, opseg tenanta i vlasništvo nad ciljem.",{"label":1260,"description":1261},"7. Izaberite lokalni ili udaljeni transport","Uskladite topologiju postavljanja sa stvarnom potrebom.",{"label":1263,"description":1264},"8. Fiksirajte očekivanja protokola\u002FSDK-a","Dokumentujte 2026-07-28 u odnosu na stariju kompatibilnost.",{"label":1266,"description":1267},"9. Dodajte odobrenja za posledične radnje","Koristite kontrole potvrde primerene riziku.",{"label":1269,"description":1270},"10. Dizajnirajte strukturisane izlaze","Vraćajte sažete rezultate upotrebljive za mašine.",{"label":1272,"description":1273},"11. Dodajte praćenje i korelaciju revizije","Povežite MCP pozive sa nizvodnim servisnim\u002Fposlovnim događajima.",{"label":1275,"description":1276},"12. Testirajte prenosivost","Verifikujte više od jednog klijenta tamo gde je interoperabilnost navedeni zahtev.","Dizajnirajte granicu pre implementacije servera",{},{"id":1280,"data":1281,"type":42,"tunes":1283},"h-checklist",{"text":1282,"level":254},"MCP arhitektonska kontrolna lista",{},{"id":1285,"data":1286,"type":376,"tunes":1335},"checklist-table",{"content":1287,"stretched":43,"withHeadings":14},[1288,1290,1293,1296,1299,1302,1305,1308,1311,1314,1317,1320,1323,1326,1329,1332],[1145,1289],"Očekivani odgovor",[1291,1292],"Zašto je MCP potreban?","Stvarna granica interoperabilnosti okrenuta AI-ju",[1294,1295],"Šta server izlaže?","Eksplicitni alati\u002Fresursi\u002Fpromptovi",[1297,1298],"Gde se model izvršava?","Nezavisna odluka hosta\u002Fpružaoca",[1300,1301],"Gde se izvršava alat?","Imenovana lokacija servera\u002Fruntime-a",[1303,1304],"Koja revizija protokola se očekuje?","Ugovor svestan verzije",[1306,1307],"Ko je principal koji zahteva?","Model identiteta klijenta\u002Fkorisnika\u002Fagenta",[1309,1310],"Koji alati smeju biti otkriveni?","Lista dozvoljenih\u002Fpolitika mogućnosti",[1312,1313],"Koje operacije smeju da se izvrše?","Poslovna autorizacija na strani servera",[1315,1316],"Kako se primenjuje opseg tenanta\u002Fresursa?","Provere vlasništva nad pouzdanim tenantom\u002Fresursom",[1318,1319],"Koje radnje zahtevaju odobrenje?","Politika potvrde zasnovana na riziku",[1321,1322],"Kako su akreditivi zaštićeni?","Pouzdano skladištenje u runtime-u, ne tajne vidljive modelu",[1324,1325],"Kako je izlaz ograničen?","Ugovor o strukturisanom relevantnom rezultatu",[1327,1328],"Kako se pozivi prate?","Korelacija kroz MCP do nizvodne radnje",[1330,1331],"Šta se dešava ako je MCP nedostupan?","Definisano ponašanje pri rezervi\u002Fotkazu",[1333,1334],"Može li ga koristiti drugi kompatibilni host?","Prenosivost validirana tamo gde je potrebno",{},{"id":1337,"data":1338,"type":42,"tunes":1340},"h-edge",{"text":1339,"level":254},"Rubni slučajevi i ograničenja",{},{"id":1342,"data":1343,"type":218,"tunes":1345},"p-edge-1",{"text":1344},"Lokalni stdio MCP server može imati malu mrežnu izloženost, a ipak biti opasan ako sam proces ima prekomerne dozvole za fajl sistem ili shell.",{},{"id":1347,"data":1348,"type":218,"tunes":1350},"p-edge-2",{"text":1349},"Udaljeni MCP server može izlagati samo javnu dokumentaciju ili visoko osetljive poslovne radnje. „Udaljeni MCP“ malo govori o riziku bez konteksta mogućnosti i autorizacije.",{},{"id":1352,"data":1353,"type":218,"tunes":1355},"p-edge-3",{"text":1354},"Neki serveri mogu koristiti samo alate i ignorisati resurse\u002Fpromptove. MCP kompatibilnost ne zahteva da svaki opcioni primitiv bude jednako važan.",{},{"id":1357,"data":1358,"type":218,"tunes":1360},"p-edge-4",{"text":1359},"Host može prevoditi između svog internog modela alata i MCP-a. Korisnici možda nikada neće direktno videti granicu protokola, što je prihvatljivo ako bezbednost i pripisivanje ostanu jasni.",{},{"id":1362,"data":1363,"type":218,"tunes":1365},"p-edge-5",{"text":1364},"MCP nastavlja brzo da se razvija. Ekstenzije, obrasci autorizacije, SDK API-ji i konvencije ekosistema mogu se menjati brže od osnovne arhitektonske razlike.",{},{"id":1367,"data":1368,"type":42,"tunes":1370},"h-change",{"text":1369,"level":254},"Šta bi promenilo ovaj odgovor?",{},{"id":1372,"data":1373,"type":218,"tunes":1375},"p-change-1",{"text":1374},"Buduće revizije MCP-a mogu promeniti životni ciklus, transporte, autorizaciju i mehanizme ekstenzija. Revizija iz jula 2026. već pokazuje zašto tvrdnje specifične za implementaciju moraju biti datirane.",{},{"id":1377,"data":1378,"type":218,"tunes":1380},"p-change-2",{"text":1379},"Kanonska granica bi se promenila samo ako bi se MCP proširio sa interoperabilnog protokola na standard za end-to-end arhitekturu aplikacija\u002Fagenata. To nije ono što trenutni protokol definiše.",{},{"id":1382,"data":1383,"type":218,"tunes":1385},"p-change-3",{"text":1384},"Za implementacioni rad uvek proverite trenutnu specifikaciju i tačnu liniju SDK-a umesto kopiranja primera osetljivih na verziju iz starijih tutorijala.",{},{"id":1387,"data":1388,"type":42,"tunes":1390},"h-related",{"text":1389,"level":254},"Povezano kanonsko znanje",{},{"id":1392,"data":1393,"type":218,"tunes":1395},"p-related-1",{"text":1394},"MCP pripada nizvodno od Agentic AI: prvo razumite granicu agent\u002Fruntime\u002Falat, zatim koristite MCP kada eksterne sposobnosti zahtevaju prenosivi protokolarni ugovor.",{},{"id":1397,"data":1398,"type":218,"tunes":1400},"p-related-2",{"text":1399},"MCP takođe zavisi od RBAC-a i izolacije zakupaca jer izlaganje sposobnosti na nivou protokola ne određuje autorizaciju aplikacije.",{},{"id":1402,"data":1403,"type":218,"tunes":1405},"p-related-3",{"text":1404},"Širi članak o protokolarnom steku objašnjava gde se MCP nalazi pored A2A, UCP, AP2 i A2UI. G02 ostaje kanonski izvor za sam MCP.",{},{"id":1407,"data":1408,"type":649,"tunes":1413},"ref-reliability",{"url":1409,"title":1410,"excerpt":1411,"ctaLabel":1412},"https:\u002F\u002Fstajic.de\u002Fsr\u002Fblog\u002Fai-agent-reliability-why-the-final-answer-is-not-enough","Pouzdanost AI agenata: Zašto konačni odgovor nije dovoljan","Pozivi MCP alata postaju deo trajektorije agenta; pouzdani sistemi moraju evaluirati akcije i opservacije, a ne samo konačni tekst.","Pročitajte članak o pouzdanosti agenata",{},{"id":1415,"data":1416,"type":42,"tunes":1418},"h-faq",{"text":1417,"level":254},"Često postavljana pitanja",{},{"id":1420,"data":1421,"type":1420,"tunes":1464},"faq",{"items":1422,"title":1463},[1423,1427,1431,1435,1439,1443,1447,1451,1455,1459],{"id":1424,"answer":1425,"question":1426},"faq1","Model Context Protocol je otvoreni klijent-server protokol za povezivanje AI aplikacija sa eksternim alatima, resursima, promptovima i pružaocima sposobnosti kroz standardizovani ugovor.","Šta je MCP?",{"id":1428,"answer":1429,"question":1430},"faq2","Ne. MCP server može biti potpuno deterministički softver. Model obično radi u AI hostu ili agent runtime-u, iako server može opciono koristiti AI interno.","Da li MCP serveru treba AI model?",{"id":1432,"answer":1433,"question":1434},"faq3","Klijent je protokolarna komponenta koju AI host koristi za komunikaciju sa pružaocima sposobnosti. Server objavljuje i izvršava sposobnosti koje izlaže.","Koja je razlika između MCP klijenta i servera?",{"id":1436,"answer":1437,"question":1438},"faq4","Ne. Pozivanje funkcija\u002Falata je način na koji model poziva konfigurisane sposobnosti. MCP standardizuje otkrivanje i komunikaciju sa eksternim serverima sposobnosti. Host može povezati oba.","Da li MCP zamenjuje pozivanje funkcija?",{"id":1440,"answer":1441,"question":1442},"faq5","Ne. MCP serveri često obavijaju postojeće REST, GraphQL, baze podataka ili servisne API-je i pružaju sloj interoperabilnosti okrenut AI-ju.","Da li MCP zamenjuje REST API-je?",{"id":1444,"answer":1445,"question":1446},"faq6","Ne. MCP izlaže sposobnosti. Planiranje agenata, stanje, memorija, upravljanje kontekstom, ponovni pokušaji, orkestracija i zaustavljanje pripadaju okolnom runtime-u.","Da li je MCP okvir za agente?",{"id":1448,"answer":1449,"question":1450},"faq7","MCP prvenstveno povezuje AI host ili agenta sa alatima i pružaocima podataka. A2A povezuje nezavisne agentske sisteme radi saradnje i delegiranja.","Koja je razlika između MCP-a i A2A?",{"id":1452,"answer":1453,"question":1454},"faq8","MCP uključuje mehanizme autorizacije na nivou protokola, posebno za udaljene servere, ali aplikacija i dalje mora sprovoditi poslovne dozvole, vlasništvo nad resursima i izolaciju zakupaca.","Da li MCP obrađuje autorizaciju?",{"id":1456,"answer":1457,"question":1458},"faq9","Da. Lokacija modela je nezavisna od MCP-a. Host sa lokalnim modelom može pozivati lokalne ili udaljene MCP servere, a host sa cloud modelom može koristiti odobrene lokalne ili udaljene MCP servere kroz odgovarajuću arhitekturu veze.","Može li MCP raditi sa lokalnim modelima?",{"id":1460,"answer":1461,"question":1462},"faq10","Od 8. oktobra 2026. trenutna revizija specifikacije je 2026-07-28. Starije implementacije iz 2025. su i dalje u upotrebi, pa se kompatibilnost mora proveriti.","Koja je trenutna verzija MCP specifikacije?","Model Context Protocol - često postavljana pitanja",{},{"id":1466,"data":1467,"type":42,"tunes":1469},"h-glossary",{"text":1468,"level":254},"Pojmovnik",{},{"id":1471,"data":1472,"type":1471,"tunes":1515},"glossary",{"title":1473,"entries":1474},"Ključni MCP pojmovi",[1475,1477,1481,1484,1487,1490,1493,1497,1501,1504,1507,1511],{"term":595,"anchor":594,"definition":1476},"Model Context Protocol, otvoreni protokol za interoperabilne veze između AI hostova\u002Fklijenata i eksternih servera sposobnosti.",{"term":1478,"anchor":1479,"definition":1480},"MCP host","mcp-host","AI aplikacija ili runtime koji poseduje interakciju sa modelom i koristi MCP klijente za povezivanje sa serverima.",{"term":362,"anchor":1482,"definition":1483},"mcp-client","Protokolarna komponenta na strani hosta koja komunicira sa MCP serverom.",{"term":365,"anchor":1485,"definition":1486},"mcp-server","Pružalac sposobnosti koji implementira MCP i izlaže alate, resurse, promptove ili podržane ekstenzije.",{"term":501,"anchor":1488,"definition":1489},"mcp-tool","Pozivna strukturirana sposobnost koju izlaže MCP server.",{"term":504,"anchor":1491,"definition":1492},"mcp-resource","Čitljivi podaci ili sadržaj izložen kroz MCP metode resursa.",{"term":1494,"anchor":1495,"definition":1496},"Prompt","mcp-prompt","Šablon prompta za višekratnu upotrebu koji MCP server izlaže kompatibilnim hostovima.",{"term":1498,"anchor":1499,"definition":1500},"Streamable HTTP","streamable-http","HTTP-orijentisani MCP transport koji se koristi za komunikaciju sa udaljenim\u002Fmrežnim serverima.",{"term":1502,"anchor":1502,"definition":1503},"stdio","Transport standardnog ulaza\u002Fizlaza procesa koji se obično koristi za lokalne MCP serverske integracije.",{"term":719,"anchor":1505,"definition":1506},"server-discover","Moderna MCP metoda koja omogućava klijentu da pregleda sposobnosti servera u eri protokola 2026-07-28.",{"term":1508,"anchor":1509,"definition":1510},"MRTR","mrtr","Multi Round-Trip Requests, mehanizam za dobijanje dodatnog unosa tokom zahteva u eri protokola 2026-07-28.",{"term":1512,"anchor":1513,"definition":1514},"MCP ekstenzija","mcp-extension","Sposobnost koja se komponuje sa osnovnim protokolom i može se razvijati\u002Fverzionisati odvojeno, kao što su Tasks ili MCP Apps.",{},{"id":1517,"data":1518,"type":42,"tunes":1520},"h-conclusion",{"text":1519,"level":254},"Zaključak",{},{"id":1522,"data":1523,"type":218,"tunes":1525},"p-conclusion-1",{"text":1524},"MCP je najlakše razumeti kada njegova granica ostane uska: povezuje AI aplikacije sa eksternim sposobnostima kroz standardni protokol.",{},{"id":1527,"data":1528,"type":218,"tunes":1530},"p-conclusion-2",{"text":1529},"Model ne mora da živi na MCP serveru. Server ne postaje agent runtime. Navedeni alat ne postaje autorizovana poslovna akcija. I MCP ne zamenjuje osnovni API, izvor istine, izolaciju zakupaca ili domensku arhitekturu.",{},{"id":1532,"data":1533,"type":218,"tunes":1535},"p-conclusion-3",{"text":1534},"Ta uskost je snaga protokola. MCP može standardizovati način na koji AI sistemi dosežu alate i podatke, dok vlasništvo nad aplikacijom, bezbednost, poslovnu semantiku i izbor modela ostavlja u slojevima koji ih zaista poseduju.",{},{"id":1537,"data":1538,"type":42,"tunes":1540},"h-sources",{"text":1539,"level":254},"Primarni izvori i trenutna dokumentacija",{},{"id":1542,"data":1543,"type":218,"tunes":1545},"p-sources-note",{"text":1544},"MCP se brzo razvija, pa su tvrdnje osetljive na verziju u ovom članku vezane za stanje od 8. oktobra 2026. Odsek Aaasaasa AI Client je originalni implementacioni dokaz i eksplicitno je ograničen na verifikovani MCP konektor i opseg posrednika dozvola.",{},{"id":1547,"data":1548,"type":1554,"tunes":1555},"src-mcp-ts",{"link":1549,"meta":1550},"https:\u002F\u002Fts.sdk.modelcontextprotocol.io\u002Fv2\u002F",{"image":1551,"title":1552,"description":1553},{"url":401},"Model Context Protocol — TypeScript SDK v2","Aktuelna dokumentacija stabilnog TypeScript SDK-a koja implementira MCP specifikaciju od 2026-07-28 i primitive za server\u002Fklijent.","linkTool",{},{"id":1557,"data":1558,"type":1554,"tunes":1564},"src-mcp-release",{"link":1559,"meta":1560},"https:\u002F\u002Fblog.modelcontextprotocol.io\u002Fposts\u002F2026-07-28\u002F",{"image":1561,"title":1562,"description":1563},{"url":401},"Model Context Protocol — Izdanje specifikacije 2026-07-28","Zvanično objašnjenje izdanja za aktuelnu reviziju MCP protokola, uključujući bezdržavno jezgro, MRTR, rutiranje, keširanje, jačanje autorizacije, ekstenzije i zastarele funkcije.",{},{"id":1566,"data":1567,"type":1554,"tunes":1573},"src-mcp-migration",{"link":1568,"meta":1569},"https:\u002F\u002Fts.sdk.modelcontextprotocol.io\u002Fv2\u002Fmigration\u002Fsupport-2026-07-28",{"image":1570,"title":1571,"description":1572},{"url":401},"MCP TypeScript SDK — Podrška za reviziju protokola 2026-07-28","Smernice za implementaciju specifične za verziju za aktuelnu reviziju protokola i kompatibilnost sa ranijim periodima.",{},{"id":1575,"data":1576,"type":1554,"tunes":1582},"src-openai-mcp",{"link":1577,"meta":1578},"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ftools-connectors-mcp",{"image":1579,"title":1580,"description":1581},{"url":401},"OpenAI — MCP serveri","Aktuelne OpenAI smernice za povezivanje modela sa udaljenim MCP serverima i lokalnim\u002Fprivatnim MCP serverima putem Secure MCP Tunnel-a.",{},{"id":1584,"data":1585,"type":1554,"tunes":1591},"src-openai-agent-mcp",{"link":1586,"meta":1587},"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents-api\u002Ftools\u002Fmcp",{"image":1588,"title":1589,"description":1590},{"url":401},"OpenAI — MCP konekcije za Agents API","Aktuelne smernice za MCP konekcije koje pokrivaju servisne, environment i stdio lokacije plus kontrole dozvoljenih alata.",{},{"id":1593,"data":1594,"type":1554,"tunes":1600},"src-openai-tools",{"link":1595,"meta":1596},"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ftools",{"image":1597,"title":1598,"description":1599},{"url":401},"OpenAI — Alati","Aktuelni pregled koji svrstava udaljene MCP servere uz pozivanje funkcija, web pretragu, shell i druge alate modela.",{},{"id":1602,"data":1603,"type":1554,"tunes":1609},"src-openai-plugin-mcp",{"link":1604,"meta":1605},"https:\u002F\u002Fdevelopers.openai.com\u002Fplugins\u002Fconcepts\u002Fmcp-server",{"image":1606,"title":1607,"description":1608},{"url":401},"OpenAI — Koncept MCP servera","Aktuelni opis MCP servera koji izlažu alate, resurse i upite za integracije sa eksternim servisima.",{},"2.31","Model Context Protocol povezuje AI aplikacije sa eksternim alatima, resursima i promptovima kroz standardnu granicu klijent-server. Saznajte šta MCP radi, šta ne radi i gde se uklapa u arhitekturu agenata.","\u002Fuploads\u002F2026\u002F10\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits-1791486640275-7ub1cq.webp","mcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits-1791486640275-7ub1cq","PUBLISHED","2026-10-08T15:09:00.000Z","2026-10-08T19:09:09.976Z","2026-10-08T19:18:07.694Z",{"en":1619,"de":1620,"sr":1621,"es":1622,"fr":1623,"it":1624,"ru":1625,"zh":1626},"\u002Fblog\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","\u002Fde\u002Fblog\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","\u002Fsr\u002Fblog\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","\u002Fes\u002Fblog\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","\u002Ffr\u002Fblog\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","\u002Fit\u002Fblog\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","\u002Fru\u002Fblog\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","\u002Fzh\u002Fblog\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits",[1628,1632,1636,1640],{"id":1629,"name":1630,"slug":1631},84,"Politike i granice podataka","policy-and-data",{"id":1633,"name":1634,"slug":1635},57,"Granice podataka","data-boundaries",{"id":1637,"name":1638,"slug":1639},48,"Sposobnosti","capabilities",{"id":1641,"name":1642,"slug":1643},49,"Kontrole i dokazi","controls",{"id":1645,"login":1646,"email":1647,"displayName":1648},"20","rooth8233","aleksandar@stajic.de","Aleksandar Stajić",[1650,2814],{"lang":1651,"title":1652,"content":1653,"contentJson":1654,"excerpt":2813},"en","MCP Explained: What It Connects, What It Does Not Do and Where It Fits","{\"time\":1791486641380,\"blocks\":[{\"id\":\"intro\",\"type\":\"paragraph\",\"data\":{\"text\":\"The Model Context Protocol (MCP) is an open protocol for connecting AI applications to external capabilities and information through standardized client-server contracts. An MCP server can expose tools, resources and prompts; an MCP-compatible host or client discovers and uses those capabilities on behalf of an AI application. MCP does not require the server to run its own language model, and it does not replace the agent runtime, business authorization, tenant isolation, application APIs or domain architecture behind the exposed capabilities.\"},\"tunes\":{}},{\"id\":\"direct\",\"type\":\"callout\",\"data\":{\"variant\":\"info\",\"title\":\"Direct answer\",\"body\":\"\u003Cstrong>MCP standardizes the boundary between an AI host and external capability providers.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>A useful mental model is:\u003Cbr>\u003Cstrong>User → AI host \u002F agent runtime → MCP client → MCP server → application\u002FAPI\u002Fdata\u002Ftool\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>The model can remain entirely on the host side. The MCP server may be ordinary deterministic software that exposes structured capabilities.\"},\"tunes\":{}},{\"id\":\"server-no-ai\",\"type\":\"callout\",\"data\":{\"variant\":\"success\",\"title\":\"An MCP server does not need its own AI model\",\"body\":\"A filesystem MCP server can list or read files. A database MCP server can run approved queries. A Jira MCP server can expose issue operations. None of those servers needs an LLM to satisfy the MCP contract. If a server internally uses AI, that is an implementation choice behind the protocol boundary, not an MCP requirement.\"},\"tunes\":{}},{\"id\":\"boundary\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"MCP capability is not business authority\",\"body\":\"If an MCP server exposes \u003Ccode>delete_file\u003C\u002Fcode>, \u003Ccode>refund_order\u003C\u002Fcode> or \u003Ccode>deploy_service\u003C\u002Fcode>, that only means the capability exists. The server\u002Fapplication must still enforce identity, permissions, tenant scope, business rules, confirmation requirements and audit controls. Protocol discovery must never silently become authorization.\"},\"tunes\":{}},{\"id\":\"current\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"Current-source note — 8 October 2026\",\"body\":\"The current MCP specification revision is \u003Cstrong>2026-07-28\u003C\u002Fstrong>. Its major change is a stateless protocol core with self-describing requests, optional \u003Ccode>server\u002Fdiscover\u003C\u002Fcode>, routable HTTP headers, cacheable list\u002Fresource responses, authorization hardening and a formal extension model. The TypeScript SDK v2 is the current stable SDK line implementing this revision. Older 2025-era clients and servers still exist, so implementation guidance must remain version-aware.\"},\"tunes\":{}},{\"id\":\"toc\",\"type\":\"tableOfContents\",\"data\":{\"title\":\"Contents\",\"minLevel\":2,\"maxLevel\":3},\"tunes\":{}},{\"id\":\"h-meaning\",\"type\":\"header\",\"data\":{\"text\":\"What MCP really standardizes\",\"level\":2},\"tunes\":{}},{\"id\":\"p-meaning-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Before MCP, every AI application could integrate external systems through its own tool schema, plugin format, authentication convention and connection code. The same service could need different adapters for a desktop AI client, an IDE agent and a custom application.\"},\"tunes\":{}},{\"id\":\"p-meaning-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP creates a reusable protocol boundary. The external system exposes capabilities through an MCP server, while compatible AI hosts implement an MCP client. This reduces integration coupling between the AI application and the underlying tool or data provider.\"},\"tunes\":{}},{\"id\":\"p-meaning-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The protocol does not standardize the entire application. It standardizes how capabilities are described, discovered and invoked across that boundary.\"},\"tunes\":{}},{\"id\":\"h-simple\",\"type\":\"header\",\"data\":{\"text\":\"The simplest example\",\"level\":2},\"tunes\":{}},{\"id\":\"p-simple-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Suppose an AI coding application needs access to a local project directory. Without MCP, the application might implement its own filesystem integration directly.\"},\"tunes\":{}},{\"id\":\"p-simple-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"With MCP, a filesystem server can expose capabilities such as listing directories, reading approved files or writing inside an allowed workspace. The AI host connects through an MCP client and presents those capabilities to the model or agent runtime.\"},\"tunes\":{}},{\"id\":\"p-simple-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The server does not need to understand the user's natural-language request. The host\u002Fmodel decides which capability is useful; the MCP server executes the structured request under its own security rules.\"},\"tunes\":{}},{\"id\":\"simple-flow\",\"type\":\"processFlow\",\"data\":{\"title\":\"A basic MCP tool call\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Host connects to server\",\"description\":\"The MCP-capable application configures access to the external MCP server.\"},{\"label\":\"2. Capabilities are discovered\",\"description\":\"The client learns which tools, resources or prompts the server exposes.\"},{\"label\":\"3. Model or runtime selects a capability\",\"description\":\"The AI application decides that one exposed capability is needed.\"},{\"label\":\"4. Client sends structured request\",\"description\":\"Arguments are sent through MCP to the server.\"},{\"label\":\"5. Server authorizes and executes\",\"description\":\"The server validates the request and calls its underlying system.\"},{\"label\":\"6. Result returns to host\",\"description\":\"The result becomes an observation or context input.\"},{\"label\":\"7. Host decides what happens next\",\"description\":\"The model\u002Fruntime may answer, call another tool or continue a workflow.\"}]},\"tunes\":{}},{\"id\":\"h-stops\",\"type\":\"header\",\"data\":{\"text\":\"Where the simple example stops\",\"level\":2},\"tunes\":{}},{\"id\":\"p-stops-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP does not define how the host chooses a tool, how an agent plans, how a business workflow is modeled or how a domain object such as an invoice or deployment should behave.\"},\"tunes\":{}},{\"id\":\"p-stops-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A protocol can make the integration interoperable while the underlying application remains incorrect, insecure or badly designed. A perfectly valid MCP request can still call the wrong business capability.\"},\"tunes\":{}},{\"id\":\"p-stops-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The central boundary is: MCP standardizes integration semantics, not application truth or business correctness.\"},\"tunes\":{}},{\"id\":\"h-architecture\",\"type\":\"header\",\"data\":{\"text\":\"The MCP architecture: host, client and server\",\"level\":2},\"tunes\":{}},{\"id\":\"architecture-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Component\",\"Responsibility\"],[\"AI host\",\"User-facing AI application or runtime that owns model interaction, context and overall workflow\"],[\"MCP client\",\"Protocol-side component used by the host to communicate with an MCP server\"],[\"MCP server\",\"Publishes capabilities and handles MCP requests\"],[\"Underlying system\",\"Application, API, database, filesystem, SaaS platform or service behind the MCP server\"],[\"Model\",\"Chooses or reasons about capabilities according to the host\u002Fruntime design; it is not necessarily inside the MCP server\"],[\"Authorization\u002Fbusiness policy\",\"Determines whether a requested operation is actually permitted\"]]},\"tunes\":{}},{\"id\":\"p-architecture-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A host can connect to multiple MCP servers, and one MCP server can front one or several underlying systems. The host remains responsible for integrating MCP results into the broader AI application.\"},\"tunes\":{}},{\"id\":\"p-architecture-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The server can be local to the host, run as a separate process or be remote over a network transport. Hosting topology and model location are independent decisions.\"},\"tunes\":{}},{\"id\":\"h-primitives\",\"type\":\"header\",\"data\":{\"text\":\"The three core server primitives\",\"level\":2},\"tunes\":{}},{\"id\":\"primitives-comparison\",\"type\":\"comparison\",\"data\":{\"title\":\"Tools, resources and prompts solve different needs\",\"layout\":\"table\",\"columns\":[{\"id\":\"tools\",\"label\":\"Tools\"},{\"id\":\"resources\",\"label\":\"Resources\"},{\"id\":\"prompts\",\"label\":\"Prompts\"}],\"rows\":[{\"id\":\"purpose\",\"label\":\"Primary purpose\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"interaction\",\"label\":\"Typical interaction\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"example\",\"label\":\"Example\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"risk\",\"label\":\"Typical risk\",\"values\":[\"\",\"\",\"\"]}]},\"tunes\":{}},{\"id\":\"h-tools\",\"type\":\"header\",\"data\":{\"text\":\"Tools: callable capabilities\",\"level\":2},\"tunes\":{}},{\"id\":\"p-tools-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Tools are structured operations an MCP server makes available to the host. A tool has a name, description and input schema; modern implementations can also provide structured output.\"},\"tunes\":{}},{\"id\":\"p-tools-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Examples include searching a repository, reading a customer record, creating a ticket, running a build or sending a message. Tools can be read-only or have side effects.\"},\"tunes\":{}},{\"id\":\"p-tools-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"A good MCP tool surface should represent coherent user or agent goals rather than mechanically mirror every internal API endpoint. Operations with different permissions, confirmation requirements or blast radius should usually be separate tools.\"},\"tunes\":{}},{\"id\":\"h-resources\",\"type\":\"header\",\"data\":{\"text\":\"Resources: readable context and data\",\"level\":2},\"tunes\":{}},{\"id\":\"p-res-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Resources expose data or content that a client can list or read. They fit naturally when the semantic operation is “give me this artifact or information” rather than “perform this action.”\"},\"tunes\":{}},{\"id\":\"p-res-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A resource URI is not an authorization grant. The server still owns access control and must verify which principal may read the underlying object.\"},\"tunes\":{}},{\"id\":\"p-res-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The 2026-07-28 protocol revision adds cache semantics for list and resource-read responses, including freshness and cache scope, making caching behavior more explicit.\"},\"tunes\":{}},{\"id\":\"h-prompts\",\"type\":\"header\",\"data\":{\"text\":\"Prompts: reusable templates\",\"level\":2},\"tunes\":{}},{\"id\":\"p-prompts-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP prompts let a server publish reusable prompt templates to compatible clients. This can keep domain-specific instructions close to the capability provider.\"},\"tunes\":{}},{\"id\":\"p-prompts-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A prompt supplied by an MCP server does not automatically outrank the host's system or security instructions. The host decides how prompt material enters its context hierarchy.\"},\"tunes\":{}},{\"id\":\"p-prompts-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Protocol-provided prompt content should therefore be treated as capability data with explicit trust semantics, not as unrestricted instruction authority.\"},\"tunes\":{}},{\"id\":\"h-tool-vs-resource\",\"type\":\"header\",\"data\":{\"text\":\"Tool or resource?\",\"level\":2},\"tunes\":{}},{\"id\":\"tool-resource-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Need\",\"Prefer\"],[\"Perform an action with structured arguments\",\"Tool\"],[\"Read a specific stable artifact\",\"Resource\"],[\"Search or calculate dynamically\",\"Usually tool\"],[\"Modify external state\",\"Tool\"],[\"Package reusable prompt instructions\",\"Prompt\"],[\"Long-running asynchronous execution\",\"Tool plus application\u002Fruntime task handling or an MCP extension\"]]},\"tunes\":{}},{\"id\":\"h-model-location\",\"type\":\"header\",\"data\":{\"text\":\"Where is the AI model?\",\"level\":2},\"tunes\":{}},{\"id\":\"p-location-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP does not require the model to run on the MCP server. The model can be cloud-hosted, locally hosted, embedded in the desktop application or reached through another provider.\"},\"tunes\":{}},{\"id\":\"p-location-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The host normally owns the model interaction. The MCP server exposes external capability. A local MCP server can therefore be used by a host whose model runs in the cloud, and a remote MCP server can be used by a host whose model runs locally.\"},\"tunes\":{}},{\"id\":\"p-location-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"If the MCP server itself calls an LLM internally, that model is part of the server's implementation behind the protocol boundary; it is not required by MCP.\"},\"tunes\":{}},{\"id\":\"location-rule\",\"type\":\"callout\",\"data\":{\"variant\":\"success\",\"title\":\"Protocol location ≠ inference location\",\"body\":\"\u003Cstrong>Local MCP does not imply local inference, and remote MCP does not imply remote inference.\u003C\u002Fstrong> Connection location, tool-execution location and model\u002Fprovider location are separate architecture dimensions.\"},\"tunes\":{}},{\"id\":\"h-mcp-vs-api\",\"type\":\"header\",\"data\":{\"text\":\"MCP does not replace APIs\",\"level\":2},\"tunes\":{}},{\"id\":\"p-api-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"An MCP server often wraps existing APIs or services. REST, GraphQL, SQL, SDK calls and internal service contracts can remain exactly where they are.\"},\"tunes\":{}},{\"id\":\"p-api-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP adds an AI-facing interoperability layer. The underlying domain API can remain the authoritative application contract for ordinary deterministic clients.\"},\"tunes\":{}},{\"id\":\"p-api-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The usual architecture is therefore API\u002Fservice first, selected AI-facing capability second — not “replace every API with MCP.”\"},\"tunes\":{}},{\"id\":\"h-function-calling\",\"type\":\"header\",\"data\":{\"text\":\"MCP vs function calling\",\"level\":2},\"tunes\":{}},{\"id\":\"function-comparison\",\"type\":\"comparison\",\"data\":{\"title\":\"Function calling and MCP are related but not identical\",\"layout\":\"table\",\"columns\":[{\"id\":\"function\",\"label\":\"Function calling\"},{\"id\":\"mcp\",\"label\":\"MCP\"}],\"rows\":[{\"id\":\"scope\",\"label\":\"Scope\",\"values\":[\"\",\"\"]},{\"id\":\"definition\",\"label\":\"Tool definition\",\"values\":[\"\",\"\"]},{\"id\":\"portability\",\"label\":\"Portability\",\"values\":[\"\",\"\"]},{\"id\":\"coexist\",\"label\":\"Can they coexist?\",\"values\":[\"\",\"\"]}]},\"tunes\":{}},{\"id\":\"p-function-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"OpenAI currently exposes remote MCP servers as one tool type alongside ordinary function calling, web search, shell and other tools. That implementation illustrates the architectural relationship: MCP connectivity and the model's own tool-call interface can be composed.\"},\"tunes\":{}},{\"id\":\"h-agent\",\"type\":\"header\",\"data\":{\"text\":\"MCP does not create the agent loop\",\"level\":2},\"tunes\":{}},{\"id\":\"p-agent-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"An AI agent needs a runtime that can decide, invoke tools, observe results, update state and continue or stop. MCP can supply some of the tools and data used by that loop.\"},\"tunes\":{}},{\"id\":\"p-agent-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The MCP server does not automatically become the planner, memory system or orchestrator. Those responsibilities normally remain in the host or agent runtime.\"},\"tunes\":{}},{\"id\":\"p-agent-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"A non-agentic application can also use MCP. One deterministic MCP tool call does not require an autonomous multi-step agent.\"},\"tunes\":{}},{\"id\":\"h-a2a\",\"type\":\"header\",\"data\":{\"text\":\"MCP vs A2A\",\"level\":2},\"tunes\":{}},{\"id\":\"p-a2a-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP primarily connects an AI host or agent to capabilities such as tools, resources and data. A2A targets collaboration between independent agent systems.\"},\"tunes\":{}},{\"id\":\"p-a2a-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A remote agent can internally use MCP to reach databases and tools while exposing an A2A interface to other agents. The protocols can therefore be layered rather than substituted.\"},\"tunes\":{}},{\"id\":\"p-a2a-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The existing protocol-stack article owns the broader MCP\u002FA2A\u002FUCP\u002FAP2\u002FA2UI comparison; G02 remains the canonical MCP definition.\"},\"tunes\":{}},{\"id\":\"ref-protocol-stack\",\"type\":\"referralArticle\",\"data\":{\"url\":\"https:\u002F\u002Fstajic.de\u002Fde\u002Fblog\u002Fmcp-vs-a2a-vs-ucp-vs-ap2-vs-a2ui-the-agent-protocol-stack-explained\",\"title\":\"MCP vs A2A vs UCP vs AP2 vs A2UI: The Agent Protocol Stack Explained\",\"excerpt\":\"A broader responsibility map showing how MCP composes with agent collaboration, commerce, payment authority and agent-driven UI protocols.\",\"ctaLabel\":\"Read the protocol stack\"},\"tunes\":{}},{\"id\":\"h-transport\",\"type\":\"header\",\"data\":{\"text\":\"Local and remote MCP use different transport realities\",\"level\":2},\"tunes\":{}},{\"id\":\"p-transport-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP can connect to local and remote servers. Local desktop integrations commonly use process-level transports such as stdio; remote servers use HTTP-oriented transport.\"},\"tunes\":{}},{\"id\":\"p-transport-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The 2026-07-28 revision makes the protocol core stateless. Requests carry the information needed for protocol handling instead of depending on the earlier protocol-level session model.\"},\"tunes\":{}},{\"id\":\"p-transport-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The current revision also places method and capability names in HTTP headers so gateways, WAFs, rate limiters and load balancers can route and meter MCP traffic more naturally.\"},\"tunes\":{}},{\"id\":\"h-version\",\"type\":\"header\",\"data\":{\"text\":\"Why MCP version awareness matters\",\"level\":2},\"tunes\":{}},{\"id\":\"version-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Protocol era\",\"Operational characteristic\"],[\"2025-11-25 and earlier\",\"Handshake\u002Fsession-oriented lifecycle and older Streamable HTTP behavior\"],[\"2026-07-28\",\"Stateless core, optional server discovery, self-describing requests, routing headers, cache hints, MRTR and authorization hardening\"],[\"Extensions\",\"Capabilities such as Tasks and MCP Apps can version separately from the base protocol\"]]},\"tunes\":{}},{\"id\":\"p-version-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"SDK version and protocol version are also different things. The current TypeScript v2 SDK is the stable line for the 2026-07-28 revision, while older v1.x remains a maintenance line for 2025-era behavior.\"},\"tunes\":{}},{\"id\":\"p-version-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Architecture documentation should record both the SDK\u002Flibrary version and the protocol revision where interoperability behavior depends on them.\"},\"tunes\":{}},{\"id\":\"h-modern\",\"type\":\"header\",\"data\":{\"text\":\"What changed in MCP 2026-07-28\",\"level\":2},\"tunes\":{}},{\"id\":\"modern-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Change\",\"Why it matters\"],[\"Stateless core\",\"Remote servers can scale behind ordinary load balancers without protocol-level sticky sessions\"],[\"server\u002Fdiscover\",\"Clients can inspect server capabilities when needed\"],[\"Self-describing requests\",\"Protocol version and client capability metadata travel per request\"],[\"Mcp-Method \u002F Mcp-Name headers\",\"Gateways can route, meter and apply policy without parsing bodies\"],[\"Cache hints\",\"Lists\u002Fresource reads communicate freshness and sharing scope\"],[\"Multi Round-Trip Requests\",\"Servers can require additional input without the older bidirectional request model\"],[\"Authorization hardening\",\"Issuer validation and credential binding strengthen remote auth behavior\"],[\"Extensions framework\",\"Tasks, MCP Apps and other capabilities can evolve separately\"]]},\"tunes\":{}},{\"id\":\"h-deprecations\",\"type\":\"header\",\"data\":{\"text\":\"Roots, sampling and logging are no longer the direction for new implementations\",\"level\":2},\"tunes\":{}},{\"id\":\"p-dep-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The 2026-07-28 release marks roots, sampling and logging as deprecated protocol capabilities with a defined compatibility window.\"},\"tunes\":{}},{\"id\":\"p-dep-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Older tutorials may still show these features as central primitives. New implementation work should follow the current specification rather than copy older lifecycle diagrams blindly.\"},\"tunes\":{}},{\"id\":\"p-dep-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Deprecation does not mean immediate removal. It means new systems should avoid unnecessary new dependencies on capabilities the protocol is moving away from.\"},\"tunes\":{}},{\"id\":\"h-tasks\",\"type\":\"header\",\"data\":{\"text\":\"Long-running work is not the same as ordinary MCP tool invocation\",\"level\":2},\"tunes\":{}},{\"id\":\"p-task-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Long-running operations need lifecycle semantics beyond a simple immediate tool result. In the current ecosystem, Tasks moved into a dedicated MCP extension.\"},\"tunes\":{}},{\"id\":\"p-task-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"This reinforces a useful design principle: the base protocol does not need to absorb every agent-runtime concern.\"},\"tunes\":{}},{\"id\":\"p-task-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"An application can also keep long-running workflow ownership entirely in its own runtime and use ordinary MCP tools as underlying operations.\"},\"tunes\":{}},{\"id\":\"h-apps\",\"type\":\"header\",\"data\":{\"text\":\"MCP Apps extend UI capability without redefining the core protocol\",\"level\":2},\"tunes\":{}},{\"id\":\"p-apps-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP Apps associate richer interactive UI experiences with MCP tools through the extension model.\"},\"tunes\":{}},{\"id\":\"p-apps-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The host still controls how that UI is embedded, sandboxed and secured.\"},\"tunes\":{}},{\"id\":\"p-apps-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Core capability exchange and UI rendering should therefore remain separate architecture responsibilities.\"},\"tunes\":{}},{\"id\":\"h-auth\",\"type\":\"header\",\"data\":{\"text\":\"MCP authorization is not your complete authorization model\",\"level\":2},\"tunes\":{}},{\"id\":\"p-auth-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Remote MCP needs protocol-level authentication and authorization mechanisms so clients and servers can establish trusted access. The current specification continues to harden OAuth\u002FOIDC-related behavior.\"},\"tunes\":{}},{\"id\":\"p-auth-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"That layer answers whether a client is allowed to connect or request protocol scopes. It does not automatically answer whether Alice may refund order 123, whether an agent may write production configuration or whether Tenant A may read Tenant B data.\"},\"tunes\":{}},{\"id\":\"p-auth-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Those domain decisions belong in the server\u002Fapplication authorization model and must be enforced before invoking the underlying operation.\"},\"tunes\":{}},{\"id\":\"auth-rule\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"Never map “authenticated MCP client” to “trusted for every tool”\",\"body\":\"Connection trust, tool visibility, tool permission, user authorization, tenant isolation and business approval are different controls. Keep them separate.\"},\"tunes\":{}},{\"id\":\"h-identity\",\"type\":\"header\",\"data\":{\"text\":\"Identity can cross several boundaries\",\"level\":2},\"tunes\":{}},{\"id\":\"p-id-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"An MCP request may involve the MCP client application, the signed-in human, an agent\u002Fsession identity and a downstream service account.\"},\"tunes\":{}},{\"id\":\"p-id-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The server needs an explicit policy for which principal the operation is performed on behalf of. Otherwise a powerful service credential can become a confused-deputy path.\"},\"tunes\":{}},{\"id\":\"p-id-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"For enterprise use, correlation between user identity, agent identity, MCP connection and downstream authorization is as important as protocol compatibility.\"},\"tunes\":{}},{\"id\":\"h-tenant\",\"type\":\"header\",\"data\":{\"text\":\"Tenant isolation remains outside MCP capability discovery\",\"level\":2},\"tunes\":{}},{\"id\":\"p-tenant-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A multi-tenant MCP server must apply tenant scope when it reads or changes tenant-owned resources. Returning a tool named search_documents does not define which tenant's documents are eligible.\"},\"tunes\":{}},{\"id\":\"p-tenant-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Tenant scope should be derived from trusted identity or membership and carried into databases, caches, vector search, object storage and downstream APIs.\"},\"tunes\":{}},{\"id\":\"p-tenant-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Retrieving cross-tenant content and asking the model not to use it is already an isolation failure.\"},\"tunes\":{}},{\"id\":\"h-source\",\"type\":\"header\",\"data\":{\"text\":\"MCP does not define Source of Truth\",\"level\":2},\"tunes\":{}},{\"id\":\"p-source-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"An MCP server can expose a database, document repository, web search service or AI-generated summary. The protocol does not declare which source is authoritative for a claim.\"},\"tunes\":{}},{\"id\":\"p-source-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Source-of-Truth rules belong to application\u002Fdomain architecture. The host or server can encode authority through tool design, metadata, access policy or validation, but MCP itself does not make one capability “true.”\"},\"tunes\":{}},{\"id\":\"p-source-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"A tool can therefore be perfectly callable through MCP and still return stale, secondary or non-authoritative information.\"},\"tunes\":{}},{\"id\":\"h-context\",\"type\":\"header\",\"data\":{\"text\":\"MCP and context engineering\",\"level\":2},\"tunes\":{}},{\"id\":\"p-context-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP can increase the capabilities and information available to an AI application, but context engineering still determines what reaches the model.\"},\"tunes\":{}},{\"id\":\"p-context-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Tool catalogs consume model-visible context in many hosts. Tool results can be large. Resources can be numerous. A host needs selection, filtering, dynamic loading and compaction rather than exposing everything on every turn.\"},\"tunes\":{}},{\"id\":\"p-context-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Capability availability and model-visible context should therefore be treated as separate layers.\"},\"tunes\":{}},{\"id\":\"h-tool-design\",\"type\":\"header\",\"data\":{\"text\":\"Design MCP tools around outcomes and risk boundaries\",\"level\":2},\"tunes\":{}},{\"id\":\"tool-design-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Weak tool design\",\"Stronger tool design\"],[\"execute_api(method,url,body)\",\"Narrow domain tools with validated operations\"],[\"One admin tool for all actions\",\"Separate read\u002Fwrite\u002Fapproval operations\"],[\"Raw internal API mirrored 1:1\",\"AI-facing contract around coherent user goals\"],[\"One broad filesystem tool\",\"Workspace-scoped read\u002Fwrite operations\"],[\"Security policy only in description\",\"Server enforces policy in code\"],[\"Unbounded raw response\",\"Structured decision-relevant output\"],[\"Delete\u002Fupdate mixed with read\",\"Separate side-effect tools with confirmation policy\"]]},\"tunes\":{}},{\"id\":\"h-approvals\",\"type\":\"header\",\"data\":{\"text\":\"Approvals belong in the execution architecture\",\"level\":2},\"tunes\":{}},{\"id\":\"p-approve-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A host can require user approval before invoking selected MCP tools. OpenAI's current MCP integration supports automatic or explicit-approval execution patterns.\"},\"tunes\":{}},{\"id\":\"p-approve-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Host approval is useful but should not be the server's only protection because another compatible MCP client may use a different approval model.\"},\"tunes\":{}},{\"id\":\"p-approve-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"For destructive or financially consequential actions, use defense in depth: clear tool contract, runtime approval where appropriate, server-side authorization, business validation and audit.\"},\"tunes\":{}},{\"id\":\"h-observability\",\"type\":\"header\",\"data\":{\"text\":\"MCP observability should connect protocol calls to domain actions\",\"level\":2},\"tunes\":{}},{\"id\":\"p-obs-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"An MCP trace is most useful when it can be correlated with the underlying application call, database change or business transaction.\"},\"tunes\":{}},{\"id\":\"p-obs-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The 2026-07-28 ecosystem standardizes W3C Trace Context propagation conventions, making it easier to follow a request across host, client, server and downstream services.\"},\"tunes\":{}},{\"id\":\"p-obs-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Protocol logs alone are not enough for consequential operations. Audit evidence should also record relevant principal, tenant, target resource, approval and resulting state change.\"},\"tunes\":{}},{\"id\":\"h-failure\",\"type\":\"header\",\"data\":{\"text\":\"What MCP cannot fix\",\"level\":2},\"tunes\":{}},{\"id\":\"failure-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Problem\",\"Why MCP does not solve it\"],[\"Bad business API\",\"MCP can expose the bad API more consistently\"],[\"Wrong data\",\"Protocol validity does not create factual correctness\"],[\"Missing tenant isolation\",\"Tool discovery does not enforce resource ownership\"],[\"Excessive privileges\",\"A standardized tool can still be overprivileged\"],[\"Poor agent planning\",\"MCP exposes capabilities; runtime\u002Fmodel still chooses how to use them\"],[\"Bad retry\u002Fidempotency design\",\"Protocol calls do not make side effects safe\"],[\"No Source of Truth\",\"MCP does not decide which system owns a fact\"],[\"Weak evaluation\",\"Interoperability does not prove task success\"],[\"No audit policy\",\"Transport traces do not define retention or accountability\"],[\"Protocol mismatch\",\"Old\u002Fnew versions can still require migration or compatibility handling\"]]},\"tunes\":{}},{\"id\":\"h-implementation\",\"type\":\"header\",\"data\":{\"text\":\"Original implementation evidence: Aaasaasa AI Client\",\"level\":2},\"tunes\":{}},{\"id\":\"impl-note\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"Implementation evidence\",\"body\":\"Aaasaasa AI Client contains an authenticated local MCP connector\u002Fbroker for approved local directories and integration through Secure MCP Tunnel. This is concrete implementation evidence for the protocol boundary and permission architecture, not a claim of a general-purpose commercial MCP platform.\"},\"tunes\":{}},{\"id\":\"p-impl-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The application can run an authenticated Streamable HTTP MCP endpoint on loopback. The endpoint exposes only directories selected through the central workspace permission broker.\"},\"tunes\":{}},{\"id\":\"p-impl-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The local endpoint and remote route are separate concerns: the local connector can bind only to loopback, while a Secure MCP Tunnel can make the approved MCP service reachable to a permitted external AI client without exposing the whole local machine.\"},\"tunes\":{}},{\"id\":\"p-impl-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The central permission model distinguishes chat-only, read-only, project-write and custom-directory profiles. Direct Chat has no filesystem or shell access; tool-capable agent runtimes use the selected permission profile.\"},\"tunes\":{}},{\"id\":\"p-impl-4\",\"type\":\"paragraph\",\"data\":{\"text\":\"This is a direct implementation of the G02 boundary: MCP provides the standardized capability connection, while the application-owned permission broker decides which directories the server may expose.\"},\"tunes\":{}},{\"id\":\"impl-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Implemented element\",\"Architecture evidence\"],[\"Authenticated local MCP endpoint\",\"MCP server can be a local deterministic capability service\"],[\"Loopback binding\",\"Network exposure and protocol capability are separate decisions\"],[\"Secure MCP Tunnel integration\",\"Private\u002Flocal MCP can be bridged through a controlled route\"],[\"Central permission broker\",\"MCP capability is constrained by application policy\"],[\"Selected directory scope\",\"Filesystem visibility is explicitly bounded\"],[\"Direct Chat without OS tools\",\"Model access does not automatically imply tool access\"]]},\"tunes\":{}},{\"id\":\"impl-boundary\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"Evidence boundary\",\"body\":\"The implementation demonstrates MCP connectivity and permission-scoped local directory exposure. It does not imply that every MCP primitive, every 2026-07-28 feature or every enterprise authorization extension is implemented.\"},\"tunes\":{}},{\"id\":\"h-use\",\"type\":\"header\",\"data\":{\"text\":\"When MCP is a good fit\",\"level\":2},\"tunes\":{}},{\"id\":\"use-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"MCP is a strong fit when\",\"A direct integration may be simpler when\"],[\"The same capability should be reusable across multiple AI hosts\",\"One application owns both sides and portability has little value\"],[\"An external system wants to publish discoverable AI-facing tools\u002Fresources\",\"A single stable internal API call is sufficient\"],[\"You want a standard boundary around local tools\u002Fdata\",\"There is no AI-facing interoperability requirement\"],[\"Tool providers and AI clients evolve independently\",\"The integration is intentionally private and tightly coupled\"],[\"You want ecosystem-compatible capability discovery\",\"The capability set is tiny and fixed in application code\"]]},\"tunes\":{}},{\"id\":\"h-not-need\",\"type\":\"header\",\"data\":{\"text\":\"When you do not need MCP\",\"level\":2},\"tunes\":{}},{\"id\":\"p-not-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Do not add MCP merely because the application uses AI. If your backend already calls one internal API and no independent MCP client needs that capability, an ordinary function or service call may be clearer.\"},\"tunes\":{}},{\"id\":\"p-not-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP adds value at an interoperability boundary. Without that boundary, the protocol can become an unnecessary adapter layer.\"},\"tunes\":{}},{\"id\":\"p-not-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The architectural question is not “Does this project have AI?” but “Do independently evolving AI hosts and capability providers benefit from a standard contract?”\"},\"tunes\":{}},{\"id\":\"h-security\",\"type\":\"header\",\"data\":{\"text\":\"MCP security checklist\",\"level\":2},\"tunes\":{}},{\"id\":\"security-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Boundary\",\"Question\"],[\"Server identity\",\"Which MCP server am I actually connected to?\"],[\"Client identity\",\"Which application\u002Fclient is requesting access?\"],[\"End-user identity\",\"On whose behalf is the operation performed?\"],[\"Tool allowlist\",\"Which capabilities may this host\u002Fagent discover and call?\"],[\"Business permission\",\"May this principal perform this operation?\"],[\"Tenant scope\",\"Which tenant\u002Fresource boundary applies?\"],[\"Credential isolation\",\"Are credentials bound correctly and kept outside model context?\"],[\"Approval\",\"Which side effects require human confirmation?\"],[\"Input validation\",\"Are tool arguments validated independently of model output?\"],[\"Output trust\",\"Can returned content contain untrusted instructions or sensitive data?\"],[\"Network exposure\",\"Is a local server accidentally exposed beyond intended interfaces?\"],[\"Audit\",\"Can a protocol call be correlated with the downstream action?\"]]},\"tunes\":{}},{\"id\":\"h-misconceptions\",\"type\":\"header\",\"data\":{\"text\":\"Common misconceptions\",\"level\":2},\"tunes\":{}},{\"id\":\"misconceptions-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Misconception\",\"Correction\"],[\"“An MCP server is an AI server.”\",\"It can be ordinary deterministic software exposing capabilities.\"],[\"“I need my own LLM on the MCP server.”\",\"No. The model can live entirely on the host side.\"],[\"“MCP replaces REST APIs.”\",\"MCP often wraps existing APIs for AI-facing interoperability.\"],[\"“MCP is an agent framework.”\",\"MCP supplies capabilities; an agent runtime manages iteration and state.\"],[\"“MCP and function calling compete.”\",\"A host can bridge MCP capabilities into its model tool interface.\"],[\"“MCP replaces A2A.”\",\"MCP focuses on capability integration; A2A focuses on agent collaboration.\"],[\"“If a tool is listed, the user may call it.”\",\"Discovery is not authorization.\"],[\"“OAuth solves business permissions.”\",\"Connection authorization does not replace domain authorization or tenant isolation.\"],[\"“Local MCP means local AI.”\",\"Tool-server location and inference location are independent.\"],[\"“MCP makes tool output trustworthy.”\",\"Data quality, authority and provenance still belong to the source\u002Fapplication.\"],[\"“One giant generic tool is flexible.”\",\"Over-broad tools weaken permissions, validation and observability.\"],[\"“Old tutorials are implementation-current.”\",\"The 2026-07-28 revision materially changed lifecycle and transport behavior.\"]]},\"tunes\":{}},{\"id\":\"h-design\",\"type\":\"header\",\"data\":{\"text\":\"A practical MCP design sequence\",\"level\":2},\"tunes\":{}},{\"id\":\"design-flow\",\"type\":\"processFlow\",\"data\":{\"title\":\"Design the boundary before implementing the server\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Identify the interoperability boundary\",\"description\":\"Confirm that independent AI hosts actually need reusable access.\"},{\"label\":\"2. Keep the domain API authoritative\",\"description\":\"Preserve the real application\u002Fservice contract behind MCP.\"},{\"label\":\"3. Choose primitives deliberately\",\"description\":\"Use tools, resources and prompts according to their semantics.\"},{\"label\":\"4. Split by risk and permission\",\"description\":\"Separate read, write, destructive and approval-required operations.\"},{\"label\":\"5. Define identity propagation\",\"description\":\"Know which client, user, agent and downstream principal each call represents.\"},{\"label\":\"6. Enforce business authorization\",\"description\":\"Validate permissions, tenant scope and target ownership.\"},{\"label\":\"7. Choose local or remote transport\",\"description\":\"Match deployment topology to the real need.\"},{\"label\":\"8. Pin protocol\u002FSDK expectations\",\"description\":\"Document 2026-07-28 versus older compatibility.\"},{\"label\":\"9. Add approvals for consequential actions\",\"description\":\"Use risk-appropriate confirmation controls.\"},{\"label\":\"10. Design structured outputs\",\"description\":\"Return concise machine-usable results.\"},{\"label\":\"11. Add tracing and audit correlation\",\"description\":\"Connect MCP calls to downstream service\u002Fbusiness events.\"},{\"label\":\"12. Test portability\",\"description\":\"Verify more than one client where interoperability is a stated requirement.\"}]},\"tunes\":{}},{\"id\":\"h-checklist\",\"type\":\"header\",\"data\":{\"text\":\"MCP architecture checklist\",\"level\":2},\"tunes\":{}},{\"id\":\"checklist-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Question\",\"Expected answer\"],[\"Why is MCP needed?\",\"A real AI-facing interoperability boundary\"],[\"What does the server expose?\",\"Explicit tools\u002Fresources\u002Fprompts\"],[\"Where does the model run?\",\"Independent host\u002Fprovider decision\"],[\"Where does tool execution run?\",\"Named server\u002Fruntime location\"],[\"Which protocol revision is expected?\",\"Version-aware contract\"],[\"Who is the requesting principal?\",\"Client\u002Fuser\u002Fagent identity model\"],[\"Which tools may be discovered?\",\"Allowlist\u002Fcapability policy\"],[\"Which operations may execute?\",\"Server-side business authorization\"],[\"How is tenant\u002Fresource scope enforced?\",\"Trusted tenant\u002Fresource ownership checks\"],[\"Which actions need approval?\",\"Risk-based confirmation policy\"],[\"How are credentials protected?\",\"Trusted runtime storage, not model-visible secrets\"],[\"How is output bounded?\",\"Structured relevant result contract\"],[\"How are calls traced?\",\"Correlation through MCP to downstream action\"],[\"What happens if MCP is unavailable?\",\"Defined fallback\u002Ffailure behavior\"],[\"Can another compatible host use it?\",\"Portability validated where required\"]]},\"tunes\":{}},{\"id\":\"h-edge\",\"type\":\"header\",\"data\":{\"text\":\"Edge cases and limitations\",\"level\":2},\"tunes\":{}},{\"id\":\"p-edge-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A local stdio MCP server can have little network exposure while still be dangerous if the process itself has excessive filesystem or shell permissions.\"},\"tunes\":{}},{\"id\":\"p-edge-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A remote MCP server may expose only public documentation or highly sensitive enterprise actions. “Remote MCP” says little about risk without the capability and authorization context.\"},\"tunes\":{}},{\"id\":\"p-edge-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Some servers may use only tools and ignore resources\u002Fprompts. MCP compatibility does not require every optional primitive to be equally important.\"},\"tunes\":{}},{\"id\":\"p-edge-4\",\"type\":\"paragraph\",\"data\":{\"text\":\"A host can translate between its own internal tool model and MCP. Users may never see the protocol boundary directly, which is acceptable if security and attribution remain clear.\"},\"tunes\":{}},{\"id\":\"p-edge-5\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP continues to evolve rapidly. Extensions, authorization patterns, SDK APIs and ecosystem conventions can change faster than the core architectural distinction.\"},\"tunes\":{}},{\"id\":\"h-change\",\"type\":\"header\",\"data\":{\"text\":\"What would change this answer?\",\"level\":2},\"tunes\":{}},{\"id\":\"p-change-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Future MCP revisions can change lifecycle, transports, authorization and extension mechanisms. The July 2026 revision already demonstrates why implementation-specific claims must be dated.\"},\"tunes\":{}},{\"id\":\"p-change-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The canonical boundary would change only if MCP expanded from an interoperability protocol into an end-to-end application\u002Fagent architecture standard. That is not what the current protocol defines.\"},\"tunes\":{}},{\"id\":\"p-change-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"For implementation work, always check the current specification and exact SDK line instead of copying version-sensitive examples from older tutorials.\"},\"tunes\":{}},{\"id\":\"h-related\",\"type\":\"header\",\"data\":{\"text\":\"Related canonical knowledge\",\"level\":2},\"tunes\":{}},{\"id\":\"p-related-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP belongs downstream of Agentic AI: first understand the agent\u002Fruntime\u002Ftool boundary, then use MCP when external capabilities need a portable protocol contract.\"},\"tunes\":{}},{\"id\":\"p-related-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP also depends on RBAC and tenant isolation because protocol-level capability exposure does not determine application authorization.\"},\"tunes\":{}},{\"id\":\"p-related-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The broader protocol-stack article explains where MCP sits beside A2A, UCP, AP2 and A2UI. G02 remains the canonical source for MCP itself.\"},\"tunes\":{}},{\"id\":\"ref-reliability\",\"type\":\"referralArticle\",\"data\":{\"url\":\"https:\u002F\u002Fstajic.de\u002Fblog\u002Fai-agent-reliability-why-the-final-answer-is-not-enough\",\"title\":\"AI Agent Reliability: Why the Final Answer Is Not Enough\",\"excerpt\":\"MCP tool calls become part of an agent trajectory; reliable systems need to evaluate actions and observations, not only final text.\",\"ctaLabel\":\"Read the agent reliability article\"},\"tunes\":{}},{\"id\":\"h-faq\",\"type\":\"header\",\"data\":{\"text\":\"Frequently asked questions\",\"level\":2},\"tunes\":{}},{\"id\":\"faq\",\"type\":\"faq\",\"data\":{\"title\":\"Model Context Protocol FAQ\",\"items\":[{\"id\":\"faq1\",\"question\":\"What is MCP?\",\"answer\":\"The Model Context Protocol is an open client-server protocol for connecting AI applications to external tools, resources, prompts and capability providers through a standardized contract.\"},{\"id\":\"faq2\",\"question\":\"Does an MCP server need an AI model?\",\"answer\":\"No. An MCP server can be completely deterministic software. The model normally runs in the AI host or agent runtime, although a server may optionally use AI internally.\"},{\"id\":\"faq3\",\"question\":\"What is the difference between an MCP client and server?\",\"answer\":\"The client is the protocol component used by an AI host to communicate with capability providers. The server publishes and executes the capabilities it exposes.\"},{\"id\":\"faq4\",\"question\":\"Does MCP replace function calling?\",\"answer\":\"No. Function\u002Ftool calling is how a model invokes configured capabilities. MCP standardizes discovery and communication with external capability servers. A host can bridge the two.\"},{\"id\":\"faq5\",\"question\":\"Does MCP replace REST APIs?\",\"answer\":\"No. MCP servers frequently wrap existing REST, GraphQL, database or service APIs and provide an AI-facing interoperability layer.\"},{\"id\":\"faq6\",\"question\":\"Is MCP an agent framework?\",\"answer\":\"No. MCP exposes capabilities. Agent planning, state, memory, context management, retries, orchestration and stopping belong to the surrounding runtime.\"},{\"id\":\"faq7\",\"question\":\"What is the difference between MCP and A2A?\",\"answer\":\"MCP primarily connects an AI host or agent to tools and data providers. A2A connects independent agent systems for collaboration and delegation.\"},{\"id\":\"faq8\",\"question\":\"Does MCP handle authorization?\",\"answer\":\"MCP includes protocol-level authorization mechanisms, especially for remote servers, but the application must still enforce business permissions, resource ownership and tenant isolation.\"},{\"id\":\"faq9\",\"question\":\"Can MCP work with local models?\",\"answer\":\"Yes. Model location is independent of MCP. A local-model host can call local or remote MCP servers, and a cloud-model host can use approved local or remote MCP servers through an appropriate connection architecture.\"},{\"id\":\"faq10\",\"question\":\"What is the current MCP specification version?\",\"answer\":\"As of 8 October 2026, the current specification revision is 2026-07-28. Older 2025-era implementations remain in use, so compatibility must be checked.\"}]},\"tunes\":{}},{\"id\":\"h-glossary\",\"type\":\"header\",\"data\":{\"text\":\"Glossary\",\"level\":2},\"tunes\":{}},{\"id\":\"glossary\",\"type\":\"glossary\",\"data\":{\"title\":\"Key MCP terms\",\"entries\":[{\"term\":\"MCP\",\"definition\":\"Model Context Protocol, an open protocol for interoperable connections between AI hosts\u002Fclients and external capability servers.\",\"anchor\":\"mcp\"},{\"term\":\"MCP host\",\"definition\":\"The AI application or runtime that owns model interaction and uses MCP clients to connect to servers.\",\"anchor\":\"mcp-host\"},{\"term\":\"MCP client\",\"definition\":\"Protocol component on the host side that communicates with an MCP server.\",\"anchor\":\"mcp-client\"},{\"term\":\"MCP server\",\"definition\":\"Capability provider that implements MCP and exposes tools, resources, prompts or supported extensions.\",\"anchor\":\"mcp-server\"},{\"term\":\"Tool\",\"definition\":\"Callable structured capability exposed by an MCP server.\",\"anchor\":\"mcp-tool\"},{\"term\":\"Resource\",\"definition\":\"Readable data or content exposed through MCP resource methods.\",\"anchor\":\"mcp-resource\"},{\"term\":\"Prompt\",\"definition\":\"Reusable prompt template exposed by an MCP server for compatible hosts.\",\"anchor\":\"mcp-prompt\"},{\"term\":\"Streamable HTTP\",\"definition\":\"HTTP-oriented MCP transport used for remote\u002Fnetworked server communication.\",\"anchor\":\"streamable-http\"},{\"term\":\"stdio\",\"definition\":\"Process standard-input\u002Foutput transport commonly used for local MCP server integrations.\",\"anchor\":\"stdio\"},{\"term\":\"server\u002Fdiscover\",\"definition\":\"Modern MCP method that lets a client inspect server capabilities in the 2026-07-28 protocol era.\",\"anchor\":\"server-discover\"},{\"term\":\"MRTR\",\"definition\":\"Multi Round-Trip Requests, a mechanism for obtaining additional input during a request in the 2026-07-28 protocol era.\",\"anchor\":\"mrtr\"},{\"term\":\"MCP extension\",\"definition\":\"Capability that composes with the base protocol and can evolve\u002Fversion separately, such as Tasks or MCP Apps.\",\"anchor\":\"mcp-extension\"}]},\"tunes\":{}},{\"id\":\"h-conclusion\",\"type\":\"header\",\"data\":{\"text\":\"Conclusion\",\"level\":2},\"tunes\":{}},{\"id\":\"p-conclusion-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP is easiest to understand when its boundary stays narrow: it connects AI applications to external capabilities through a standard protocol.\"},\"tunes\":{}},{\"id\":\"p-conclusion-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The model does not have to live on the MCP server. The server does not become the agent runtime. A listed tool does not become an authorized business action. And MCP does not replace the underlying API, Source of Truth, tenant isolation or domain architecture.\"},\"tunes\":{}},{\"id\":\"p-conclusion-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"That narrowness is the protocol's strength. MCP can standardize how AI systems reach tools and data while leaving application ownership, security, business semantics and model choice in the layers that actually own them.\"},\"tunes\":{}},{\"id\":\"h-sources\",\"type\":\"header\",\"data\":{\"text\":\"Primary sources and current documentation\",\"level\":2},\"tunes\":{}},{\"id\":\"p-sources-note\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP is evolving quickly, so version-sensitive claims in this article are tied to the 8 October 2026 state. The Aaasaasa AI Client section is original implementation evidence and is explicitly limited to the verified MCP connector and permission-broker scope.\"},\"tunes\":{}},{\"id\":\"src-mcp-ts\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fts.sdk.modelcontextprotocol.io\u002Fv2\u002F\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Model Context Protocol — TypeScript SDK v2\",\"description\":\"Current stable TypeScript SDK documentation implementing the 2026-07-28 MCP specification and server\u002Fclient primitives.\"}},\"tunes\":{}},{\"id\":\"src-mcp-release\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fblog.modelcontextprotocol.io\u002Fposts\u002F2026-07-28\u002F\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Model Context Protocol — 2026-07-28 Specification Release\",\"description\":\"Official release explanation for the current MCP protocol revision, including stateless core, MRTR, routing, caching, authorization hardening, extensions and deprecations.\"}},\"tunes\":{}},{\"id\":\"src-mcp-migration\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fts.sdk.modelcontextprotocol.io\u002Fv2\u002Fmigration\u002Fsupport-2026-07-28\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"MCP TypeScript SDK — Supporting protocol revision 2026-07-28\",\"description\":\"Version-specific implementation guidance for the current protocol revision and earlier-era compatibility.\"}},\"tunes\":{}},{\"id\":\"src-openai-mcp\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ftools-connectors-mcp\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"OpenAI — MCP servers\",\"description\":\"Current OpenAI guidance for connecting models to remote MCP servers and local\u002Fprivate MCP servers through Secure MCP Tunnel.\"}},\"tunes\":{}},{\"id\":\"src-openai-agent-mcp\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents-api\u002Ftools\u002Fmcp\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"OpenAI — MCP connections for Agents API\",\"description\":\"Current MCP connection guidance covering service, environment and stdio locations plus allowed-tool controls.\"}},\"tunes\":{}},{\"id\":\"src-openai-tools\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ftools\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"OpenAI — Tools\",\"description\":\"Current overview placing remote MCP servers alongside function calling, web search, shell and other model tools.\"}},\"tunes\":{}},{\"id\":\"src-openai-plugin-mcp\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevelopers.openai.com\u002Fplugins\u002Fconcepts\u002Fmcp-server\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"OpenAI — MCP server concept\",\"description\":\"Current description of MCP servers exposing tools, resources and prompts for external service integrations.\"}},\"tunes\":{}}],\"version\":\"2.31.6\"}",{"time":1655,"blocks":1656,"version":2812},1791486641380,[1657,1661,1666,1671,1676,1681,1685,1689,1693,1697,1701,1705,1709,1713,1717,1743,1747,1751,1755,1759,1763,1785,1789,1793,1797,1821,1825,1829,1833,1837,1841,1845,1849,1853,1857,1861,1865,1869,1873,1896,1900,1904,1908,1912,1917,1921,1925,1929,1933,1937,1958,1962,1966,1970,1974,1978,1982,1986,1990,1994,2000,2004,2008,2012,2016,2020,2035,2039,2043,2047,2077,2081,2085,2089,2093,2097,2101,2105,2109,2113,2117,2121,2125,2129,2133,2137,2141,2146,2150,2154,2158,2162,2166,2170,2174,2178,2182,2186,2190,2194,2198,2202,2206,2210,2214,2241,2245,2249,2253,2257,2261,2265,2269,2273,2277,2313,2317,2322,2326,2330,2334,2338,2363,2368,2372,2394,2398,2402,2406,2410,2414,2457,2461,2504,2508,2549,2553,2604,2608,2612,2616,2620,2624,2628,2632,2636,2640,2644,2648,2652,2656,2660,2667,2671,2706,2710,2740,2744,2748,2752,2756,2760,2764,2770,2777,2784,2791,2798,2805],{"id":215,"data":1658,"type":218,"tunes":1660},{"text":1659},"The Model Context Protocol (MCP) is an open protocol for connecting AI applications to external capabilities and information through standardized client-server contracts. An MCP server can expose tools, resources and prompts; an MCP-compatible host or client discovers and uses those capabilities on behalf of an AI application. MCP does not require the server to run its own language model, and it does not replace the agent runtime, business authorization, tenant isolation, application APIs or domain architecture behind the exposed capabilities.",{},{"id":221,"data":1662,"type":226,"tunes":1665},{"body":1663,"title":1664,"variant":225},"\u003Cstrong>MCP standardizes the boundary between an AI host and external capability providers.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>A useful mental model is:\u003Cbr>\u003Cstrong>User → AI host \u002F agent runtime → MCP client → MCP server → application\u002FAPI\u002Fdata\u002Ftool\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>The model can remain entirely on the host side. The MCP server may be ordinary deterministic software that exposes structured capabilities.","Direct answer",{},{"id":229,"data":1667,"type":226,"tunes":1670},{"body":1668,"title":1669,"variant":233},"A filesystem MCP server can list or read files. A database MCP server can run approved queries. A Jira MCP server can expose issue operations. None of those servers needs an LLM to satisfy the MCP contract. If a server internally uses AI, that is an implementation choice behind the protocol boundary, not an MCP requirement.","An MCP server does not need its own AI model",{},{"id":236,"data":1672,"type":226,"tunes":1675},{"body":1673,"title":1674,"variant":240},"If an MCP server exposes \u003Ccode>delete_file\u003C\u002Fcode>, \u003Ccode>refund_order\u003C\u002Fcode> or \u003Ccode>deploy_service\u003C\u002Fcode>, that only means the capability exists. The server\u002Fapplication must still enforce identity, permissions, tenant scope, business rules, confirmation requirements and audit controls. Protocol discovery must never silently become authorization.","MCP capability is not business authority",{},{"id":243,"data":1677,"type":226,"tunes":1680},{"body":1678,"title":1679,"variant":247},"The current MCP specification revision is \u003Cstrong>2026-07-28\u003C\u002Fstrong>. Its major change is a stateless protocol core with self-describing requests, optional \u003Ccode>server\u002Fdiscover\u003C\u002Fcode>, routable HTTP headers, cacheable list\u002Fresource responses, authorization hardening and a formal extension model. The TypeScript SDK v2 is the current stable SDK line implementing this revision. Older 2025-era clients and servers still exist, so implementation guidance must remain version-aware.","Current-source note — 8 October 2026",{},{"id":250,"data":1682,"type":255,"tunes":1684},{"title":1683,"maxLevel":253,"minLevel":254},"Contents",{},{"id":258,"data":1686,"type":42,"tunes":1688},{"text":1687,"level":254},"What MCP really standardizes",{},{"id":263,"data":1690,"type":218,"tunes":1692},{"text":1691},"Before MCP, every AI application could integrate external systems through its own tool schema, plugin format, authentication convention and connection code. The same service could need different adapters for a desktop AI client, an IDE agent and a custom application.",{},{"id":268,"data":1694,"type":218,"tunes":1696},{"text":1695},"MCP creates a reusable protocol boundary. The external system exposes capabilities through an MCP server, while compatible AI hosts implement an MCP client. This reduces integration coupling between the AI application and the underlying tool or data provider.",{},{"id":273,"data":1698,"type":218,"tunes":1700},{"text":1699},"The protocol does not standardize the entire application. It standardizes how capabilities are described, discovered and invoked across that boundary.",{},{"id":278,"data":1702,"type":42,"tunes":1704},{"text":1703,"level":254},"The simplest example",{},{"id":283,"data":1706,"type":218,"tunes":1708},{"text":1707},"Suppose an AI coding application needs access to a local project directory. Without MCP, the application might implement its own filesystem integration directly.",{},{"id":288,"data":1710,"type":218,"tunes":1712},{"text":1711},"With MCP, a filesystem server can expose capabilities such as listing directories, reading approved files or writing inside an allowed workspace. The AI host connects through an MCP client and presents those capabilities to the model or agent runtime.",{},{"id":293,"data":1714,"type":218,"tunes":1716},{"text":1715},"The server does not need to understand the user's natural-language request. The host\u002Fmodel decides which capability is useful; the MCP server executes the structured request under its own security rules.",{},{"id":298,"data":1718,"type":324,"tunes":1742},{"steps":1719,"title":1741,"orientation":323},[1720,1723,1726,1729,1732,1735,1738],{"label":1721,"description":1722},"1. Host connects to server","The MCP-capable application configures access to the external MCP server.",{"label":1724,"description":1725},"2. Capabilities are discovered","The client learns which tools, resources or prompts the server exposes.",{"label":1727,"description":1728},"3. Model or runtime selects a capability","The AI application decides that one exposed capability is needed.",{"label":1730,"description":1731},"4. Client sends structured request","Arguments are sent through MCP to the server.",{"label":1733,"description":1734},"5. Server authorizes and executes","The server validates the request and calls its underlying system.",{"label":1736,"description":1737},"6. Result returns to host","The result becomes an observation or context input.",{"label":1739,"description":1740},"7. Host decides what happens next","The model\u002Fruntime may answer, call another tool or continue a workflow.","A basic MCP tool call",{},{"id":327,"data":1744,"type":42,"tunes":1746},{"text":1745,"level":254},"Where the simple example stops",{},{"id":332,"data":1748,"type":218,"tunes":1750},{"text":1749},"MCP does not define how the host chooses a tool, how an agent plans, how a business workflow is modeled or how a domain object such as an invoice or deployment should behave.",{},{"id":337,"data":1752,"type":218,"tunes":1754},{"text":1753},"A protocol can make the integration interoperable while the underlying application remains incorrect, insecure or badly designed. A perfectly valid MCP request can still call the wrong business capability.",{},{"id":342,"data":1756,"type":218,"tunes":1758},{"text":1757},"The central boundary is: MCP standardizes integration semantics, not application truth or business correctness.",{},{"id":347,"data":1760,"type":42,"tunes":1762},{"text":1761,"level":254},"The MCP architecture: host, client and server",{},{"id":352,"data":1764,"type":376,"tunes":1784},{"content":1765,"stretched":43,"withHeadings":14},[1766,1769,1771,1774,1776,1779,1781],[1767,1768],"Component","Responsibility",[359,1770],"User-facing AI application or runtime that owns model interaction, context and overall workflow",[1772,1773],"MCP client","Protocol-side component used by the host to communicate with an MCP server",[365,1775],"Publishes capabilities and handles MCP requests",[1777,1778],"Underlying system","Application, API, database, filesystem, SaaS platform or service behind the MCP server",[371,1780],"Chooses or reasons about capabilities according to the host\u002Fruntime design; it is not necessarily inside the MCP server",[1782,1783],"Authorization\u002Fbusiness policy","Determines whether a requested operation is actually permitted",{},{"id":379,"data":1786,"type":218,"tunes":1788},{"text":1787},"A host can connect to multiple MCP servers, and one MCP server can front one or several underlying systems. The host remains responsible for integrating MCP results into the broader AI application.",{},{"id":384,"data":1790,"type":218,"tunes":1792},{"text":1791},"The server can be local to the host, run as a separate process or be remote over a network transport. Hosting topology and model location are independent decisions.",{},{"id":389,"data":1794,"type":42,"tunes":1796},{"text":1795,"level":254},"The three core server primitives",{},{"id":394,"data":1798,"type":425,"tunes":1820},{"rows":1799,"title":1812,"layout":376,"columns":1813},[1800,1803,1806,1809],{"id":398,"label":1801,"values":1802},"Primary purpose",[401,401,401],{"id":403,"label":1804,"values":1805},"Typical interaction",[401,401,401],{"id":407,"label":1807,"values":1808},"Example",[401,401,401],{"id":411,"label":1810,"values":1811},"Typical risk",[401,401,401],"Tools, resources and prompts solve different needs",[1814,1816,1818],{"id":417,"label":1815},"Tools",{"id":420,"label":1817},"Resources",{"id":423,"label":1819},"Prompts",{},{"id":428,"data":1822,"type":42,"tunes":1824},{"text":1823,"level":254},"Tools: callable capabilities",{},{"id":433,"data":1826,"type":218,"tunes":1828},{"text":1827},"Tools are structured operations an MCP server makes available to the host. A tool has a name, description and input schema; modern implementations can also provide structured output.",{},{"id":438,"data":1830,"type":218,"tunes":1832},{"text":1831},"Examples include searching a repository, reading a customer record, creating a ticket, running a build or sending a message. Tools can be read-only or have side effects.",{},{"id":443,"data":1834,"type":218,"tunes":1836},{"text":1835},"A good MCP tool surface should represent coherent user or agent goals rather than mechanically mirror every internal API endpoint. Operations with different permissions, confirmation requirements or blast radius should usually be separate tools.",{},{"id":448,"data":1838,"type":42,"tunes":1840},{"text":1839,"level":254},"Resources: readable context and data",{},{"id":453,"data":1842,"type":218,"tunes":1844},{"text":1843},"Resources expose data or content that a client can list or read. They fit naturally when the semantic operation is “give me this artifact or information” rather than “perform this action.”",{},{"id":458,"data":1846,"type":218,"tunes":1848},{"text":1847},"A resource URI is not an authorization grant. The server still owns access control and must verify which principal may read the underlying object.",{},{"id":463,"data":1850,"type":218,"tunes":1852},{"text":1851},"The 2026-07-28 protocol revision adds cache semantics for list and resource-read responses, including freshness and cache scope, making caching behavior more explicit.",{},{"id":468,"data":1854,"type":42,"tunes":1856},{"text":1855,"level":254},"Prompts: reusable templates",{},{"id":473,"data":1858,"type":218,"tunes":1860},{"text":1859},"MCP prompts let a server publish reusable prompt templates to compatible clients. This can keep domain-specific instructions close to the capability provider.",{},{"id":478,"data":1862,"type":218,"tunes":1864},{"text":1863},"A prompt supplied by an MCP server does not automatically outrank the host's system or security instructions. The host decides how prompt material enters its context hierarchy.",{},{"id":483,"data":1866,"type":218,"tunes":1868},{"text":1867},"Protocol-provided prompt content should therefore be treated as capability data with explicit trust semantics, not as unrestricted instruction authority.",{},{"id":488,"data":1870,"type":42,"tunes":1872},{"text":1871,"level":254},"Tool or resource?",{},{"id":493,"data":1874,"type":376,"tunes":1895},{"content":1875,"stretched":43,"withHeadings":14},[1876,1879,1882,1885,1888,1890,1892],[1877,1878],"Need","Prefer",[1880,1881],"Perform an action with structured arguments","Tool",[1883,1884],"Read a specific stable artifact","Resource",[1886,1887],"Search or calculate dynamically","Usually tool",[1889,1881],"Modify external state",[1891,1494],"Package reusable prompt instructions",[1893,1894],"Long-running asynchronous execution","Tool plus application\u002Fruntime task handling or an MCP extension",{},{"id":518,"data":1897,"type":42,"tunes":1899},{"text":1898,"level":254},"Where is the AI model?",{},{"id":523,"data":1901,"type":218,"tunes":1903},{"text":1902},"MCP does not require the model to run on the MCP server. The model can be cloud-hosted, locally hosted, embedded in the desktop application or reached through another provider.",{},{"id":528,"data":1905,"type":218,"tunes":1907},{"text":1906},"The host normally owns the model interaction. The MCP server exposes external capability. A local MCP server can therefore be used by a host whose model runs in the cloud, and a remote MCP server can be used by a host whose model runs locally.",{},{"id":533,"data":1909,"type":218,"tunes":1911},{"text":1910},"If the MCP server itself calls an LLM internally, that model is part of the server's implementation behind the protocol boundary; it is not required by MCP.",{},{"id":538,"data":1913,"type":226,"tunes":1916},{"body":1914,"title":1915,"variant":233},"\u003Cstrong>Local MCP does not imply local inference, and remote MCP does not imply remote inference.\u003C\u002Fstrong> Connection location, tool-execution location and model\u002Fprovider location are separate architecture dimensions.","Protocol location ≠ inference location",{},{"id":544,"data":1918,"type":42,"tunes":1920},{"text":1919,"level":254},"MCP does not replace APIs",{},{"id":549,"data":1922,"type":218,"tunes":1924},{"text":1923},"An MCP server often wraps existing APIs or services. REST, GraphQL, SQL, SDK calls and internal service contracts can remain exactly where they are.",{},{"id":554,"data":1926,"type":218,"tunes":1928},{"text":1927},"MCP adds an AI-facing interoperability layer. The underlying domain API can remain the authoritative application contract for ordinary deterministic clients.",{},{"id":559,"data":1930,"type":218,"tunes":1932},{"text":1931},"The usual architecture is therefore API\u002Fservice first, selected AI-facing capability second — not “replace every API with MCP.”",{},{"id":564,"data":1934,"type":42,"tunes":1936},{"text":1935,"level":254},"MCP vs function calling",{},{"id":569,"data":1938,"type":425,"tunes":1957},{"rows":1939,"title":1952,"layout":376,"columns":1953},[1940,1943,1946,1949],{"id":573,"label":1941,"values":1942},"Scope",[401,401],{"id":577,"label":1944,"values":1945},"Tool definition",[401,401],{"id":581,"label":1947,"values":1948},"Portability",[401,401],{"id":585,"label":1950,"values":1951},"Can they coexist?",[401,401],"Function calling and MCP are related but not identical",[1954,1956],{"id":591,"label":1955},"Function calling",{"id":594,"label":595},{},{"id":598,"data":1959,"type":218,"tunes":1961},{"text":1960},"OpenAI currently exposes remote MCP servers as one tool type alongside ordinary function calling, web search, shell and other tools. That implementation illustrates the architectural relationship: MCP connectivity and the model's own tool-call interface can be composed.",{},{"id":603,"data":1963,"type":42,"tunes":1965},{"text":1964,"level":254},"MCP does not create the agent loop",{},{"id":608,"data":1967,"type":218,"tunes":1969},{"text":1968},"An AI agent needs a runtime that can decide, invoke tools, observe results, update state and continue or stop. MCP can supply some of the tools and data used by that loop.",{},{"id":613,"data":1971,"type":218,"tunes":1973},{"text":1972},"The MCP server does not automatically become the planner, memory system or orchestrator. Those responsibilities normally remain in the host or agent runtime.",{},{"id":618,"data":1975,"type":218,"tunes":1977},{"text":1976},"A non-agentic application can also use MCP. One deterministic MCP tool call does not require an autonomous multi-step agent.",{},{"id":623,"data":1979,"type":42,"tunes":1981},{"text":1980,"level":254},"MCP vs A2A",{},{"id":628,"data":1983,"type":218,"tunes":1985},{"text":1984},"MCP primarily connects an AI host or agent to capabilities such as tools, resources and data. A2A targets collaboration between independent agent systems.",{},{"id":633,"data":1987,"type":218,"tunes":1989},{"text":1988},"A remote agent can internally use MCP to reach databases and tools while exposing an A2A interface to other agents. The protocols can therefore be layered rather than substituted.",{},{"id":638,"data":1991,"type":218,"tunes":1993},{"text":1992},"The existing protocol-stack article owns the broader MCP\u002FA2A\u002FUCP\u002FAP2\u002FA2UI comparison; G02 remains the canonical MCP definition.",{},{"id":643,"data":1995,"type":649,"tunes":1999},{"url":645,"title":1996,"excerpt":1997,"ctaLabel":1998},"MCP vs A2A vs UCP vs AP2 vs A2UI: The Agent Protocol Stack Explained","A broader responsibility map showing how MCP composes with agent collaboration, commerce, payment authority and agent-driven UI protocols.","Read the protocol stack",{},{"id":652,"data":2001,"type":42,"tunes":2003},{"text":2002,"level":254},"Local and remote MCP use different transport realities",{},{"id":657,"data":2005,"type":218,"tunes":2007},{"text":2006},"MCP can connect to local and remote servers. Local desktop integrations commonly use process-level transports such as stdio; remote servers use HTTP-oriented transport.",{},{"id":662,"data":2009,"type":218,"tunes":2011},{"text":2010},"The 2026-07-28 revision makes the protocol core stateless. Requests carry the information needed for protocol handling instead of depending on the earlier protocol-level session model.",{},{"id":667,"data":2013,"type":218,"tunes":2015},{"text":2014},"The current revision also places method and capability names in HTTP headers so gateways, WAFs, rate limiters and load balancers can route and meter MCP traffic more naturally.",{},{"id":672,"data":2017,"type":42,"tunes":2019},{"text":2018,"level":254},"Why MCP version awareness matters",{},{"id":677,"data":2021,"type":376,"tunes":2034},{"content":2022,"stretched":43,"withHeadings":14},[2023,2026,2029,2031],[2024,2025],"Protocol era","Operational characteristic",[2027,2028],"2025-11-25 and earlier","Handshake\u002Fsession-oriented lifecycle and older Streamable HTTP behavior",[687,2030],"Stateless core, optional server discovery, self-describing requests, routing headers, cache hints, MRTR and authorization hardening",[2032,2033],"Extensions","Capabilities such as Tasks and MCP Apps can version separately from the base protocol",{},{"id":694,"data":2036,"type":218,"tunes":2038},{"text":2037},"SDK version and protocol version are also different things. The current TypeScript v2 SDK is the stable line for the 2026-07-28 revision, while older v1.x remains a maintenance line for 2025-era behavior.",{},{"id":699,"data":2040,"type":218,"tunes":2042},{"text":2041},"Architecture documentation should record both the SDK\u002Flibrary version and the protocol revision where interoperability behavior depends on them.",{},{"id":704,"data":2044,"type":42,"tunes":2046},{"text":2045,"level":254},"What changed in MCP 2026-07-28",{},{"id":709,"data":2048,"type":376,"tunes":2076},{"content":2049,"stretched":43,"withHeadings":14},[2050,2053,2056,2058,2061,2064,2067,2070,2073],[2051,2052],"Change","Why it matters",[2054,2055],"Stateless core","Remote servers can scale behind ordinary load balancers without protocol-level sticky sessions",[719,2057],"Clients can inspect server capabilities when needed",[2059,2060],"Self-describing requests","Protocol version and client capability metadata travel per request",[2062,2063],"Mcp-Method \u002F Mcp-Name headers","Gateways can route, meter and apply policy without parsing bodies",[2065,2066],"Cache hints","Lists\u002Fresource reads communicate freshness and sharing scope",[2068,2069],"Multi Round-Trip Requests","Servers can require additional input without the older bidirectional request model",[2071,2072],"Authorization hardening","Issuer validation and credential binding strengthen remote auth behavior",[2074,2075],"Extensions framework","Tasks, MCP Apps and other capabilities can evolve separately",{},{"id":741,"data":2078,"type":42,"tunes":2080},{"text":2079,"level":254},"Roots, sampling and logging are no longer the direction for new implementations",{},{"id":746,"data":2082,"type":218,"tunes":2084},{"text":2083},"The 2026-07-28 release marks roots, sampling and logging as deprecated protocol capabilities with a defined compatibility window.",{},{"id":751,"data":2086,"type":218,"tunes":2088},{"text":2087},"Older tutorials may still show these features as central primitives. New implementation work should follow the current specification rather than copy older lifecycle diagrams blindly.",{},{"id":756,"data":2090,"type":218,"tunes":2092},{"text":2091},"Deprecation does not mean immediate removal. It means new systems should avoid unnecessary new dependencies on capabilities the protocol is moving away from.",{},{"id":761,"data":2094,"type":42,"tunes":2096},{"text":2095,"level":254},"Long-running work is not the same as ordinary MCP tool invocation",{},{"id":766,"data":2098,"type":218,"tunes":2100},{"text":2099},"Long-running operations need lifecycle semantics beyond a simple immediate tool result. In the current ecosystem, Tasks moved into a dedicated MCP extension.",{},{"id":771,"data":2102,"type":218,"tunes":2104},{"text":2103},"This reinforces a useful design principle: the base protocol does not need to absorb every agent-runtime concern.",{},{"id":776,"data":2106,"type":218,"tunes":2108},{"text":2107},"An application can also keep long-running workflow ownership entirely in its own runtime and use ordinary MCP tools as underlying operations.",{},{"id":781,"data":2110,"type":42,"tunes":2112},{"text":2111,"level":254},"MCP Apps extend UI capability without redefining the core protocol",{},{"id":786,"data":2114,"type":218,"tunes":2116},{"text":2115},"MCP Apps associate richer interactive UI experiences with MCP tools through the extension model.",{},{"id":791,"data":2118,"type":218,"tunes":2120},{"text":2119},"The host still controls how that UI is embedded, sandboxed and secured.",{},{"id":796,"data":2122,"type":218,"tunes":2124},{"text":2123},"Core capability exchange and UI rendering should therefore remain separate architecture responsibilities.",{},{"id":801,"data":2126,"type":42,"tunes":2128},{"text":2127,"level":254},"MCP authorization is not your complete authorization model",{},{"id":806,"data":2130,"type":218,"tunes":2132},{"text":2131},"Remote MCP needs protocol-level authentication and authorization mechanisms so clients and servers can establish trusted access. The current specification continues to harden OAuth\u002FOIDC-related behavior.",{},{"id":811,"data":2134,"type":218,"tunes":2136},{"text":2135},"That layer answers whether a client is allowed to connect or request protocol scopes. It does not automatically answer whether Alice may refund order 123, whether an agent may write production configuration or whether Tenant A may read Tenant B data.",{},{"id":816,"data":2138,"type":218,"tunes":2140},{"text":2139},"Those domain decisions belong in the server\u002Fapplication authorization model and must be enforced before invoking the underlying operation.",{},{"id":821,"data":2142,"type":226,"tunes":2145},{"body":2143,"title":2144,"variant":240},"Connection trust, tool visibility, tool permission, user authorization, tenant isolation and business approval are different controls. Keep them separate.","Never map “authenticated MCP client” to “trusted for every tool”",{},{"id":827,"data":2147,"type":42,"tunes":2149},{"text":2148,"level":254},"Identity can cross several boundaries",{},{"id":832,"data":2151,"type":218,"tunes":2153},{"text":2152},"An MCP request may involve the MCP client application, the signed-in human, an agent\u002Fsession identity and a downstream service account.",{},{"id":837,"data":2155,"type":218,"tunes":2157},{"text":2156},"The server needs an explicit policy for which principal the operation is performed on behalf of. Otherwise a powerful service credential can become a confused-deputy path.",{},{"id":842,"data":2159,"type":218,"tunes":2161},{"text":2160},"For enterprise use, correlation between user identity, agent identity, MCP connection and downstream authorization is as important as protocol compatibility.",{},{"id":847,"data":2163,"type":42,"tunes":2165},{"text":2164,"level":254},"Tenant isolation remains outside MCP capability discovery",{},{"id":852,"data":2167,"type":218,"tunes":2169},{"text":2168},"A multi-tenant MCP server must apply tenant scope when it reads or changes tenant-owned resources. Returning a tool named search_documents does not define which tenant's documents are eligible.",{},{"id":857,"data":2171,"type":218,"tunes":2173},{"text":2172},"Tenant scope should be derived from trusted identity or membership and carried into databases, caches, vector search, object storage and downstream APIs.",{},{"id":862,"data":2175,"type":218,"tunes":2177},{"text":2176},"Retrieving cross-tenant content and asking the model not to use it is already an isolation failure.",{},{"id":867,"data":2179,"type":42,"tunes":2181},{"text":2180,"level":254},"MCP does not define Source of Truth",{},{"id":872,"data":2183,"type":218,"tunes":2185},{"text":2184},"An MCP server can expose a database, document repository, web search service or AI-generated summary. The protocol does not declare which source is authoritative for a claim.",{},{"id":877,"data":2187,"type":218,"tunes":2189},{"text":2188},"Source-of-Truth rules belong to application\u002Fdomain architecture. The host or server can encode authority through tool design, metadata, access policy or validation, but MCP itself does not make one capability “true.”",{},{"id":882,"data":2191,"type":218,"tunes":2193},{"text":2192},"A tool can therefore be perfectly callable through MCP and still return stale, secondary or non-authoritative information.",{},{"id":887,"data":2195,"type":42,"tunes":2197},{"text":2196,"level":254},"MCP and context engineering",{},{"id":892,"data":2199,"type":218,"tunes":2201},{"text":2200},"MCP can increase the capabilities and information available to an AI application, but context engineering still determines what reaches the model.",{},{"id":897,"data":2203,"type":218,"tunes":2205},{"text":2204},"Tool catalogs consume model-visible context in many hosts. Tool results can be large. Resources can be numerous. A host needs selection, filtering, dynamic loading and compaction rather than exposing everything on every turn.",{},{"id":902,"data":2207,"type":218,"tunes":2209},{"text":2208},"Capability availability and model-visible context should therefore be treated as separate layers.",{},{"id":907,"data":2211,"type":42,"tunes":2213},{"text":2212,"level":254},"Design MCP tools around outcomes and risk boundaries",{},{"id":912,"data":2215,"type":376,"tunes":2240},{"content":2216,"stretched":43,"withHeadings":14},[2217,2220,2222,2225,2228,2231,2234,2237],[2218,2219],"Weak tool design","Stronger tool design",[919,2221],"Narrow domain tools with validated operations",[2223,2224],"One admin tool for all actions","Separate read\u002Fwrite\u002Fapproval operations",[2226,2227],"Raw internal API mirrored 1:1","AI-facing contract around coherent user goals",[2229,2230],"One broad filesystem tool","Workspace-scoped read\u002Fwrite operations",[2232,2233],"Security policy only in description","Server enforces policy in code",[2235,2236],"Unbounded raw response","Structured decision-relevant output",[2238,2239],"Delete\u002Fupdate mixed with read","Separate side-effect tools with confirmation policy",{},{"id":941,"data":2242,"type":42,"tunes":2244},{"text":2243,"level":254},"Approvals belong in the execution architecture",{},{"id":946,"data":2246,"type":218,"tunes":2248},{"text":2247},"A host can require user approval before invoking selected MCP tools. OpenAI's current MCP integration supports automatic or explicit-approval execution patterns.",{},{"id":951,"data":2250,"type":218,"tunes":2252},{"text":2251},"Host approval is useful but should not be the server's only protection because another compatible MCP client may use a different approval model.",{},{"id":956,"data":2254,"type":218,"tunes":2256},{"text":2255},"For destructive or financially consequential actions, use defense in depth: clear tool contract, runtime approval where appropriate, server-side authorization, business validation and audit.",{},{"id":961,"data":2258,"type":42,"tunes":2260},{"text":2259,"level":254},"MCP observability should connect protocol calls to domain actions",{},{"id":966,"data":2262,"type":218,"tunes":2264},{"text":2263},"An MCP trace is most useful when it can be correlated with the underlying application call, database change or business transaction.",{},{"id":971,"data":2266,"type":218,"tunes":2268},{"text":2267},"The 2026-07-28 ecosystem standardizes W3C Trace Context propagation conventions, making it easier to follow a request across host, client, server and downstream services.",{},{"id":976,"data":2270,"type":218,"tunes":2272},{"text":2271},"Protocol logs alone are not enough for consequential operations. Audit evidence should also record relevant principal, tenant, target resource, approval and resulting state change.",{},{"id":981,"data":2274,"type":42,"tunes":2276},{"text":2275,"level":254},"What MCP cannot fix",{},{"id":986,"data":2278,"type":376,"tunes":2312},{"content":2279,"stretched":43,"withHeadings":14},[2280,2282,2285,2288,2291,2294,2297,2300,2303,2306,2309],[990,2281],"Why MCP does not solve it",[2283,2284],"Bad business API","MCP can expose the bad API more consistently",[2286,2287],"Wrong data","Protocol validity does not create factual correctness",[2289,2290],"Missing tenant isolation","Tool discovery does not enforce resource ownership",[2292,2293],"Excessive privileges","A standardized tool can still be overprivileged",[2295,2296],"Poor agent planning","MCP exposes capabilities; runtime\u002Fmodel still chooses how to use them",[2298,2299],"Bad retry\u002Fidempotency design","Protocol calls do not make side effects safe",[2301,2302],"No Source of Truth","MCP does not decide which system owns a fact",[2304,2305],"Weak evaluation","Interoperability does not prove task success",[2307,2308],"No audit policy","Transport traces do not define retention or accountability",[2310,2311],"Protocol mismatch","Old\u002Fnew versions can still require migration or compatibility handling",{},{"id":1024,"data":2314,"type":42,"tunes":2316},{"text":2315,"level":254},"Original implementation evidence: Aaasaasa AI Client",{},{"id":1029,"data":2318,"type":226,"tunes":2321},{"body":2319,"title":2320,"variant":247},"Aaasaasa AI Client contains an authenticated local MCP connector\u002Fbroker for approved local directories and integration through Secure MCP Tunnel. This is concrete implementation evidence for the protocol boundary and permission architecture, not a claim of a general-purpose commercial MCP platform.","Implementation evidence",{},{"id":1035,"data":2323,"type":218,"tunes":2325},{"text":2324},"The application can run an authenticated Streamable HTTP MCP endpoint on loopback. The endpoint exposes only directories selected through the central workspace permission broker.",{},{"id":1040,"data":2327,"type":218,"tunes":2329},{"text":2328},"The local endpoint and remote route are separate concerns: the local connector can bind only to loopback, while a Secure MCP Tunnel can make the approved MCP service reachable to a permitted external AI client without exposing the whole local machine.",{},{"id":1045,"data":2331,"type":218,"tunes":2333},{"text":2332},"The central permission model distinguishes chat-only, read-only, project-write and custom-directory profiles. Direct Chat has no filesystem or shell access; tool-capable agent runtimes use the selected permission profile.",{},{"id":1050,"data":2335,"type":218,"tunes":2337},{"text":2336},"This is a direct implementation of the G02 boundary: MCP provides the standardized capability connection, while the application-owned permission broker decides which directories the server may expose.",{},{"id":1055,"data":2339,"type":376,"tunes":2362},{"content":2340,"stretched":43,"withHeadings":14},[2341,2344,2347,2350,2353,2356,2359],[2342,2343],"Implemented element","Architecture evidence",[2345,2346],"Authenticated local MCP endpoint","MCP server can be a local deterministic capability service",[2348,2349],"Loopback binding","Network exposure and protocol capability are separate decisions",[2351,2352],"Secure MCP Tunnel integration","Private\u002Flocal MCP can be bridged through a controlled route",[2354,2355],"Central permission broker","MCP capability is constrained by application policy",[2357,2358],"Selected directory scope","Filesystem visibility is explicitly bounded",[2360,2361],"Direct Chat without OS tools","Model access does not automatically imply tool access",{},{"id":1081,"data":2364,"type":226,"tunes":2367},{"body":2365,"title":2366,"variant":240},"The implementation demonstrates MCP connectivity and permission-scoped local directory exposure. It does not imply that every MCP primitive, every 2026-07-28 feature or every enterprise authorization extension is implemented.","Evidence boundary",{},{"id":1087,"data":2369,"type":42,"tunes":2371},{"text":2370,"level":254},"When MCP is a good fit",{},{"id":1092,"data":2373,"type":376,"tunes":2393},{"content":2374,"stretched":43,"withHeadings":14},[2375,2378,2381,2384,2387,2390],[2376,2377],"MCP is a strong fit when","A direct integration may be simpler when",[2379,2380],"The same capability should be reusable across multiple AI hosts","One application owns both sides and portability has little value",[2382,2383],"An external system wants to publish discoverable AI-facing tools\u002Fresources","A single stable internal API call is sufficient",[2385,2386],"You want a standard boundary around local tools\u002Fdata","There is no AI-facing interoperability requirement",[2388,2389],"Tool providers and AI clients evolve independently","The integration is intentionally private and tightly coupled",[2391,2392],"You want ecosystem-compatible capability discovery","The capability set is tiny and fixed in application code",{},{"id":1115,"data":2395,"type":42,"tunes":2397},{"text":2396,"level":254},"When you do not need MCP",{},{"id":1120,"data":2399,"type":218,"tunes":2401},{"text":2400},"Do not add MCP merely because the application uses AI. If your backend already calls one internal API and no independent MCP client needs that capability, an ordinary function or service call may be clearer.",{},{"id":1125,"data":2403,"type":218,"tunes":2405},{"text":2404},"MCP adds value at an interoperability boundary. Without that boundary, the protocol can become an unnecessary adapter layer.",{},{"id":1130,"data":2407,"type":218,"tunes":2409},{"text":2408},"The architectural question is not “Does this project have AI?” but “Do independently evolving AI hosts and capability providers benefit from a standard contract?”",{},{"id":1135,"data":2411,"type":42,"tunes":2413},{"text":2412,"level":254},"MCP security checklist",{},{"id":1140,"data":2415,"type":376,"tunes":2456},{"content":2416,"stretched":43,"withHeadings":14},[2417,2420,2423,2426,2429,2432,2435,2438,2441,2444,2447,2450,2453],[2418,2419],"Boundary","Question",[2421,2422],"Server identity","Which MCP server am I actually connected to?",[2424,2425],"Client identity","Which application\u002Fclient is requesting access?",[2427,2428],"End-user identity","On whose behalf is the operation performed?",[2430,2431],"Tool allowlist","Which capabilities may this host\u002Fagent discover and call?",[2433,2434],"Business permission","May this principal perform this operation?",[2436,2437],"Tenant scope","Which tenant\u002Fresource boundary applies?",[2439,2440],"Credential isolation","Are credentials bound correctly and kept outside model context?",[2442,2443],"Approval","Which side effects require human confirmation?",[2445,2446],"Input validation","Are tool arguments validated independently of model output?",[2448,2449],"Output trust","Can returned content contain untrusted instructions or sensitive data?",[2451,2452],"Network exposure","Is a local server accidentally exposed beyond intended interfaces?",[2454,2455],"Audit","Can a protocol call be correlated with the downstream action?",{},{"id":1184,"data":2458,"type":42,"tunes":2460},{"text":2459,"level":254},"Common misconceptions",{},{"id":1189,"data":2462,"type":376,"tunes":2503},{"content":2463,"stretched":43,"withHeadings":14},[2464,2467,2470,2473,2476,2479,2482,2485,2488,2491,2494,2497,2500],[2465,2466],"Misconception","Correction",[2468,2469],"“An MCP server is an AI server.”","It can be ordinary deterministic software exposing capabilities.",[2471,2472],"“I need my own LLM on the MCP server.”","No. The model can live entirely on the host side.",[2474,2475],"“MCP replaces REST APIs.”","MCP often wraps existing APIs for AI-facing interoperability.",[2477,2478],"“MCP is an agent framework.”","MCP supplies capabilities; an agent runtime manages iteration and state.",[2480,2481],"“MCP and function calling compete.”","A host can bridge MCP capabilities into its model tool interface.",[2483,2484],"“MCP replaces A2A.”","MCP focuses on capability integration; A2A focuses on agent collaboration.",[2486,2487],"“If a tool is listed, the user may call it.”","Discovery is not authorization.",[2489,2490],"“OAuth solves business permissions.”","Connection authorization does not replace domain authorization or tenant isolation.",[2492,2493],"“Local MCP means local AI.”","Tool-server location and inference location are independent.",[2495,2496],"“MCP makes tool output trustworthy.”","Data quality, authority and provenance still belong to the source\u002Fapplication.",[2498,2499],"“One giant generic tool is flexible.”","Over-broad tools weaken permissions, validation and observability.",[2501,2502],"“Old tutorials are implementation-current.”","The 2026-07-28 revision materially changed lifecycle and transport behavior.",{},{"id":1233,"data":2505,"type":42,"tunes":2507},{"text":2506,"level":254},"A practical MCP design sequence",{},{"id":1238,"data":2509,"type":324,"tunes":2548},{"steps":2510,"title":2547,"orientation":323},[2511,2514,2517,2520,2523,2526,2529,2532,2535,2538,2541,2544],{"label":2512,"description":2513},"1. Identify the interoperability boundary","Confirm that independent AI hosts actually need reusable access.",{"label":2515,"description":2516},"2. Keep the domain API authoritative","Preserve the real application\u002Fservice contract behind MCP.",{"label":2518,"description":2519},"3. Choose primitives deliberately","Use tools, resources and prompts according to their semantics.",{"label":2521,"description":2522},"4. Split by risk and permission","Separate read, write, destructive and approval-required operations.",{"label":2524,"description":2525},"5. Define identity propagation","Know which client, user, agent and downstream principal each call represents.",{"label":2527,"description":2528},"6. Enforce business authorization","Validate permissions, tenant scope and target ownership.",{"label":2530,"description":2531},"7. Choose local or remote transport","Match deployment topology to the real need.",{"label":2533,"description":2534},"8. Pin protocol\u002FSDK expectations","Document 2026-07-28 versus older compatibility.",{"label":2536,"description":2537},"9. Add approvals for consequential actions","Use risk-appropriate confirmation controls.",{"label":2539,"description":2540},"10. Design structured outputs","Return concise machine-usable results.",{"label":2542,"description":2543},"11. Add tracing and audit correlation","Connect MCP calls to downstream service\u002Fbusiness events.",{"label":2545,"description":2546},"12. Test portability","Verify more than one client where interoperability is a stated requirement.","Design the boundary before implementing the server",{},{"id":1280,"data":2550,"type":42,"tunes":2552},{"text":2551,"level":254},"MCP architecture checklist",{},{"id":1285,"data":2554,"type":376,"tunes":2603},{"content":2555,"stretched":43,"withHeadings":14},[2556,2558,2561,2564,2567,2570,2573,2576,2579,2582,2585,2588,2591,2594,2597,2600],[2419,2557],"Expected answer",[2559,2560],"Why is MCP needed?","A real AI-facing interoperability boundary",[2562,2563],"What does the server expose?","Explicit tools\u002Fresources\u002Fprompts",[2565,2566],"Where does the model run?","Independent host\u002Fprovider decision",[2568,2569],"Where does tool execution run?","Named server\u002Fruntime location",[2571,2572],"Which protocol revision is expected?","Version-aware contract",[2574,2575],"Who is the requesting principal?","Client\u002Fuser\u002Fagent identity model",[2577,2578],"Which tools may be discovered?","Allowlist\u002Fcapability policy",[2580,2581],"Which operations may execute?","Server-side business authorization",[2583,2584],"How is tenant\u002Fresource scope enforced?","Trusted tenant\u002Fresource ownership checks",[2586,2587],"Which actions need approval?","Risk-based confirmation policy",[2589,2590],"How are credentials protected?","Trusted runtime storage, not model-visible secrets",[2592,2593],"How is output bounded?","Structured relevant result contract",[2595,2596],"How are calls traced?","Correlation through MCP to downstream action",[2598,2599],"What happens if MCP is unavailable?","Defined fallback\u002Ffailure behavior",[2601,2602],"Can another compatible host use it?","Portability validated where required",{},{"id":1337,"data":2605,"type":42,"tunes":2607},{"text":2606,"level":254},"Edge cases and limitations",{},{"id":1342,"data":2609,"type":218,"tunes":2611},{"text":2610},"A local stdio MCP server can have little network exposure while still be dangerous if the process itself has excessive filesystem or shell permissions.",{},{"id":1347,"data":2613,"type":218,"tunes":2615},{"text":2614},"A remote MCP server may expose only public documentation or highly sensitive enterprise actions. “Remote MCP” says little about risk without the capability and authorization context.",{},{"id":1352,"data":2617,"type":218,"tunes":2619},{"text":2618},"Some servers may use only tools and ignore resources\u002Fprompts. MCP compatibility does not require every optional primitive to be equally important.",{},{"id":1357,"data":2621,"type":218,"tunes":2623},{"text":2622},"A host can translate between its own internal tool model and MCP. Users may never see the protocol boundary directly, which is acceptable if security and attribution remain clear.",{},{"id":1362,"data":2625,"type":218,"tunes":2627},{"text":2626},"MCP continues to evolve rapidly. Extensions, authorization patterns, SDK APIs and ecosystem conventions can change faster than the core architectural distinction.",{},{"id":1367,"data":2629,"type":42,"tunes":2631},{"text":2630,"level":254},"What would change this answer?",{},{"id":1372,"data":2633,"type":218,"tunes":2635},{"text":2634},"Future MCP revisions can change lifecycle, transports, authorization and extension mechanisms. The July 2026 revision already demonstrates why implementation-specific claims must be dated.",{},{"id":1377,"data":2637,"type":218,"tunes":2639},{"text":2638},"The canonical boundary would change only if MCP expanded from an interoperability protocol into an end-to-end application\u002Fagent architecture standard. That is not what the current protocol defines.",{},{"id":1382,"data":2641,"type":218,"tunes":2643},{"text":2642},"For implementation work, always check the current specification and exact SDK line instead of copying version-sensitive examples from older tutorials.",{},{"id":1387,"data":2645,"type":42,"tunes":2647},{"text":2646,"level":254},"Related canonical knowledge",{},{"id":1392,"data":2649,"type":218,"tunes":2651},{"text":2650},"MCP belongs downstream of Agentic AI: first understand the agent\u002Fruntime\u002Ftool boundary, then use MCP when external capabilities need a portable protocol contract.",{},{"id":1397,"data":2653,"type":218,"tunes":2655},{"text":2654},"MCP also depends on RBAC and tenant isolation because protocol-level capability exposure does not determine application authorization.",{},{"id":1402,"data":2657,"type":218,"tunes":2659},{"text":2658},"The broader protocol-stack article explains where MCP sits beside A2A, UCP, AP2 and A2UI. G02 remains the canonical source for MCP itself.",{},{"id":1407,"data":2661,"type":649,"tunes":2666},{"url":2662,"title":2663,"excerpt":2664,"ctaLabel":2665},"https:\u002F\u002Fstajic.de\u002Fblog\u002Fai-agent-reliability-why-the-final-answer-is-not-enough","AI Agent Reliability: Why the Final Answer Is Not Enough","MCP tool calls become part of an agent trajectory; reliable systems need to evaluate actions and observations, not only final text.","Read the agent reliability article",{},{"id":1415,"data":2668,"type":42,"tunes":2670},{"text":2669,"level":254},"Frequently asked questions",{},{"id":1420,"data":2672,"type":1420,"tunes":2705},{"items":2673,"title":2704},[2674,2677,2680,2683,2686,2689,2692,2695,2698,2701],{"id":1424,"answer":2675,"question":2676},"The Model Context Protocol is an open client-server protocol for connecting AI applications to external tools, resources, prompts and capability providers through a standardized contract.","What is MCP?",{"id":1428,"answer":2678,"question":2679},"No. An MCP server can be completely deterministic software. The model normally runs in the AI host or agent runtime, although a server may optionally use AI internally.","Does an MCP server need an AI model?",{"id":1432,"answer":2681,"question":2682},"The client is the protocol component used by an AI host to communicate with capability providers. The server publishes and executes the capabilities it exposes.","What is the difference between an MCP client and server?",{"id":1436,"answer":2684,"question":2685},"No. Function\u002Ftool calling is how a model invokes configured capabilities. MCP standardizes discovery and communication with external capability servers. A host can bridge the two.","Does MCP replace function calling?",{"id":1440,"answer":2687,"question":2688},"No. MCP servers frequently wrap existing REST, GraphQL, database or service APIs and provide an AI-facing interoperability layer.","Does MCP replace REST APIs?",{"id":1444,"answer":2690,"question":2691},"No. MCP exposes capabilities. Agent planning, state, memory, context management, retries, orchestration and stopping belong to the surrounding runtime.","Is MCP an agent framework?",{"id":1448,"answer":2693,"question":2694},"MCP primarily connects an AI host or agent to tools and data providers. A2A connects independent agent systems for collaboration and delegation.","What is the difference between MCP and A2A?",{"id":1452,"answer":2696,"question":2697},"MCP includes protocol-level authorization mechanisms, especially for remote servers, but the application must still enforce business permissions, resource ownership and tenant isolation.","Does MCP handle authorization?",{"id":1456,"answer":2699,"question":2700},"Yes. Model location is independent of MCP. A local-model host can call local or remote MCP servers, and a cloud-model host can use approved local or remote MCP servers through an appropriate connection architecture.","Can MCP work with local models?",{"id":1460,"answer":2702,"question":2703},"As of 8 October 2026, the current specification revision is 2026-07-28. Older 2025-era implementations remain in use, so compatibility must be checked.","What is the current MCP specification version?","Model Context Protocol FAQ",{},{"id":1466,"data":2707,"type":42,"tunes":2709},{"text":2708,"level":254},"Glossary",{},{"id":1471,"data":2711,"type":1471,"tunes":2739},{"title":2712,"entries":2713},"Key MCP terms",[2714,2716,2718,2720,2722,2724,2726,2728,2730,2732,2734,2736],{"term":595,"anchor":594,"definition":2715},"Model Context Protocol, an open protocol for interoperable connections between AI hosts\u002Fclients and external capability servers.",{"term":1478,"anchor":1479,"definition":2717},"The AI application or runtime that owns model interaction and uses MCP clients to connect to servers.",{"term":1772,"anchor":1482,"definition":2719},"Protocol component on the host side that communicates with an MCP server.",{"term":365,"anchor":1485,"definition":2721},"Capability provider that implements MCP and exposes tools, resources, prompts or supported extensions.",{"term":1881,"anchor":1488,"definition":2723},"Callable structured capability exposed by an MCP server.",{"term":1884,"anchor":1491,"definition":2725},"Readable data or content exposed through MCP resource methods.",{"term":1494,"anchor":1495,"definition":2727},"Reusable prompt template exposed by an MCP server for compatible hosts.",{"term":1498,"anchor":1499,"definition":2729},"HTTP-oriented MCP transport used for remote\u002Fnetworked server communication.",{"term":1502,"anchor":1502,"definition":2731},"Process standard-input\u002Foutput transport commonly used for local MCP server integrations.",{"term":719,"anchor":1505,"definition":2733},"Modern MCP method that lets a client inspect server capabilities in the 2026-07-28 protocol era.",{"term":1508,"anchor":1509,"definition":2735},"Multi Round-Trip Requests, a mechanism for obtaining additional input during a request in the 2026-07-28 protocol era.",{"term":2737,"anchor":1513,"definition":2738},"MCP extension","Capability that composes with the base protocol and can evolve\u002Fversion separately, such as Tasks or MCP Apps.",{},{"id":1517,"data":2741,"type":42,"tunes":2743},{"text":2742,"level":254},"Conclusion",{},{"id":1522,"data":2745,"type":218,"tunes":2747},{"text":2746},"MCP is easiest to understand when its boundary stays narrow: it connects AI applications to external capabilities through a standard protocol.",{},{"id":1527,"data":2749,"type":218,"tunes":2751},{"text":2750},"The model does not have to live on the MCP server. The server does not become the agent runtime. A listed tool does not become an authorized business action. And MCP does not replace the underlying API, Source of Truth, tenant isolation or domain architecture.",{},{"id":1532,"data":2753,"type":218,"tunes":2755},{"text":2754},"That narrowness is the protocol's strength. MCP can standardize how AI systems reach tools and data while leaving application ownership, security, business semantics and model choice in the layers that actually own them.",{},{"id":1537,"data":2757,"type":42,"tunes":2759},{"text":2758,"level":254},"Primary sources and current documentation",{},{"id":1542,"data":2761,"type":218,"tunes":2763},{"text":2762},"MCP is evolving quickly, so version-sensitive claims in this article are tied to the 8 October 2026 state. The Aaasaasa AI Client section is original implementation evidence and is explicitly limited to the verified MCP connector and permission-broker scope.",{},{"id":1547,"data":2765,"type":1554,"tunes":2769},{"link":1549,"meta":2766},{"image":2767,"title":1552,"description":2768},{"url":401},"Current stable TypeScript SDK documentation implementing the 2026-07-28 MCP specification and server\u002Fclient primitives.",{},{"id":1557,"data":2771,"type":1554,"tunes":2776},{"link":1559,"meta":2772},{"image":2773,"title":2774,"description":2775},{"url":401},"Model Context Protocol — 2026-07-28 Specification Release","Official release explanation for the current MCP protocol revision, including stateless core, MRTR, routing, caching, authorization hardening, extensions and deprecations.",{},{"id":1566,"data":2778,"type":1554,"tunes":2783},{"link":1568,"meta":2779},{"image":2780,"title":2781,"description":2782},{"url":401},"MCP TypeScript SDK — Supporting protocol revision 2026-07-28","Version-specific implementation guidance for the current protocol revision and earlier-era compatibility.",{},{"id":1575,"data":2785,"type":1554,"tunes":2790},{"link":1577,"meta":2786},{"image":2787,"title":2788,"description":2789},{"url":401},"OpenAI — MCP servers","Current OpenAI guidance for connecting models to remote MCP servers and local\u002Fprivate MCP servers through Secure MCP Tunnel.",{},{"id":1584,"data":2792,"type":1554,"tunes":2797},{"link":1586,"meta":2793},{"image":2794,"title":2795,"description":2796},{"url":401},"OpenAI — MCP connections for Agents API","Current MCP connection guidance covering service, environment and stdio locations plus allowed-tool controls.",{},{"id":1593,"data":2799,"type":1554,"tunes":2804},{"link":1595,"meta":2800},{"image":2801,"title":2802,"description":2803},{"url":401},"OpenAI — Tools","Current overview placing remote MCP servers alongside function calling, web search, shell and other model tools.",{},{"id":1602,"data":2806,"type":1554,"tunes":2811},{"link":1604,"meta":2807},{"image":2808,"title":2809,"description":2810},{"url":401},"OpenAI — MCP server concept","Current description of MCP servers exposing tools, resources and prompts for external service integrations.",{},"2.31.6","Model Context Protocol connects AI applications to external tools, resources and prompts through a standard client-server boundary. Learn what MCP does, what it does not do, and where it fits in agent architecture.",{"lang":7,"title":208,"content":210,"contentJson":2815,"excerpt":1611},{"time":212,"blocks":2816,"version":1610},[2817,2820,2823,2826,2829,2832,2835,2838,2841,2844,2847,2850,2853,2856,2859,2870,2873,2876,2879,2882,2885,2896,2899,2902,2905,2921,2924,2927,2930,2933,2936,2939,2942,2945,2948,2951,2954,2957,2960,2971,2974,2977,2980,2983,2986,2989,2992,2995,2998,3001,3016,3019,3022,3025,3028,3031,3034,3037,3040,3043,3046,3049,3052,3055,3058,3061,3069,3072,3075,3078,3091,3094,3097,3100,3103,3106,3109,3112,3115,3118,3121,3124,3127,3130,3133,3136,3139,3142,3145,3148,3151,3154,3157,3160,3163,3166,3169,3172,3175,3178,3181,3184,3187,3190,3193,3205,3208,3211,3214,3217,3220,3223,3226,3229,3232,3247,3250,3253,3256,3259,3262,3265,3276,3279,3282,3292,3295,3298,3301,3304,3307,3324,3327,3344,3347,3363,3366,3386,3389,3392,3395,3398,3401,3404,3407,3410,3413,3416,3419,3422,3425,3428,3431,3434,3448,3451,3467,3470,3473,3476,3479,3482,3485,3490,3495,3500,3505,3510,3515],{"id":215,"data":2818,"type":218,"tunes":2819},{"text":217},{},{"id":221,"data":2821,"type":226,"tunes":2822},{"body":223,"title":224,"variant":225},{},{"id":229,"data":2824,"type":226,"tunes":2825},{"body":231,"title":232,"variant":233},{},{"id":236,"data":2827,"type":226,"tunes":2828},{"body":238,"title":239,"variant":240},{},{"id":243,"data":2830,"type":226,"tunes":2831},{"body":245,"title":246,"variant":247},{},{"id":250,"data":2833,"type":255,"tunes":2834},{"title":252,"maxLevel":253,"minLevel":254},{},{"id":258,"data":2836,"type":42,"tunes":2837},{"text":260,"level":254},{},{"id":263,"data":2839,"type":218,"tunes":2840},{"text":265},{},{"id":268,"data":2842,"type":218,"tunes":2843},{"text":270},{},{"id":273,"data":2845,"type":218,"tunes":2846},{"text":275},{},{"id":278,"data":2848,"type":42,"tunes":2849},{"text":280,"level":254},{},{"id":283,"data":2851,"type":218,"tunes":2852},{"text":285},{},{"id":288,"data":2854,"type":218,"tunes":2855},{"text":290},{},{"id":293,"data":2857,"type":218,"tunes":2858},{"text":295},{},{"id":298,"data":2860,"type":324,"tunes":2869},{"steps":2861,"title":322,"orientation":323},[2862,2863,2864,2865,2866,2867,2868],{"label":302,"description":303},{"label":305,"description":306},{"label":308,"description":309},{"label":311,"description":312},{"label":314,"description":315},{"label":317,"description":318},{"label":320,"description":321},{},{"id":327,"data":2871,"type":42,"tunes":2872},{"text":329,"level":254},{},{"id":332,"data":2874,"type":218,"tunes":2875},{"text":334},{},{"id":337,"data":2877,"type":218,"tunes":2878},{"text":339},{},{"id":342,"data":2880,"type":218,"tunes":2881},{"text":344},{},{"id":347,"data":2883,"type":42,"tunes":2884},{"text":349,"level":254},{},{"id":352,"data":2886,"type":376,"tunes":2895},{"content":2887,"stretched":43,"withHeadings":14},[2888,2889,2890,2891,2892,2893,2894],[356,357],[359,360],[362,363],[365,366],[368,369],[371,372],[374,375],{},{"id":379,"data":2897,"type":218,"tunes":2898},{"text":381},{},{"id":384,"data":2900,"type":218,"tunes":2901},{"text":386},{},{"id":389,"data":2903,"type":42,"tunes":2904},{"text":391,"level":254},{},{"id":394,"data":2906,"type":425,"tunes":2920},{"rows":2907,"title":414,"layout":376,"columns":2916},[2908,2910,2912,2914],{"id":398,"label":399,"values":2909},[401,401,401],{"id":403,"label":404,"values":2911},[401,401,401],{"id":407,"label":408,"values":2913},[401,401,401],{"id":411,"label":412,"values":2915},[401,401,401],[2917,2918,2919],{"id":417,"label":418},{"id":420,"label":421},{"id":423,"label":424},{},{"id":428,"data":2922,"type":42,"tunes":2923},{"text":430,"level":254},{},{"id":433,"data":2925,"type":218,"tunes":2926},{"text":435},{},{"id":438,"data":2928,"type":218,"tunes":2929},{"text":440},{},{"id":443,"data":2931,"type":218,"tunes":2932},{"text":445},{},{"id":448,"data":2934,"type":42,"tunes":2935},{"text":450,"level":254},{},{"id":453,"data":2937,"type":218,"tunes":2938},{"text":455},{},{"id":458,"data":2940,"type":218,"tunes":2941},{"text":460},{},{"id":463,"data":2943,"type":218,"tunes":2944},{"text":465},{},{"id":468,"data":2946,"type":42,"tunes":2947},{"text":470,"level":254},{},{"id":473,"data":2949,"type":218,"tunes":2950},{"text":475},{},{"id":478,"data":2952,"type":218,"tunes":2953},{"text":480},{},{"id":483,"data":2955,"type":218,"tunes":2956},{"text":485},{},{"id":488,"data":2958,"type":42,"tunes":2959},{"text":490,"level":254},{},{"id":493,"data":2961,"type":376,"tunes":2970},{"content":2962,"stretched":43,"withHeadings":14},[2963,2964,2965,2966,2967,2968,2969],[497,498],[500,501],[503,504],[506,507],[509,501],[511,512],[514,515],{},{"id":518,"data":2972,"type":42,"tunes":2973},{"text":520,"level":254},{},{"id":523,"data":2975,"type":218,"tunes":2976},{"text":525},{},{"id":528,"data":2978,"type":218,"tunes":2979},{"text":530},{},{"id":533,"data":2981,"type":218,"tunes":2982},{"text":535},{},{"id":538,"data":2984,"type":226,"tunes":2985},{"body":540,"title":541,"variant":233},{},{"id":544,"data":2987,"type":42,"tunes":2988},{"text":546,"level":254},{},{"id":549,"data":2990,"type":218,"tunes":2991},{"text":551},{},{"id":554,"data":2993,"type":218,"tunes":2994},{"text":556},{},{"id":559,"data":2996,"type":218,"tunes":2997},{"text":561},{},{"id":564,"data":2999,"type":42,"tunes":3000},{"text":566,"level":254},{},{"id":569,"data":3002,"type":425,"tunes":3015},{"rows":3003,"title":588,"layout":376,"columns":3012},[3004,3006,3008,3010],{"id":573,"label":574,"values":3005},[401,401],{"id":577,"label":578,"values":3007},[401,401],{"id":581,"label":582,"values":3009},[401,401],{"id":585,"label":586,"values":3011},[401,401],[3013,3014],{"id":591,"label":592},{"id":594,"label":595},{},{"id":598,"data":3017,"type":218,"tunes":3018},{"text":600},{},{"id":603,"data":3020,"type":42,"tunes":3021},{"text":605,"level":254},{},{"id":608,"data":3023,"type":218,"tunes":3024},{"text":610},{},{"id":613,"data":3026,"type":218,"tunes":3027},{"text":615},{},{"id":618,"data":3029,"type":218,"tunes":3030},{"text":620},{},{"id":623,"data":3032,"type":42,"tunes":3033},{"text":625,"level":254},{},{"id":628,"data":3035,"type":218,"tunes":3036},{"text":630},{},{"id":633,"data":3038,"type":218,"tunes":3039},{"text":635},{},{"id":638,"data":3041,"type":218,"tunes":3042},{"text":640},{},{"id":643,"data":3044,"type":649,"tunes":3045},{"url":645,"title":646,"excerpt":647,"ctaLabel":648},{},{"id":652,"data":3047,"type":42,"tunes":3048},{"text":654,"level":254},{},{"id":657,"data":3050,"type":218,"tunes":3051},{"text":659},{},{"id":662,"data":3053,"type":218,"tunes":3054},{"text":664},{},{"id":667,"data":3056,"type":218,"tunes":3057},{"text":669},{},{"id":672,"data":3059,"type":42,"tunes":3060},{"text":674,"level":254},{},{"id":677,"data":3062,"type":376,"tunes":3068},{"content":3063,"stretched":43,"withHeadings":14},[3064,3065,3066,3067],[681,682],[684,685],[687,688],[690,691],{},{"id":694,"data":3070,"type":218,"tunes":3071},{"text":696},{},{"id":699,"data":3073,"type":218,"tunes":3074},{"text":701},{},{"id":704,"data":3076,"type":42,"tunes":3077},{"text":706,"level":254},{},{"id":709,"data":3079,"type":376,"tunes":3090},{"content":3080,"stretched":43,"withHeadings":14},[3081,3082,3083,3084,3085,3086,3087,3088,3089],[713,714],[716,717],[719,720],[722,723],[725,726],[728,729],[731,732],[734,735],[737,738],{},{"id":741,"data":3092,"type":42,"tunes":3093},{"text":743,"level":254},{},{"id":746,"data":3095,"type":218,"tunes":3096},{"text":748},{},{"id":751,"data":3098,"type":218,"tunes":3099},{"text":753},{},{"id":756,"data":3101,"type":218,"tunes":3102},{"text":758},{},{"id":761,"data":3104,"type":42,"tunes":3105},{"text":763,"level":254},{},{"id":766,"data":3107,"type":218,"tunes":3108},{"text":768},{},{"id":771,"data":3110,"type":218,"tunes":3111},{"text":773},{},{"id":776,"data":3113,"type":218,"tunes":3114},{"text":778},{},{"id":781,"data":3116,"type":42,"tunes":3117},{"text":783,"level":254},{},{"id":786,"data":3119,"type":218,"tunes":3120},{"text":788},{},{"id":791,"data":3122,"type":218,"tunes":3123},{"text":793},{},{"id":796,"data":3125,"type":218,"tunes":3126},{"text":798},{},{"id":801,"data":3128,"type":42,"tunes":3129},{"text":803,"level":254},{},{"id":806,"data":3131,"type":218,"tunes":3132},{"text":808},{},{"id":811,"data":3134,"type":218,"tunes":3135},{"text":813},{},{"id":816,"data":3137,"type":218,"tunes":3138},{"text":818},{},{"id":821,"data":3140,"type":226,"tunes":3141},{"body":823,"title":824,"variant":240},{},{"id":827,"data":3143,"type":42,"tunes":3144},{"text":829,"level":254},{},{"id":832,"data":3146,"type":218,"tunes":3147},{"text":834},{},{"id":837,"data":3149,"type":218,"tunes":3150},{"text":839},{},{"id":842,"data":3152,"type":218,"tunes":3153},{"text":844},{},{"id":847,"data":3155,"type":42,"tunes":3156},{"text":849,"level":254},{},{"id":852,"data":3158,"type":218,"tunes":3159},{"text":854},{},{"id":857,"data":3161,"type":218,"tunes":3162},{"text":859},{},{"id":862,"data":3164,"type":218,"tunes":3165},{"text":864},{},{"id":867,"data":3167,"type":42,"tunes":3168},{"text":869,"level":254},{},{"id":872,"data":3170,"type":218,"tunes":3171},{"text":874},{},{"id":877,"data":3173,"type":218,"tunes":3174},{"text":879},{},{"id":882,"data":3176,"type":218,"tunes":3177},{"text":884},{},{"id":887,"data":3179,"type":42,"tunes":3180},{"text":889,"level":254},{},{"id":892,"data":3182,"type":218,"tunes":3183},{"text":894},{},{"id":897,"data":3185,"type":218,"tunes":3186},{"text":899},{},{"id":902,"data":3188,"type":218,"tunes":3189},{"text":904},{},{"id":907,"data":3191,"type":42,"tunes":3192},{"text":909,"level":254},{},{"id":912,"data":3194,"type":376,"tunes":3204},{"content":3195,"stretched":43,"withHeadings":14},[3196,3197,3198,3199,3200,3201,3202,3203],[916,917],[919,920],[922,923],[925,926],[928,929],[931,932],[934,935],[937,938],{},{"id":941,"data":3206,"type":42,"tunes":3207},{"text":943,"level":254},{},{"id":946,"data":3209,"type":218,"tunes":3210},{"text":948},{},{"id":951,"data":3212,"type":218,"tunes":3213},{"text":953},{},{"id":956,"data":3215,"type":218,"tunes":3216},{"text":958},{},{"id":961,"data":3218,"type":42,"tunes":3219},{"text":963,"level":254},{},{"id":966,"data":3221,"type":218,"tunes":3222},{"text":968},{},{"id":971,"data":3224,"type":218,"tunes":3225},{"text":973},{},{"id":976,"data":3227,"type":218,"tunes":3228},{"text":978},{},{"id":981,"data":3230,"type":42,"tunes":3231},{"text":983,"level":254},{},{"id":986,"data":3233,"type":376,"tunes":3246},{"content":3234,"stretched":43,"withHeadings":14},[3235,3236,3237,3238,3239,3240,3241,3242,3243,3244,3245],[990,991],[993,994],[996,997],[999,1000],[1002,1003],[1005,1006],[1008,1009],[1011,1012],[1014,1015],[1017,1018],[1020,1021],{},{"id":1024,"data":3248,"type":42,"tunes":3249},{"text":1026,"level":254},{},{"id":1029,"data":3251,"type":226,"tunes":3252},{"body":1031,"title":1032,"variant":247},{},{"id":1035,"data":3254,"type":218,"tunes":3255},{"text":1037},{},{"id":1040,"data":3257,"type":218,"tunes":3258},{"text":1042},{},{"id":1045,"data":3260,"type":218,"tunes":3261},{"text":1047},{},{"id":1050,"data":3263,"type":218,"tunes":3264},{"text":1052},{},{"id":1055,"data":3266,"type":376,"tunes":3275},{"content":3267,"stretched":43,"withHeadings":14},[3268,3269,3270,3271,3272,3273,3274],[1059,1060],[1062,1063],[1065,1066],[1068,1069],[1071,1072],[1074,1075],[1077,1078],{},{"id":1081,"data":3277,"type":226,"tunes":3278},{"body":1083,"title":1084,"variant":240},{},{"id":1087,"data":3280,"type":42,"tunes":3281},{"text":1089,"level":254},{},{"id":1092,"data":3283,"type":376,"tunes":3291},{"content":3284,"stretched":43,"withHeadings":14},[3285,3286,3287,3288,3289,3290],[1096,1097],[1099,1100],[1102,1103],[1105,1106],[1108,1109],[1111,1112],{},{"id":1115,"data":3293,"type":42,"tunes":3294},{"text":1117,"level":254},{},{"id":1120,"data":3296,"type":218,"tunes":3297},{"text":1122},{},{"id":1125,"data":3299,"type":218,"tunes":3300},{"text":1127},{},{"id":1130,"data":3302,"type":218,"tunes":3303},{"text":1132},{},{"id":1135,"data":3305,"type":42,"tunes":3306},{"text":1137,"level":254},{},{"id":1140,"data":3308,"type":376,"tunes":3323},{"content":3309,"stretched":43,"withHeadings":14},[3310,3311,3312,3313,3314,3315,3316,3317,3318,3319,3320,3321,3322],[1144,1145],[1147,1148],[1150,1151],[1153,1154],[1156,1157],[1159,1160],[1162,1163],[1165,1166],[1168,1169],[1171,1172],[1174,1175],[1177,1178],[1180,1181],{},{"id":1184,"data":3325,"type":42,"tunes":3326},{"text":1186,"level":254},{},{"id":1189,"data":3328,"type":376,"tunes":3343},{"content":3329,"stretched":43,"withHeadings":14},[3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3342],[1193,1194],[1196,1197],[1199,1200],[1202,1203],[1205,1206],[1208,1209],[1211,1212],[1214,1215],[1217,1218],[1220,1221],[1223,1224],[1226,1227],[1229,1230],{},{"id":1233,"data":3345,"type":42,"tunes":3346},{"text":1235,"level":254},{},{"id":1238,"data":3348,"type":324,"tunes":3362},{"steps":3349,"title":1277,"orientation":323},[3350,3351,3352,3353,3354,3355,3356,3357,3358,3359,3360,3361],{"label":1242,"description":1243},{"label":1245,"description":1246},{"label":1248,"description":1249},{"label":1251,"description":1252},{"label":1254,"description":1255},{"label":1257,"description":1258},{"label":1260,"description":1261},{"label":1263,"description":1264},{"label":1266,"description":1267},{"label":1269,"description":1270},{"label":1272,"description":1273},{"label":1275,"description":1276},{},{"id":1280,"data":3364,"type":42,"tunes":3365},{"text":1282,"level":254},{},{"id":1285,"data":3367,"type":376,"tunes":3385},{"content":3368,"stretched":43,"withHeadings":14},[3369,3370,3371,3372,3373,3374,3375,3376,3377,3378,3379,3380,3381,3382,3383,3384],[1145,1289],[1291,1292],[1294,1295],[1297,1298],[1300,1301],[1303,1304],[1306,1307],[1309,1310],[1312,1313],[1315,1316],[1318,1319],[1321,1322],[1324,1325],[1327,1328],[1330,1331],[1333,1334],{},{"id":1337,"data":3387,"type":42,"tunes":3388},{"text":1339,"level":254},{},{"id":1342,"data":3390,"type":218,"tunes":3391},{"text":1344},{},{"id":1347,"data":3393,"type":218,"tunes":3394},{"text":1349},{},{"id":1352,"data":3396,"type":218,"tunes":3397},{"text":1354},{},{"id":1357,"data":3399,"type":218,"tunes":3400},{"text":1359},{},{"id":1362,"data":3402,"type":218,"tunes":3403},{"text":1364},{},{"id":1367,"data":3405,"type":42,"tunes":3406},{"text":1369,"level":254},{},{"id":1372,"data":3408,"type":218,"tunes":3409},{"text":1374},{},{"id":1377,"data":3411,"type":218,"tunes":3412},{"text":1379},{},{"id":1382,"data":3414,"type":218,"tunes":3415},{"text":1384},{},{"id":1387,"data":3417,"type":42,"tunes":3418},{"text":1389,"level":254},{},{"id":1392,"data":3420,"type":218,"tunes":3421},{"text":1394},{},{"id":1397,"data":3423,"type":218,"tunes":3424},{"text":1399},{},{"id":1402,"data":3426,"type":218,"tunes":3427},{"text":1404},{},{"id":1407,"data":3429,"type":649,"tunes":3430},{"url":1409,"title":1410,"excerpt":1411,"ctaLabel":1412},{},{"id":1415,"data":3432,"type":42,"tunes":3433},{"text":1417,"level":254},{},{"id":1420,"data":3435,"type":1420,"tunes":3447},{"items":3436,"title":1463},[3437,3438,3439,3440,3441,3442,3443,3444,3445,3446],{"id":1424,"answer":1425,"question":1426},{"id":1428,"answer":1429,"question":1430},{"id":1432,"answer":1433,"question":1434},{"id":1436,"answer":1437,"question":1438},{"id":1440,"answer":1441,"question":1442},{"id":1444,"answer":1445,"question":1446},{"id":1448,"answer":1449,"question":1450},{"id":1452,"answer":1453,"question":1454},{"id":1456,"answer":1457,"question":1458},{"id":1460,"answer":1461,"question":1462},{},{"id":1466,"data":3449,"type":42,"tunes":3450},{"text":1468,"level":254},{},{"id":1471,"data":3452,"type":1471,"tunes":3466},{"title":1473,"entries":3453},[3454,3455,3456,3457,3458,3459,3460,3461,3462,3463,3464,3465],{"term":595,"anchor":594,"definition":1476},{"term":1478,"anchor":1479,"definition":1480},{"term":362,"anchor":1482,"definition":1483},{"term":365,"anchor":1485,"definition":1486},{"term":501,"anchor":1488,"definition":1489},{"term":504,"anchor":1491,"definition":1492},{"term":1494,"anchor":1495,"definition":1496},{"term":1498,"anchor":1499,"definition":1500},{"term":1502,"anchor":1502,"definition":1503},{"term":719,"anchor":1505,"definition":1506},{"term":1508,"anchor":1509,"definition":1510},{"term":1512,"anchor":1513,"definition":1514},{},{"id":1517,"data":3468,"type":42,"tunes":3469},{"text":1519,"level":254},{},{"id":1522,"data":3471,"type":218,"tunes":3472},{"text":1524},{},{"id":1527,"data":3474,"type":218,"tunes":3475},{"text":1529},{},{"id":1532,"data":3477,"type":218,"tunes":3478},{"text":1534},{},{"id":1537,"data":3480,"type":42,"tunes":3481},{"text":1539,"level":254},{},{"id":1542,"data":3483,"type":218,"tunes":3484},{"text":1544},{},{"id":1547,"data":3486,"type":1554,"tunes":3489},{"link":1549,"meta":3487},{"image":3488,"title":1552,"description":1553},{"url":401},{},{"id":1557,"data":3491,"type":1554,"tunes":3494},{"link":1559,"meta":3492},{"image":3493,"title":1562,"description":1563},{"url":401},{},{"id":1566,"data":3496,"type":1554,"tunes":3499},{"link":1568,"meta":3497},{"image":3498,"title":1571,"description":1572},{"url":401},{},{"id":1575,"data":3501,"type":1554,"tunes":3504},{"link":1577,"meta":3502},{"image":3503,"title":1580,"description":1581},{"url":401},{},{"id":1584,"data":3506,"type":1554,"tunes":3509},{"link":1586,"meta":3507},{"image":3508,"title":1589,"description":1590},{"url":401},{},{"id":1593,"data":3511,"type":1554,"tunes":3514},{"link":1595,"meta":3512},{"image":3513,"title":1598,"description":1599},{"url":401},{},{"id":1602,"data":3516,"type":1554,"tunes":3519},{"link":1604,"meta":3517},{"image":3518,"title":1607,"description":1608},{"url":401},{},"Post erfolgreich abgerufen",{"items":3522,"source":3607,"manualIds":3608,"manualMatchedIds":3609},[3523,3530,3537,3544,3551,3558,3565,3572,3579,3586,3593,3600],{"id":3524,"slug":3525,"title":3526,"excerpt":3527,"featuredImage":3528,"publishedAt":3529},"481","generative-ai-explained-models-retrieval-tools-and-applications-are-not-the-same-thing","Generativna veštačka inteligencija objašnjena: modeli, pretraga, alati i aplikacije nisu ista stvar","Generativna AI je više od modela. Saznajte kako se modeli, pretraga, alati, kontekst, okruženja i aplikacije uklapaju u produkcione AI sisteme.","\u002Fuploads\u002F2026\u002F10\u002Fgenerative-ai-explained-models-retrieval-tools-and-applications-are-not-the-same-thing-1791475411822-pp0dvz.webp","2026-10-08T12:00:00.000Z",{"id":3531,"slug":3532,"title":3533,"excerpt":3534,"featuredImage":3535,"publishedAt":3536},"479","where-does-an-llm-get-its-data-rag-data-sources-in-python","Odakle LLM dobija svoje podatke? RAG izvori podataka u Python-u","LLM ne zna magično vaše fajlove, baze podataka ili API-je. Ovaj praktični nastavak RAG serije pokazuje, uz jednostavan Python, kako eksterni podaci postaju dokazi koji se mogu pronaći: od tekstualnih fajlova i SQL-a do pretrage punog teksta, embeddinga, sastavljanja konteksta i konačnog LLM poziva.","\u002Fuploads\u002F2026\u002F09\u002Fwhere-does-an-llm-get-its-data-rag-data-sources-in-python-1790517200521-nfsi5i.webp","2026-09-27T05:51:00.000Z",{"id":3538,"slug":3539,"title":3540,"excerpt":3541,"featuredImage":3542,"publishedAt":3543},"487","vector-databases-embeddings-and-reranking-three-different-parts-of-retrieval","Vektorske baze podataka, ugrađivanja i ponovno rangiranje: Tri različita dela pretraživanja","Embedinzi predstavljaju značenje, vektorske baze podataka pronalaze kandidate, a rerangirači prečišćavaju rezultate. Saznajte kako se ova tri sloja pronalaženja razlikuju i kako rade zajedno u RAG-u.","\u002Fuploads\u002F2026\u002F10\u002Fvector-databases-embeddings-and-reranking-three-different-parts-of-retrieval-1791480129884-9dtasz.webp","2026-10-08T11:21:00.000Z",{"id":3545,"slug":3546,"title":3547,"excerpt":3548,"featuredImage":3549,"publishedAt":3550},"468","ai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context","Memorija AI agenta nije RAG: Kako razdvojiti memoriju, pronalaženje, stanje i kontekst","Memorija agenta, RAG, stanje i kontekst često se koriste kao da su međusobno zamenjivi. Oni to nisu. Ovaj praktični arhitektonski model razdvaja ova četiri sloja, pokazuje gde svaki pripada i objašnjava šta se kvari kada ih sistemi stope u jedno.","\u002Fuploads\u002F2026\u002F09\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context-1790350560308-np0xy6.webp","2026-09-25T11:34:00.000Z",{"id":3552,"slug":3553,"title":3554,"excerpt":3555,"featuredImage":3556,"publishedAt":3557},"495","sovereign-ai-control-of-models-data-infrastructure-and-dependencies","Suverena AI: Kontrola modela, podataka, infrastrukture i zavisnosti","Suverena AI se odnosi na efektivnu kontrolu nad modelima, podacima, infrastrukturom, softverom, operacijama i strateškim zavisnostima — a ne samo na to gde je AI model hostovan.","\u002Fuploads\u002F2026\u002F10\u002Fsovereign-ai-control-of-models-data-infrastructure-and-dependencies-1791488833132-niy85x.webp","2026-10-08T15:45:00.000Z",{"id":3559,"slug":3560,"title":3561,"excerpt":3562,"featuredImage":3563,"publishedAt":3564},"489","agentic-ai-explained-when-an-ai-system-can-plan-use-tools-and-act","Agentna AI objašnjena: Kada AI sistem može da planira, koristi alate i deluje","Agentna AI koristi modele unutar višekoračnih izvršnih petlji gde mogu da biraju alate, posmatraju rezultate, ažuriraju stanje i prilagode svoju sledeću akciju unutar eksplicitnih granica izvršavanja i dozvola.","\u002Fuploads\u002F2026\u002F10\u002Fagentic-ai-explained-when-an-ai-system-can-plan-use-tools-and-act-1791481499084-wnji2a.webp","2026-10-08T11:43:00.000Z",{"id":3566,"slug":3567,"title":3568,"excerpt":3569,"featuredImage":3570,"publishedAt":3571},"471","how-to-know-whether-an-ai-agent-actually-used-the-right-evidence","Kako znati da li je AI agent zaista koristio prave dokaze","AI agent može citirati izvore i ipak koristiti pogrešne dokaze. Ovaj članak predstavlja praktičnu metodu za proveru potkrepljenosti tvrdnji, autoriteta izvora, primenjivosti, porekla i toga da li su dokazi zaista uticali na odgovor.","\u002Fuploads\u002F2026\u002F09\u002Fhow-to-know-whether-an-ai-agent-actually-used-the-right-evidence-1790351317188-o5z9ve.webp","2026-09-25T11:47:00.000Z",{"id":3573,"slug":3574,"title":3575,"excerpt":3576,"featuredImage":3577,"publishedAt":3578},"478","what-is-rag-the-simplest-explanation-of-how-it-works","Šta je RAG? Najjednostavnije objašnjenje kako funkcioniše","RAG zvuči komplikovano, ali ideja je jednostavna: pre nego što AI odgovori, prvo potraži korisne informacije iz izvora znanja i daje te informacije jezičkom modelu. Ovaj vodič objašnjava RAG, LLM-ove, stanje, memoriju i alate koristeći jedan jednostavan mentalni model.","\u002Fuploads\u002F2026\u002F09\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works-1790377492124-khjagt.webp","2026-09-25T19:03:00.000Z",{"id":3580,"slug":3581,"title":3582,"excerpt":3583,"featuredImage":3584,"publishedAt":3585},"466","the-gpu-is-not-the-product-future-proof-private-ai-architecture","GPU nije proizvod: Privatna AI arhitektura spremna za budućnost","Privatna AI infrastruktura ne bi trebalo da bude projektovana oko jednog GPU-a ili jednog modela. Otporniji pristup kombinuje brze GPU-ove za inferenciju, memorijski bogate AI sisteme, čvorove za fizički AI i opcione vodeće modele u oblaku iza sloja za rutiranje koji prepoznaje mogućnosti.","\u002Fuploads\u002F2026\u002F09\u002Fthe-gpu-is-not-the-product-future-proof-private-ai-architecture-1790140878812-8hsl39.webp","2026-09-23T01:19:00.000Z",{"id":3587,"slug":3588,"title":3589,"excerpt":3590,"featuredImage":3591,"publishedAt":3592},"483","what-is-an-ai-solution-architect-system-boundaries-responsibilities-and-trade-offs","Šta je AI rešenje arhitekta? Granice sistema, odgovornosti i kompromisi","AI Solution Architect pretvara poslovne zahteve u AI sistem spreman za produkciju, obuhvatajući podatke, modele, alate, bezbednost, izvršno okruženje, evaluaciju i operacije.","\u002Fuploads\u002F2026\u002F10\u002Fwhat-is-an-ai-solution-architect-system-boundaries-responsibilities-and-trade-offs-1791476643267-1st5xz.webp","2026-10-08T12:23:00.000Z",{"id":3594,"slug":3595,"title":3596,"excerpt":3597,"featuredImage":3598,"publishedAt":3599},"467","the-answer-validity-boundary-the-missing-layer-between-relevance-and-reliable-ai-answers","Granica valjanosti odgovora: Nedostajući sloj između relevantnosti i pouzdanih AI odgovora","Izvor može biti relevantan, autoritativan i ipak pogrešan za pitanje koje se postavlja. Sloj koji nedostaje je primenljivost: uslovi pod kojima odgovor važi i promene koje ga primoravaju na preispitivanje. Ovaj članak predstavlja Granicu važenja odgovora kao obrazac za dizajn izvora za ljude, AI pretragu i RAG sisteme.","\u002Fuploads\u002F2026\u002F09\u002Fthe-answer-validity-boundary-the-missing-layer-between-relevance-and-reliable-ai-answers-1790272901306-1g5jly.webp","2026-09-24T11:59:00.000Z",{"id":3601,"slug":3602,"title":3603,"excerpt":3604,"featuredImage":3605,"publishedAt":3606},"381","enterprise-grade-multi-tenant-architecture-for-an-international-platform","Višezakupna arhitektura korporativnog nivoa za međunarodnu platformu","Loving Rocks je platforma za venčanja poslovne klase, dizajnirana sa istinskom više-zakupnom arhitekturom, izolovanim bazama podataka po zakupcu i ugrađenom internacionalizacijom za globalnu skalabilnost, bezbednost i dugoročnu operativnu stabilnost.","\u002Fuploads\u002F2026\u002F01\u002Fenterprise-grade-multi-tenant-architecture-for-an-international-platform-1769789121298-b6v7ak.webp","2026-01-30T12:04:00.000Z","fallback",[],[]]