Wat is Model Context Protocol?
Model Context Protocol is een open protocol waarmee AI-applicaties op een consistente manier verbinding maken met externe gegevens, tools en workflows.
Een MCP-server publiceert mogelijkheden en context in een gestandaardiseerd formaat. Een MCP-client in een AI-applicatie kan die mogelijkheden ontdekken en, binnen de ingestelde rechten, gebruiken.
Zonder een standaard zoals MCP wordt iedere combinatie van AI-model en bedrijfssysteem een afzonderlijke integratie. De interface voor model A naar systeem X wijkt dan af van model B naar hetzelfde systeem, terwijl een overstap naar een ander AI-platform opnieuw ontwikkelwerk vereist. MCP probeert dit integratieprobleem te verkleinen door de verbinding tussen AI-applicaties en externe systemen te standaardiseren.
MCP vervangt het onderliggende systeem niet. Odoo blijft verantwoordelijk voor gegevens, gebruikers, toegangsrechten en bedrijfslogica. De MCP-server vormt een gecontroleerde vertaallaag tussen de AI-client en de functies die aan die client beschikbaar worden gesteld.
Waarom bestaat MCP?
Een taalmodel heeft van zichzelf geen actuele toegang tot een Odoo-database. Het kent niet automatisch de huidige voorraad, openstaande facturen of rechten van een gebruiker. Om met actuele bedrijfsinformatie te werken, heeft de AI-applicatie een gecontroleerde verbinding met externe systemen nodig.
Traditioneel wordt zo’n verbinding per toepassing ontwikkeld. Een team definieert endpoints, toolbeschrijvingen, authenticatie, foutafhandeling en mappings voor ieder model of agentplatform. Dat werkt, maar leidt snel tot meerdere varianten van dezelfde koppeling.
MCP brengt een gemeenschappelijke laag aan. Daardoor kan een MCP-compatibele client met meerdere servers werken en kan één server zijn mogelijkheden beschikbaar stellen aan meerdere compatibele clients. De exacte ondersteuning en functionaliteit blijven afhankelijk van de gekozen client en implementatie.
Wat MCP wel en niet oplost
| Onderwerp | MCP helpt bij | MCP lost niet automatisch op |
|---|---|---|
| Interoperabiliteit | Een gestandaardiseerde interface tussen clients en servers. | Functionele verschillen tussen AI-modellen en clients. |
| Ontdekbaarheid | Het publiceren van beschikbare tools, resources en prompts. | Het bepalen welke functies bedrijfsmatig wenselijk zijn. |
| Security | Een kader voor autorisatie en gecontroleerde verbindingen. | Een veilige configuratie zonder aanvullend beleid en beheer. |
| Bedrijfslogica | Toegang tot bestaande functies van een systeem. | Correcte Odoo-processen, data en gebruikersrechten. |
Hoe werkt de MCP-architectuur?
MCP gebruikt een host-, client- en servermodel. De gebruiker werkt in een AI-applicatie; de client onderhoudt de protocolverbinding; de server ontsluit gecontroleerde functies en context.
De host is de applicatie waarin de gebruiker met het AI-model werkt. De host kan één of meerdere MCP-clients bevatten. Iedere client onderhoudt een verbinding met een MCP-server. De server beschrijft welke mogelijkheden beschikbaar zijn en verwerkt verzoeken die binnen het toegestane beleid vallen.
Tools, resources en prompts
Uitvoerbare functies, bijvoorbeeld een offerte opvragen of een record aanmaken.
Context of gegevens die een client kan lezen, zoals documentatie of gestructureerde records.
Herbruikbare templates of begeleide interacties die een server beschikbaar kan stellen.
Niet iedere implementatie hoeft alle primitives te gebruiken. Voor een enterprise-Odoo-koppeling ligt de nadruk meestal op gecontroleerde tools en gestructureerde resultaten. Welke functies worden gepubliceerd, hoort een expliciete ontwerpbeslissing te zijn.
Hoe werkt MCP met Odoo?
In de DAADit-architectuur staat de MCP-server buiten de gebruikersinterface van Odoo. De server ontvangt gestandaardiseerde MCP-verzoeken, controleert de identiteit en het ingestelde beleid en vertaalt een toegestane actie naar een Odoo-operatie.
Voorbeeld van een tooldefinitie
// Eén van de tools die je AI-client krijgt na tools/list. { "name": "odoo_search_read", "description": "Zoek en lees records in één call — de meest gebruikte tool voor vragen over je data.", "inputSchema": { "type": "object", "properties": { "model": { "type": "string" }, "domain": { "type": "array" }, "fields": { "type": "array" }, "limit": { "type": "integer" } }, "required": ["model"] } }
De volledige toolset van de hosted server bestaat uit odoo_list_instances, odoo_list_models, odoo_fields_get, odoo_search, odoo_search_read, odoo_read, odoo_create, odoo_write en odoo_execute_kw. Welke daarvan een client daadwerkelijk ziet, bepaal je per omgeving en per gebruiker met capability gating; standaard staan alleen de alleen-lezen tools aan.
De server bepaalt niet zelfstandig wat de gebruiker bedoelt. De AI-client selecteert een tool op basis van de beschrijving en de interactie. Daarom moeten toolnamen, schema’s, foutmeldingen en autorisatie zorgvuldig worden ontworpen en getest.
MCP versus een traditionele REST API
MCP en REST zijn geen rechtstreekse alternatieven. Een MCP-server gebruikt vaak bestaande API’s of systeemmethodes om met het bronsysteem te communiceren. Het verschil zit vooral in de interface richting de AI-applicatie.
| Eigenschap | REST API | MCP |
|---|---|---|
| Primaire doelgroep | Softwaretoepassingen en developers. | AI-hosts, agents en MCP-clients. |
| Ontdekbaarheid | Via externe API-documentatie of schema’s. | Server kan mogelijkheden tijdens de sessie publiceren. |
| Semantische beschrijving | Niet noodzakelijk gericht op modelselectie. | Tools bevatten beschrijvingen en invoerschema’s voor AI-gebruik. |
| Gebruik in Odoo | Directe integratie tussen applicaties. | Een gestandaardiseerde AI-laag boven gecontroleerde Odoo-acties. |
| Beheer | Per integratie en applicatie. | Potentieel centraal per MCP-server of gateway. |
Een belangrijk architectuurprincipe is dat MCP bestaande autorisatie niet mag omzeilen. De MCP-laag hoort de rechten in Odoo te respecteren en kan aanvullend strengere scopes toepassen.
Security, privacy en governance
Een MCP-implementatie wordt niet veilig doordat het protocol wordt gebruikt. Veiligheid ontstaat door identiteit, minimale rechten, expliciete grenzen, gecontroleerde tools, logging en operationeel beheer.
De server moet kunnen vaststellen welke gebruiker, tenant en client een verzoek uitvoert. Gedeelde credentials verminderen de herleidbaarheid.
Rechten worden beperkt op basis van gebruiker, rol, Odoo-model, actie en omgeving. Read-only is een logische standaard voor een eerste productieproef.
Tools krijgen een beperkt doel, valideerbare invoer en voorspelbare resultaten. Generieke uitvoerfuncties vragen extra maatregelen.
Risicovolle acties kunnen een expliciete menselijke bevestiging vereisen voordat de server de wijziging uitvoert.
Calls, fouten, actor, tool, timing en resultaatstatus worden vastgelegd voor monitoring, onderzoek en verbetering.
Model gating en capability gating
Model gating bepaalt welke AI-clients of modellen toegang mogen krijgen tot een tenant of functiegebied. Capability gating beperkt welke categorieën acties beschikbaar zijn, bijvoorbeeld lezen, zoeken, creëren, wijzigen of specifieke methodes uitvoeren.
DAADit past deze begrippen toe als productbeleid boven op de bestaande Odoo-rechten. Een gebruiker kan nooit meer mogen dan de gekoppelde Odoo-identiteit, terwijl de MCP-laag de toegang verder kan beperken.
Logging en audit trail
Voor beheer en governance moet minimaal zichtbaar zijn welke gebruiker of service-identiteit een call startte, welke tool werd gekozen, welke tenant en omgeving betrokken waren, of de actie is toegestaan en of deze is geslaagd. Gevoelige promptinhoud en resultaten vragen een apart bewaarbeleid.
Logging is geen vervanging voor preventieve beveiliging. Het vormt de basis voor incidentonderzoek, gebruiksanalyse, foutopsporing en het verbeteren van tooldefinities.
Implementatie van DAADit Hosted MCP
De implementatie start niet bij een AI-model, maar bij de gewenste bedrijfsprocessen en de risicoklasse van de bijbehorende acties. Een informatievraag over voorraad vraagt een ander controleniveau dan het aanmaken of bevestigen van financiële boekingen.
Aanbevolen implementatiefasen
| Fase | Activiteiten | Resultaat |
|---|---|---|
| 1. Use-case en scope | Persona, moment, gegevens, acties en acceptatiecriteria beschrijven. | Afgebakende eerste toepassing. |
| 2. Technisch ontwerp | Odoo-identiteiten, tools, authenticatie, omgeving en logging bepalen. | Architectuur en securitybeleid. |
| 3. Configuratie | Tenant, koppeling, gating, gebruikers en toolset instellen. | Werkende ontwikkel- of stagingomgeving. |
| 4. Testen | Positieve, negatieve en misbruikscenario’s uitvoeren. | Inzicht in kwaliteit en restrisico. |
| 5. Productie en beheer | Gefaseerde toegang, monitoring, evaluatie en support. | Beheerde operationele dienst. |
Dashboard en support
De klant krijgt een compact dashboard voor verbindingen, gebruikers, modellen, capabilities en activiteit. De complexe serverconfiguratie blijft onder beheer van DAADit. Wanneer een gebruiker een probleem meldt, kan de helpdesk de relevante omgeving, logging en configuratie onderzoeken. Een supportvraag kan daarbij vanuit dezelfde AI-assistent aan DAADit worden doorgezet.
Voorbeelden van Odoo MCP-toepassingen
De onderstaande voorbeelden illustreren verschillende niveaus van lezen, analyseren en uitvoeren. De definitieve toolset wordt per klant en persona ontworpen.
Offerte voorbereiden
Klant, producten en prijsinformatie ophalen en een conceptofferte klaarzetten voor menselijke controle.
Actuele briefing
Omzet, marge, openstaande offertes en uitzonderingen samenvatten vanuit actuele Odoo-data.
Afsluitlijst
Openstaande posten en ontbrekende boekingen identificeren en ordenen op impact.
Beschikbare voorraad
Vrije voorraad, reserveringen en verwachte ontvangsten combineren tot een leverantwoord.
Orderstatus
Verkoop, levering en inkoop samenbrengen in één verklaarbare klantupdate.
Werkorder afronden
Uren, onderdelen en vervolgonderhoud registreren na bevestiging door de monteur.
Meer uitgebreide businessverhalen kunnen worden opgenomen in de sectie Laat Odoo werken. Deze productpagina blijft bewust gericht op de technische werking en het beheer.
Veelgestelde vragen over MCP en Odoo
Wat is Model Context Protocol?
MCP is een open protocol voor gestandaardiseerde verbindingen tussen AI-applicaties en externe gegevensbronnen, tools en workflows.
Is MCP open source?
De specificatie en officiële SDK’s worden als open-sourceproject ontwikkeld. Een afzonderlijke MCP-server of commerciële dienst kan eigen licentievoorwaarden hebben.
Werkt MCP alleen met Claude?
Nee. MCP is als open standaard bedoeld voor meerdere hosts en clients. De precieze functies en ondersteuning verschillen per AI-platform.
Werkt MCP met ChatGPT of OpenAI?
Dat hangt af van de MCP-ondersteuning in het gebruikte OpenAI-product of de gekozen client. Controleer altijd de actuele documentatie van de client.
Hoe werkt MCP met Odoo?
Een MCP-server publiceert gecontroleerde tools en vertaalt toegestane verzoeken naar Odoo-operaties. De server retourneert daarna een gestructureerd resultaat aan de client.
Is MCP een vervanging voor de Odoo API?
Nee. Een MCP-server kan juist gebruikmaken van bestaande Odoo-interfaces. MCP standaardiseert vooral de laag richting de AI-client.
Is MCP veilig?
MCP kan veilig worden toegepast wanneer identiteit, minimale rechten, toolscopes, menselijke bevestiging, logging en bescherming tegen prompt injection zorgvuldig zijn ingericht.
Wat is capability gating?
Capability gating beperkt welke categorieën functies een client of gebruiker mag gebruiken, bijvoorbeeld alleen lezen of ook records aanmaken.
Wat is model gating?
Model gating bepaalt welke AI-clients, modellen of applicaties toegang krijgen tot een tenant, gebruikersgroep of toolset.
Kan een omgeving read-only worden ingericht?
Ja. Een read-only configuratie is geschikt voor rapportage, onderzoek en een gecontroleerde eerste productieproef.
Worden alle acties gelogd?
De DAADit-opzet voorziet in logging van calls en relevante metadata. De exacte inhoud en bewaartermijn worden afgestemd op security- en privacybeleid.
Moet ik de server zelf hosten?
Nee. DAADit levert een hosted en managed variant. Zelf hosten is technisch mogelijk met andere implementaties, maar valt buiten deze dienst.
Welke Odoo-versies worden ondersteund?
Odoo 16, 17, 18 en 19 — zowel Odoo Online (odoo.com), Odoo.sh als on-premise, zolang de omgeving bereikbaar is via de externe API. Je kiest de versie bij het aanmaken van de verbinding; de server test de koppeling direct en meldt een versieverschil.
Kan ik eerst op staging testen?
Ja. Development of staging is de aanbevolen start voor tools die gegevens wijzigen.
Hoe begin ik?
Een technische gebruiker kan een activatieroute volgen. Organisaties met governance- of implementatievragen kunnen eerst een technische intake plannen.
Gerelateerde documentatie en artikelen
Bronnen en verdere verdieping
- Model Context Protocol — Introduction
- Model Context Protocol — Architecture overview
- Model Context Protocol — Specification
- Model Context Protocol — Security best practices
- Anthropic — Introducing the Model Context Protocol
- Odoo 19 Documentation
Een concrete Odoo MCP-vraag?
DAADit helpt bij architectuur, security, configuratie en een gecontroleerde eerste use-case. De productdocumentatie blijft leidend; contact is een logisch vervolg wanneer de technische situatie daarom vraagt.
Begin nu — binnen 1 minuut live → Bespreek de technische situatie