Ik begon met het Model Context Protocol (MCP) te werken voordat het officieel werd uitgebracht in IBM Maximo Application Suite (MAS) 9.2. Ik heb zelfs mijn eigen MCP-server voor MAS gebouwd, waarover ik schreef in een blogreeks (Het probleem met communiceren met Maximo), om AI-agents te helpen verbinden met Maximo Manage. Sindsdien hebben veel mensen in de community erom gevraagd voor Maximo-teams.

De meeste gesprekken gaan over de komst van MCP naar MAS 9.2, maar hier wil ik uitleggen hoe de MCP-server werkt, wat de architectuur is en hoe deze AI-agents in staat stelt veilig met Maximo te werken. Ik behandel de belangrijkste concepten en wat deze betekenen voor teams die MCP in hun eigen Maximo-omgeving willen gebruiken.

Waar de MCP-server past

Als je mijn blogreeks niet hebt gelezen en niet weet wat een MCP is, zal ik het kort samenvatten.

De MCP-server bevindt zich tussen AI-agents en Maximo Manage API's. In MAS 9.2 kan deze de ingebouwde Asset Lifecycle Management (ALM) -agent bedienen - waarbij ALM verwijst naar de AI-componenten die binnen de AI Service zijn ingezet, evenals andere op AI gebaseerde oplossingen zoals Insights, Reliability en meer. ALM en gerelateerde bronnen zijn de daadwerkelijke AI-services die via MCP met Maximo communiceren en intelligente mogelijkheden bieden binnen de hele suite.

Het is echter niet beperkt tot die ingebouwde agent. Het ondersteunt ook externe agents, waaronder door de klant beheerde agents of andere agent-frameworks, zoals IBM Bob, Claude en OpenAI, zolang ze verbinding maken via de ondersteunde route en het authenticatiemodel.

Je kunt het simpelweg zo zien: Manage blijft de bron van waarheid en de MCP-server fungeert als de toegangspoort voor agents tot geselecteerde Manage-functionaliteiten.

Manage stelt al OpenAPI-specificaties beschikbaar. In MAS 9.2 gebruikt de MCP-server deze specificaties om te bepalen welke functionaliteiten beschikbaar zijn als AI-tools. Manage houdt de tooldefinities bij en de MCP-server pollt Manage op updates. Standaard gebeurt dit pollen elke 10 minuten, al kan dit interval worden aangepast.

Het pollingproces maakt gebruik van ETags. Manage houdt een eigen ETag bij voor wijzigingen in de toolspecificaties. De MCP-server houdt een ETag in het geheugen bij. Wanneer deze waarden verschillen, ververst de MCP-server de toollijst en haalt de actuele OpenAPI-specificaties op. Op die manier worden toevoegingen, updates en verwijderingen doorgevoerd in de toolcatalogus voor agents.

De tools maken ook gebruik van gestructureerde input- en outputdefinities. De presentatie benoemt Pydantic input- en outputobjecten, die agents een strikter schema bieden om te volgen (ik heb dit al genoemd in The Operations Layer: From Discovery to Action). Dat is niet zomaar een implementatiedetail. Agents presteren beter wanneer ze een nauwkeurig, expliciet contract krijgen in plaats van een groot API-oppervlak.

Beveiliging volgt het Maximo-model

Een van de betere ontwerpkeuzes hier is dat MCP geen aparte beveiligingsomgeving naast Maximo creëert. Authenticatie en autorisatie verlopen nog steeds via de gebruikelijke MAS- en Manage-patronen.

Voor het ingebouwde agent-pad stuurt de UI een x-access-token JWT mee met het toolverzoek. De MCP-server stuurt dat token naar Core IDP voor authenticatie, ontvangt de gebruikerscontext en geeft vervolgens de gebruikers-ID door aan Manage wanneer de tool wordt aangeroepen. Manage bepaalt nog steeds of die gebruiker de actie mag uitvoeren.

Dat betekent dat een geldige gebruiker niet automatisch elke MCP-tool mag aanroepen. Als een gebruiker geen toegang mag hebben tot een tool of een specifieke AI-configuratie, blijft die beperking van kracht wanneer het verzoek via MCP binnenkomt.

Voor externe agents ondersteunt MAS 9.2 authenticatie via Maximo API-sleutels of JWT-tokens. API-sleutels zijn doorgaans de beste keuze voor integraties waarbij één agent een consistente set rechten nodig heeft. JWT-tokens zijn logischer wanneer de agent namens verschillende gebruikers moet handelen.

De interne communicatie tussen MCP, Manage en Core verloopt via MAS-certificaten. Het punt is niet dat MCP bedrijfscontroles omzeilt. Het biedt agents toegang tot Maximo, terwijl de vertrouwde controles behouden blijven.

Externe agents maken deel uit van het ontwerp

De 'Bring Your Own Agent'-benadering is een van de meest interessante onderdelen van deze release.

Sommige klanten zullen de ingebouwde ALM-agent van IBM gebruiken. Anderen hebben al geïnvesteerd in eigen agents of geven de voorkeur aan een hybride model waarbij zowel IBM-agents als externe agents met Maximo communiceren. De MCP-server ondersteunt dit bredere model – en dat is erg spannend!

Om een externe agent te verbinden, heeft de klant twee dingen nodig: de extern toegankelijke MCP-route en een authenticatiemethode. De route wordt automatisch via OpenShift beschikbaar gesteld en de agent stuurt, afhankelijk van het authenticatiepatroon, een Maximo API-sleutel of een x-access-token header mee.

Dit betekent dat Maximo-functionaliteiten via een industriestandaard protocol beschikbaar kunnen worden gesteld aan externe agents, in plaats van via een eenmalige integratie. Voor klanten met bestaande AI-platforms is dit waarschijnlijk een van de meest praktische onderdelen van MAS 9.2. Zij kunnen hun eigen agent-strategie behouden en Maximo blijven gebruiken als het beheerde systeem van record.

MCP-tools zijn API's, maar niet elke API is een tool

Een interessant aspect van dit ontwerp is dat alle MCP-tools in Manage REST API's zijn, maar dat niet alle Maximo API's MCP-tools zijn.

Dat onderscheid is belangrijk. Maximo heeft een zeer uitgebreid API-oppervlak. Het volledig openstellen daarvan voor een agent zou kostbaar, onoverzichtelijk en riskant zijn. De agent zou te veel schema's moeten verwerken, te veel mogelijke paden hebben en te veel kans lopen om verkeerde keuzes te maken.

MCP-tools vormen een selectievere laag. Ze stellen de mogelijkheden beschikbaar die bedoeld zijn voor gebruik door agents, voorzien van een beschrijving, een schema en annotaties die de agent helpen bepalen wanneer en hoe deze moeten worden aangeroepen.

MAS 9.2 onderverdeelt Manage MCP-tools in vijf brede categorieën.

AI-configuratietools

AI-configuratietools zijn gebaseerd op geactiveerde AI-configuraties in Manage. De ondersteunde inferentietypen van de geïnstalleerde AI-services omvatten classificatie, gelijkenis, assistent, documentzoekopdrachten en conditie-inzicht.

De assistent-functionaliteit is bijzonder interessant omdat deze als bootstrap-tool kan fungeren. Het kan een verzoek in natuurlijke taal omzetten en afleiden hoe de REST API-aanroep eruit moet zien. In sommige gevallen wordt die flow opgesplitst in twee tools: één om de API-aanvraag af te leiden en een andere om deze uit te voeren. Die splitsing geeft de agent de ruimte om aan de gebruiker te tonen wat hij gaat doen voordat de volgende stap wordt gezet.

AI-configuratietools maken gebruik van een whitelist die wordt bijgehouden in de MAXAICFGTOOL-tabel. Zodra een ondersteunde AI-configuratie is geactiveerd, kan deze automatisch beschikbaar worden als tool. Dit verschilt van diverse andere tooltypen, waarbij een expliciete implementatiestap vereist is.

