The Model Context Protocol, or MCP for short, is an open protocol. It enables an AI assistant to call upon tools external to itself. The assistant receives a list of tools from an MCP server, with a description and the parameters for each tool. The assistant selects one itself, calls it up and incorporates the response into the text that the user reads.
For the reader of this documentation, one feature of that protocol is of paramount importance: the assistant does not invent the answer, but retrieves it. What the assistant receives in return is the answer from the source register itself, with the characteristics used by that register. This means the answer can be verified. This is not possible with an answer retrieved from the memory of a language model.
How it works
A conversation with an assistant registered with BesluitBron proceeds as follows:
flowchart TD
G["User<br/>Which motions on wind energy<br/>were they adopted in Soest?"]
G --> A1["AI assistant<br/>retrieves the tool list<br/>tools/list"]
A1 --> B1["BesluitBron<br/>responds using the tools<br/>from this address"]
B1 --> A2["AI assistant<br/>chooses a tool themselves<br/>tools/call find_motions"]
A2 --> B2["BesluitBron<br/>translates into the search language<br/>from the register"]
B2 --> R["List of sources<br/>hits with identifying characteristics"]
R --> B3["BesluitBron<br/>result plus detailed information"]
B3 --> A3["AI assistant<br/>summarise the answer"]
A3 --> G2["User<br/>answer with references"]
The assistant chooses the tools themselves. BesluitBron determines which tools are available, which ones they are permitted to request, and what information they provide about their own reliability.
What the protocol does not cover
The protocol governs the transmission and format of a query. It does not determine whether the response is correct. Nor does it determine whether the assistant selects the correct tool or whether the assistant summarises the answer accurately. These three aspects remain the responsibility of the reader. That is why every result includes a reference: see Bronvermelding.
The protocol does not confer any powers and does not involve any duty of confidentiality. BesluitBron therefore only makes available data that is already in the public domain; see Openbaarheid en Persoonsgegevens.
Transport and security
BesluitBron offers MCP via streamable HTTP. Each address is an independent MCP server with its own set of tools. This allows users to connect only to the source they need. See Connector to find out why this is a deliberate choice and not a consequence of the technology.