Co dělá
První majordomus mcp v repozitáři naváže jeden sdílený server na loopback rozhraní a zaloguje každý povrch, který servíruje: domovskou stránku, tuto dokumentaci, rustdoc cratu, Cockpit, Swagger UI, dokument OpenAPI, routy schopností a MCP přes HTTP. Každý další klient se k němu připojí místo spuštění dalšího a server skončí, když odejde jeho poslední klient. Konfigurace klientů v kořeni repozitáře — jedna pro každého providera, který nějakou čte, jak je vypisuje docs/generated/providers.md — jmenují jeden launcher, takže stačí repozitář v kterémkoli z nich otevřít.
To, co server odpovídá, je registr: nástroj, zdroj, trasa nebo příkaz existuje, protože existuje deklarace, a tatáž deklarace je to, co vykresluje reference i web. Povrch — připojení dokumentace, rustdoc crate, generovaná zpráva, Swagger UI — se zjišťuje z věci, která jej produkuje, nebo ze zdroje, který říká, že existuje, a rozliší se jednou do topologie, kterou čtou router, domovská stránka, publikace i validátor.
Co nedělá
Většina z toho, co se poskytuje, čte. Každá schopnost nese svůj efekt v registru: čtení, změnu vlastního stavu odpovídajícího runtime (nástěnka peerů, žurnál meshe, kniha důkazů), nebo změnu repozitáře. Ty, které zapisují do repozitáře, jsou continuity.publish, continuity.resume, continuity.sync, executions.start, intents.propose, plan.transition, reasoning.record a recover.orphans; instrukce initialize, které čte každý klient, je jmenují z registru, a případ 3363 odmítne tuto stránku, když se její seznam a seznam registru liší, protože věta slibující povrch jen pro čtení je přesně ta věta, podle které agent jedná. Ve výchozím stavu neexistuje autentizace ani vzdálené navázání; server je pro klienty na tomto stroji. Když je navázán mimo loopback, jeho čtení odpovídá každému, kdo se k němu dostane, a každá schopnost, která něco mění, je vzdálenému volajícímu odmítnuta, pokud vstup nepodepsal propojený uzel. Nespouští model a nesměruje na něj práci.