Beschrijvingen zijn hierbij erg belangrijk. De beschrijving van de AI-configuratie wordt de toolbeschrijving, en de agent gebruikt die inhoud om te bepalen of de tool aansluit bij het verzoek van de gebruiker. Een vage beschrijving bemoeilijkt de planning. Een specifieke beschrijving geeft de agent betere sturing.

Objectstructuurtools

Objectstructuren zijn krachtig, maar hun schema's kunnen enorm zijn. Een objectstructuur voor een werkorder, asset of locatie kan veel bewerkingen en velden bevatten. Het volledige schema aan een agent geven is meestal niet de juiste aanpak. Ik liep zelf tegen veel problemen met het contextvenster aan tijdens het bouwen van mijn eigen MCP-server.

OS-tools lossen dit op door specifiekere tools te creëren uit het grotere objectstructuurmodel. In plaats van alles bloot te stellen wat een asset-objectstructuur kan, kan een OS-tool een gerichte bewerking aanbieden, zoals het verplaatsen van een asset of het rapporteren van downtime.

Scripttools

Automatiseringsscripts zijn een van de meest gebruikte manieren waarop klanten en partners Maximo uitbreiden. MAS 9.2 brengt dat uitbreidingspatroon naar het MCP-model.

Script-tools volgen dezelfde algemene aanpak als scripting voor REST API's. Letterlijke scriptvariabelen worden het request-schema. Een response-schema kan worden toegevoegd wanneer het script gestructureerde output retourneert, met behulp van de responseBody-parameter. Alleen actieve scripts worden ingezet als MCP-tools.  

Workflow-tools

Workflow-tools bieden teams een meer grafische manier om bedrijfsprocessen beschikbaar te maken voor agents. Dit is nuttig in Maximo-situaties waarin belangrijke acties al zijn gemodelleerd als workflows in plaats van als code.

De ondersteuning geldt alleen voor niet-interactieve workflows. Dat betekent workflows die bestaan uit nodes, condition-nodes en acties. Workflows die afhankelijk zijn van pop-upvensters of interactieve vragen maken geen deel uit van deze eerste versie.

Het request-schema is eenvoudig: een href-element dat het record identificeert waarop de workflow moet worden uitgevoerd. Net als bij scripts en OS-tools kan dat record afkomstig zijn van een eerdere query van de assistent.

Actieve en ingeschakelde workflows kunnen worden ingezet als MCP-tools, en hun beschrijvingen worden onderdeel van de manier waarop de agent begrijpt wanneer hij ze moet gebruiken.

API Route-tools

Het laatste type tool is de API route-tool. Dit zijn door IBM geleverde tools, meestal voor beheer- of systeemtaken in plaats van voor door de klant gedefinieerde bedrijfslogica.

Een voorbeeld is de API schema-tool. Toekomstige tools van dit type kunnen door IBM worden ontwikkeld als systeemtools, zoals een agent die vragen kan beantwoorden over geïnstalleerde producten, add-ons, brancheoplossingen, talen of upgrade-informatie.

Deze categorie heeft geen UI die klanten kunnen configureren. Klanten en partners beschikken al over scripting-, workflow- en objectstructuur-tools voor hun eigen uitbreidingen. API route-tools kunnen het beste worden gezien als door IBM geleverde bouwstenen voor functionaliteiten die op de achtergrond draaien.

Een vereiste voor elk type tool

Bij elk type tool zien we hetzelfde patroon: de beschrijving van de tool is de handleiding die de agent leest.

Dat klinkt eenvoudig, maar het is waarschijnlijk het punt waarop veel implementaties slagen of falen. Een agent heeft niet alleen een endpoint nodig. Hij moet weten waar de tool voor dient, wanneer hij deze moet gebruiken, welke informatie vereist is en welke variaties worden ondersteund.

