Security & Werking AFAS MCP-Server

Welkom. Deze pagina geeft een overzicht van de beveiligingsarchitectuur en de werking van de AFAS Model Context Protocol (MCP) server. Dit overzicht is speciaal opgesteld ter voorbereiding op gesprekken met stakeholders.

Wat is de AFAS MCP-Server?

De AFAS MCP-server (Model Context Protocol) is een intelligente, beveiligde brug tussen AI-assistenten (zoals AI agents of chat-interfaces) en uw AFAS bedrijfssoftware. Het stelt AI in staat om veilig, betrouwbaar en gecontroleerd te communiceren met de AFAS-omgeving, zonder dat AI rechtstreeks toegang nodig heeft tot de database.

Wat kunt u ermee?

De tool maakt het mogelijk om de complexe interface van een ERP systeem over te slaan. In plaats van te navigeren door menu's in de software, stelt een gebruiker simpelweg een vraag in natuurlijke taal. De MCP-server vertaalt dit naar specifieke technische opdrachten (zoals GetConnectors), haalt de data realtime uit AFAS, en geeft het gewenste antwoord terug. Denk aan een manager die direct antwoord wil op hr-vragen of een medewerker die zijn verlofsaldo wil weten. Dit scheelt veel tijd en maakt het ophalen van informatie zeer laagdrempelig.

Hoe werkt het in de praktijk?

Live demo: AFAS AI Buddy beantwoordt een vraag in real-time
Live demo: AFAS AI Buddy (AFAS MCP Server) in actie
sequenceDiagram autonumber actor User as Eindgebruiker participant AI as AI Assistent (bijv. Copilot) participant MCP as AFAS MCP Server participant Entra as Microsoft Entra ID participant AFAS as AFAS Profit User->>AI: Stelt vraag (bijv. "Wat is mijn verlof?") AI->>MCP: Stuurt verzoek inclusief Entra ID Token MCP->>Entra: Valideert token & haalt rollen op Entra-->>MCP: Identiteit geverifieerd + Rollen MCP->>MCP: RBAC check: mag de gebruiker dit? MCP->>AFAS: Haal data op (via API / AppConnector) AFAS-->>MCP: Ruwe AFAS data MCP-->>AI: Teruggave van (gefilterde) data AI-->>User: Gebruiksvriendelijk antwoord in chat
Terug naar Blog overzicht

Bij het koppelen van AI aan kritieke bedrijfssoftware zoals AFAS, is veiligheid de absolute topprioriteit. Veel organisaties maken zich zorgen over datalekken of ongecontroleerde AI-acties. Onze oplossing is echter geen open verbinding of "vibe coded" experiment, maar een gecontroleerde enterprise-laag ontworpen vanuit governance by design. De architectuur leunt hierbij op vier fundamentele pijlers:

1. Identiteit
Authenticatie middels Microsoft Entra ID.
2. Autorisatie
Strikte rolgebaseerde toegang (least-privilege).
3. Dataminimalisatie
Alleen tonen wat strikt noodzakelijk is.
4. Auditability
Volledige logging en controleerbaarheid.

De MCP-server als Poortwachter

Wordt alle data uit AFAS zomaar beschikbaar voor de AI? Zeker niet. Een veelvoorkomende misvatting is dat de AI autonome toegang krijgt tot de database. In werkelijkheid fungeert de MCP-server als de handhavende laag: deze bepaalt expliciet welke tools, datasets en velden beschikbaar zijn. Ook als een gebruiker via slimme instructies (prompt injection) de beveiliging probeert te omzeilen om gevoelige financiële of HR-data te achterhalen, faalt dit. De prompt bepaalt immers niet de rechten; de autorisatielaag in de MCP-server wel. Veiligheid moet altijd in de applicatie- en autorisatielaag zitten, niet in het model alleen.

Identiteit en Gecontroleerde Toegang

Hoe weten we dan zeker dat gebruikers alleen data zien waar ze recht op hebben? De server gebruikt de identiteit van de ingelogde gebruiker via Microsoft Entra ID. Op basis van toegekende rollen en groepen (zoals hr.read of payroll.read) wordt de toegang geautoriseerd.

Voor reguliere medewerkers zijn er specifieke self-service tools waarbij we server-side een geforceerde MdwId-filtering toepassen. Men kan hierdoor uitsluitend eigen gegevens opvragen. Verder zijn admin-tools apart afgeschermd: ze worden alleen beschikbaar gesteld indien de gebruiker zowel functioneel als technisch over de juiste privileges beschikt. Privacy by design en dataminimalisatie zijn leidend om te voorkomen dat er gevoelige data uitlekt; de server toont enkel wat essentieel is voor de specifieke taak en pseudonimiseert waar nodig.

Beheer, Betrouwbaarheid en Schaalbaarheid

Voor een IT-organisatie is beheersbaarheid cruciaal. IT houdt de touwtjes in handen door middel van gecontroleerde toolregistratie en centraal beheer van tenant-toegang (via een allowlist configuratie). Acties worden expliciet gedefinieerd en afgeschermd, waardoor men controle behoudt over het oppervlak van de assistant. Niet de AI beslist wat mag; uw beveiligingsbeleid doet dat.

Daarnaast is auditability ingebouwd. Elke aanroep wordt volledig gelogd: wie deed wat, wanneer, via welke tool en op basis van welke identiteit. Dit maakt het gebruik achteraf 100% controleerbaar ter ondersteuning van compliance. En wanneer AFAS of een ander backend-systeem tijdelijk down is? Dan is de MCP-server ontworpen om gecontroleerd te falen: met duidelijke foutmeldingen en zonder halve transacties.

Omdat deze MCP-server als een centrale governancelaag functioneert tussen AI en de bron, is de aanpak buitengewoon schaalbaar. Je voegt gemakkelijk nieuwe use cases toe zonder het centrale securitymodel en de logging los te laten.

“De kern is: de AI denkt mee, maar de MCP-server bepaalt wat veilig, toegestaan en controleerbaar is.”

Werking en Voorbeelden per Rol

Afhankelijk van de toegekende rechten heeft een gebruiker toegang tot specifieke functionaliteiten. Hieronder enkele illustratieve vragen en commando's die per rol gesteld kunnen worden via de LLM/Agent: