Respijtperiode en mislukte licentiechecks
De respijtperiode van de licentie houdt mcp-core draaiend als het AddoCore niet kan bereiken. Mislukt een licentiecheck door een netwerkfout, een time-out of een serverfout, dan blijven je tools 96 uur werken, bovenop het gewone checkinterval van 72 uur. Een echte afwijzing door AddoCore is iets anders: die blokkeert tools direct.
Hoe werkt de licentiecheck?
mcp-core controleert zijn licentie één keer bij het opstarten en daarna elke 72 uur. Dat interval is een harde ondergrens: de server controleert uit zichzelf nooit vaker. Elke check is een ondertekend POST-verzoek naar de LICENSE_ENDPOINT uit je .env, geauthenticeerd met je LICENSE_KEY.
Vanaf versie 1.2.0 accepteert mcp-core alleen een antwoord dat AddoCore heeft ondertekend. Het controleert de handtekening met een sleutel die in de image zit, en controleert dat het antwoord bij dit verzoek en deze licentie hoort en minder dan 5 minuten oud is. Een antwoord van een ander adres telt niet, dus LICENSE_ENDPOINT moet het adres uit je AddoCore-account blijven.
Een geslaagd antwoord wordt samen met het tijdstip van de check weggeschreven naar ./state/.license-cache.json. Een mislukte poging overschrijft dat bestand nooit. De server werkt verder op basis van het laatste goede antwoord, en de respijtperiode wordt vanaf dat moment gerekend.
Vanaf versie 1.2.0 bevat de cache het antwoord precies zoals AddoCore het ondertekende. mcp-core controleert die handtekening elke keer dat het het bestand leest, dus een met de hand aangepaste cache telt als geen licentie, en de respijtperiode wordt gerekend vanaf het tijdstip in het ondertekende antwoord. Seat-tokens staan niet meer in het bestand, alleen een hash per token. Werk je bij vanaf 1.1.x, dan verwijdert mcp-core bij de eerste start de oude cache en haalt het meteen een ondertekende op. Mislukt die eerste check, dan probeert het elke 15 minuten opnieuw.
Hoe lang duurt de respijtperiode van de licentie?
De respijtperiode duurt standaard 96 uur. AddoCore stuurt de waarde bij elke geslaagde check mee als grace_period_hours, dus het getal dat je server gebruikt komt altijd van de licentieserver, niet uit je .env.
De klok loopt vanaf de laatste geslaagde check:
- 0 tot 72 uur: de licentie is geldig.
- 72 tot 168 uur: de check is te laat en de licentie zit in de respijtperiode. Alle tools blijven werken.
- na 168 uur: de licentie geldt als verlopen en toolaanroepen worden geweigerd.
Een mislukte check wordt niet eerder opnieuw geprobeerd. De volgende poging volgt het normale schema van 72 uur. In de praktijk: mislukt een check op uur 72, dan volgt de volgende op uur 144, nog binnen het venster. Los het netwerkprobleem op en draai een handmatige refresh in plaats van te wachten.
Welke licentiestatussen gebruikt mcp-core?
mcp-core werkt met vijf licentiestatussen. Je ziet de status in de tool mcp_status en in het endpoint /health:
- unlicensed: er is nog nooit een check geslaagd. Melding: “No valid license found yet. Check LICENSE_KEY and LICENSE_ENDPOINT, or wait for the first license check to complete (this happens automatically at startup).”
- invalid: AddoCore heeft geantwoord en nee gezegd. Tools worden direct geblokkeerd, zonder respijtperiode.
- valid: de laatste geslaagde check is minder dan 72 uur oud.
- grace: de check is te laat. Melding: “License check overdue (last successful check: …). Still working within the 96h grace period.”
- expired: het respijtvenster is voorbij. Melding: “License check failed for longer than the grace period allows (last successful check: …). Tools are disabled until the license server is reachable again — check your network/firewall, or contact support if this persists.”
Wat gebeurt er met tools na afloop van de respijtperiode?
Na de respijtperiode blijven de tools zichtbaar in Claude, maar elke aanroep geeft een foutmelding met de tekst hierboven. Dat is bewust: een tool die stilletjes verdwijnt, vertelt je niets; een geweigerde aanroep vertelt je wat je moet oplossen.
De ingebouwde tool mcp_status blijft in elke status werken, dus je kunt Claude altijd vragen waarom een tool faalt. De eerste geslaagde check nadat het probleem is opgelost, herstelt alles. Geen herstart en geen herinstallatie.
Waarom slaat een afgewezen licentie de respijtperiode over?
De respijtperiode bestaat voor “de server was onbereikbaar”, niet voor “de server antwoordde en zei nee”. AddoCore stuurt alleen valid: false bij een echte afwijzing:
- de licentiesleutel is onbekend of ingetrokken
- de licentie is opgeschort, bijvoorbeeld na een onbetaalde verlenging
- de licentie heeft het maximale aantal actieve installaties bereikt
Die blokkeren toolaanroepen direct. Tijdelijke problemen aan de kant van AddoCore geven in plaats daarvan een HTTP 5xx-status, die je server als mislukte check behandelt, dus dan geldt de respijtperiode. Hetzelfde geldt voor een 401-handtekeningfout en een 429-rate-limitantwoord: geen van beide overschrijft de cache. De codes staan bij MCP-foutcodes.
Hoe vind je de oorzaak van een mislukte check?
Doorloop deze stappen op de server:
- Vraag Claude om
mcp_statusuit te voeren en noteer de licentiestatus en de datum van de laatste geslaagde check. - Draai
docker logs mcp-coreen zoek een regel die begint metCheck failed. Die toont een HTTP-status of(network error)met de reden. - Bij een netwerkfout: controleer of de server uitgaande HTTPS-verzoeken naar addocore.com kan doen. Een firewall- of proxyregel is de gebruikelijke oorzaak.
- Bij een 401: controleer of
LICENSE_KEYin.envongewijzigd is en of de serverklok klopt. - Meldt de log
LICENSE_ENDPOINT or LICENSE_KEY not set, dan is de.envonvolledig. - Meldt de log
Check answer rejected(1.2.0 en nieuwer), dan kwam het antwoord niet van AddoCore of hoort het niet bij dit verzoek:LICENSE_ENDPOINTwijst naar een ander adres, een proxy heeft het antwoord aangepast, of de serverklok wijkt meer dan 5 minuten af. ZetLICENSE_ENDPOINTterug op het adres uit je AddoCore-account en controleer de klok. Tot die tijd werkt de server door op de laatste ondertekende check.
Forceer daarna een nieuwe check:
docker exec mcp-core npm run refresh-license
De log toont Check OK valid=true status=active als het werkt.
Kun je een e-mail krijgen als een check mislukt?
Ja, bij afwijzingen. Zet onder Mijn account → Opties “Email me when a license check fails” aan. Die staat standaard uit. AddoCore stuurt de mail als een check de server bereikt en geweigerd wordt: ingetrokken, opgeschort of boven de activatielimiet. Een netwerkstoring aan jouw kant bereikt AddoCore nooit, dus dan komt er geen mail; dat zie je in de tool mcp_status en in de logs.
Een activatie vrijgeven of een licentie verlengen lees je bij MCP-licentiebeheer en MCP-licentie verlengen.
De respijtperiode geeft je ongeveer een week vanaf de laatste goede check om de verbinding te herstellen. Kijk eerst naar mcp_status zodra een tool een licentieprobleem meldt, en lees daarna Entitlements vs. toolmodi om te zien waarom een tool helemaal ontbreekt.
Klaar om het te proberen?