Het is de moeite waard om zorgvuldig met annotaties om te gaan. Beheerders kunnen een tool markeren als alleen-lezen of destructief, en de agent kan die informatie gebruiken voordat hij beslist wat de volgende stap is. Als een tool alleen gegevens ophaalt, kan de agent dit als een laag risico beschouwen. Als de tool een record wijzigt, een workflow start of een script uitvoert, heeft de agent een goede reden om even te pauzeren en om bevestiging te vragen. De annotatie zal niet elke externe agent aansturen, maar het geeft goed ontworpen agents een duidelijke waarschuwing voordat ze actie ondernemen.

Dit is waar ervaring met Maximo nog steeds telt. De beste MCP-toolcatalogi ontstaan niet door alles zomaar open te stellen. Ze ontstaan door de juiste operaties te kiezen, ze te voorzien van strakke schema's en beschrijvingen te schrijven die klinken als instructies van iemand die het proces begrijpt.

Waarom dit nuttig is voor Maximo-klanten

De MCP-server in MAS 9.2 draait niet alleen om het toevoegen van AI aan Maximo. Het gaat erom AI-agents een gecontroleerd bedrijfsmodel binnen Maximo te bieden.

Zonder MCP moet een klant die een agent aan Maximo wil koppelen, zelf bepalen hoeveel van het API-oppervlak wordt blootgesteld, hoe elke actie wordt beschreven, hoe authenticatie wordt afgehandeld, hoe tooldefinities actueel blijven en hoe wordt voorkomen dat de agent onbedoeld verkeerde operaties uitvoert. MCP geeft die vraagstukken een meer gestandaardiseerde vorm.

Voor teams die al AI-configuraties gebruiken, kan het pad naar tool-expositie automatisch verlopen zodra de configuratie actief en ondersteund is. Voor teams met volwassen Maximo-aanpassingen kunnen scripts en workflows worden omgezet in tools die door agents kunnen worden aangeroepen, zonder dat vertrouwde uitbreidingspatronen hoeven te worden losgelaten. Voor teams die hun eigen agents bouwen, maken de externe route en het authenticatiemodel via API-sleutels of JWT het eenvoudiger om Maximo op te nemen in een bredere AI-architectuur.

Het resultaat is een praktische brug tussen de bestaande bedrijfslogica van Maximo en de nieuwe agent-laag. Dit maakt governance niet minder belangrijk; sterker nog, het maakt goede governance juist zichtbaarder. Toolbeschrijvingen, schema's, machtigingen en annotaties worden onderdeel van de manier waarop de agent zijn werk plant.

Dat is de juiste richting. Enterprise-agents hebben meer nodig dan alleen antwoorden. Ze hebben begrensde acties, duidelijke contracten en toegang nodig die het systeem van record respecteert. De MCP-server van MAS 9.2 biedt Maximo-teams een solide basis voor dat soort agent-gestuurd werk.

MORE Community Logo
Live from the MORE community

Your Maximo questions probably already have answers

See what Maximo users are asking, answering, and solving right now.

Unlock the Ultimate Guide to IBM Maximo Application Suite (MAS)

Discover everything you need to know to modernize your asset management strategy.

Inside, you’ll learn:

  • What’s new in IBM Maximo Application Suite 9.0
  • Key differences between Maximo 7.6 and MAS
  • How AppPoints and OpenShift change the game
  • Industry use cases across energy, manufacturing, and transportation
  • Step-by-step guidance for upgrading and migration readiness
Cover of 'The Ultimate Guide to MAS Maximo Application Suite' by Naviam featuring a man in a yellow construction helmet and safety vest holding a tablet.
×

ActiveG, BPD Zenith, EAM Swiss, InterPro Solutions, Lexco, Peacock Engineering, Projetech, Sharptree, and ZNAPZ have united under one brand: Naviam.

You’ll be redirected to the most relevant page at Naviam.io in a few seconds — or you can go now.

Read Press Release