Het Model Context Protocol, afgekort MCP, is een open protocol. Een AI-assistent kan daarmee gereedschappen buiten zichzelf aanroepen. De assistent krijgt van een MCP-server een lijst van gereedschappen, met per gereedschap een beschrijving en de parameters. De assistent kiest er zelf een, roept die aan en verwerkt het antwoord in de tekst die de gebruiker leest.
Voor de lezer van deze documentatie telt één eigenschap van dat protocol het zwaarst: de assistent verzint het antwoord niet, maar haalt het op. Wat de assistent terugkrijgt, is het antwoord van het bronregister zelf, met de kenmerken die dat register gebruikt. Daardoor is het antwoord te controleren. Bij een antwoord uit het geheugen van een taalmodel kan dat niet.
Werking
Een gesprek met een assistent die op BesluitBron is aangesloten, verloopt als volgt:
flowchart TD
G["Gebruiker<br/>Welke moties over windenergie<br/>zijn in Soest aangenomen?"]
G --> A1["AI-assistent<br/>vraagt de gereedschapslijst op<br/>tools/list"]
A1 --> B1["BesluitBron<br/>antwoordt met de gereedschappen<br/>van dit adres"]
B1 --> A2["AI-assistent<br/>kiest zelf een gereedschap<br/>tools/call find_motions"]
A2 --> B2["BesluitBron<br/>vertaalt naar de zoektaal<br/>van het register"]
B2 --> R["Bronregister<br/>treffers met identificatiekenmerken"]
R --> B3["BesluitBron<br/>resultaat plus precisie-informatie"]
B3 --> A3["AI-assistent<br/>vat het antwoord samen"]
A3 --> G2["Gebruiker<br/>antwoord met vindplaatsen"]
De assistent kiest zelf het gereedschap. BesluitBron bepaalt welke gereedschappen er zijn, wat zij mogen opvragen en wat zij over hun eigen betrouwbaarheid melden.
Wat het protocol niet regelt
Het protocol regelt het transport en de vorm van een aanroep. Het regelt niet of het antwoord juist is. Het regelt evenmin of de assistent het goede gereedschap kiest en of de assistent het antwoord juist samenvat. Die drie blijven de verantwoordelijkheid van de lezer. Dat is de reden dat elk resultaat een vindplaats draagt: zie Bronvermelding.
Het protocol kent geen bevoegdheden en geen geheimhouding. BesluitBron ontsluit daarom alleen gegevens die al openbaar zijn, zie Openbaarheid en Persoonsgegevens.
Vervoer en beveiliging
BesluitBron biedt MCP aan over streamable HTTP. Elk adres is een zelfstandige MCP-server met een eigen gereedschapskist. Een gebruiker sluit zo alleen de bron aan die nodig is. Zie Connector voor de reden dat dit een bewuste keuze is en geen gevolg van de techniek.