AI-koppeling (MCP)
Met het Model Context Protocol werkt een AI-assistent als Claude of ChatGPT met de gegevens van een vereniging. De gebruiker logt in bij Ledenboek en de assistent ziet daarna niet meer dan die gebruiker in de app ziet.
Het adres van de connector:
https://ledenboek.nl/mcpVerbinden in Claude
- Open in Claude de instellingen en ga naar Connectors.
- Kies Aangepaste connector toevoegen, geef hem de naam Ledenboek en vul het adres hierboven in.
- Klik op Verbinden. Je komt op het inlogscherm van Ledenboek.
- Log in, of maak een account aan, en kies voor welke vereniging de assistent mag werken.
Daarna stel je vragen in gewone taal, zoals "welke leden hebben hun contributie nog niet betaald?".
Verbinden in ChatGPT
- Zet in de instellingen van ChatGPT onder Apps en connectors de ontwikkelaarsmodus aan (bij de geavanceerde instellingen).
- Maak een nieuwe connector met het adres hierboven en kies OAuth als authenticatie.
- Log in bij Ledenboek en kies de vereniging.
De menu's van Claude en ChatGPT veranderen geregeld. Zie je een andere naam, zoek dan naar connectors of MCP in de instellingen.
Wat de assistent mag
- De assistent werkt met de rechten van de ingelogde gebruiker, binnen één vereniging. Een penningmeester ziet de financiën, een gewoon lid niet.
- Een tool voor een onderdeel dat de vereniging niet heeft aangezet, verschijnt niet.
- Tools die iets wijzigen zijn als zodanig gemarkeerd. Claude en ChatGPT vragen dan per aanroep om bevestiging.
- De gebruiker ziet de gekoppelde assistenten op zijn profiel in Ledenboek en kan ze daar intrekken.
OAuth
Voor wie zelf een MCP-client bouwt:
- Authorization code flow met PKCE (
S256verplicht). Tokens hebben de scopemcp. - Een client registreert zich zelf met
POST https://ledenboek.nl/oauth/register(dynamic client registration). - De metadata staan op
/.well-known/oauth-authorization-serveren/.well-known/oauth-protected-resource. - Een access token is een uur geldig; daarna ververs je hem met de refresh token. Een token hoort bij één gebruiker en één vereniging.
API of MCP?
MCP is voor een mens die samen met een assistent werkt. Voor een koppeling tussen twee systemen zonder iemand ertussen, zoals een website die nieuwe leden doorstuurt, gebruik je de API met een eigen sleutel.
Tools
Deze lijst komt rechtstreeks uit de code van de connector. De beschrijvingen zijn de teksten die de assistent zelf leest.
| Tool | Beschrijving |
|---|---|
abonnement_statusleest |
Abonnement bij Ledenboek Toont het abonnement van de vereniging bij Ledenboek: plan, status, proefperiode tot wanneer en hoeveel dagen nog, of er betaald moet worden om de toegang te houden, en de link naar de abonnementspagina. Deze tool betaalt niets; toon de link zodat de bestuurder daar zelf een plan kiest en afrekent. |
bestuur_overzichtleest |
Toont het huidige bestuur: wie welke rol heeft en sinds wanneer. |
commissie_overzichtleest |
Toont alle commissies en hun huidige leden. |
contributie_instellenwijzigt |
Contributie instellen Maakt een contributie (lidmaatschapsproduct) aan of wijzigt er een: naam, bedrag, termijn (annual, semi_annual, quarterly, monthly) en of het de standaardcontributie is. Met id of een bestaande naam wordt die contributie gewijzigd, anders komt er een nieuwe bij. Verwijderen kan hier niet. Leden koppelen en factureren gaat daarna in de app. |
declaratiesleest |
Toont declaraties met indiener, omschrijving, bedrag en status: ingediend (te beoordelen), goedgekeurd, uitbetaald of geweigerd. Met een telling en totaalbedrag per status. |
evenementen_overzichtleest |
Toont aankomende evenementen met datum, locatie en aantal inschrijvingen. |
financieel_overzichtleest |
Toont het financieel overzicht voor een jaar: inkomsten, uitgaven, resultaat, en maandoverzicht. |
groepen_overzichtleest |
Toont de groepen en lessen met dag, tijd, locatie en aantal leden. Met inclusief_leden of een groepsnaam ook de leden van de groep. |
inrichting_statusleest |
Inrichting: stand van zaken Laat zien hoe ver de vereniging is met inrichten en wat de logische volgende stap is: aantal leden, contributie ingesteld, betaalmethode (Mollie of incasso), leden aan een contributie gekoppeld, eerste factuur, aanmeldformulier, welke onderdelen aan staan en de proefperiode of het abonnement. Met per stap een link naar het scherm in de app. Gebruik dit als eerste bij het inrichten van een nieuwe vereniging. |
leden_statistiekenleest |
Toont ledenaantal per status, nieuwe leden dit jaar, en opzeggers dit jaar. |
leden_toevoegenwijzigt |
Leden toevoegen Voegt leden toe aan de vereniging, maximaal 200 per aanroep. Per lid: voornaam, achternaam (verplicht), email, telefoon, straat, huisnummer, postcode, plaats, land, geboortedatum en lid_sinds (JJJJ-MM-DD). Een lid met een e-mailadres dat al bij de vereniging bekend is wordt overgeslagen. De leden krijgen geen mail. Let op: de ledengegevens lopen hierbij via de AI-dienst. Voor een groot bestand of als de gegevens niet via de AI-dienst mogen, is het importscherm in Ledenboek de route (de link staat in het antwoord). Geeft terug hoeveel leden zijn toegevoegd en welke zijn overgeslagen, met reden. |
lid_detailsleest |
Haal alle details op van een specifiek lid: contactgegevens, adres, rollen, commissies, en betalingsstatus. |
nieuwsbrievenleest |
Toont nieuwsbrieven en mailings: onderwerp, doelgroep, status (concept, verzenden of verzonden), verzenddatum, aantal ontvangers en aantal verzonden. |
onderdelen_instellenwijzigt |
Onderdelen instellen Zet onderdelen van Ledenboek aan of uit, zoals onder Instellingen > Onderdelen. Beschikbare onderdelen: has_groepen, has_deelnemers, has_relaties, has_wachtlijsten, has_lidkaart, has_commissies, has_evenementen, has_ledenevenementen, has_agenda, has_voordelen, has_advertenties, has_contributies, has_kascommissie, has_grootboek, winkel_actief, has_tijdschrift, has_meldingen, has_stemmingen, has_eenheden, has_objecten, has_werkuren, has_fondsen, has_mjop, has_klussen, has_contracten, has_dossiers, has_documenten. Optioneel een sjabloon per soort vereniging (haven, volkstuin, harmonie, kynologie, manege, sportclub, vve): dat zet voorbeeldsoorten plekken, objecten en werkuren neer met de bijbehorende onderdelen; wat er al staat blijft staan. Zonder argumenten toont de tool welke onderdelen nu aan staan. Uitzetten verwijdert geen gegevens, het onderdeel verdwijnt alleen uit het menu. |
openstaande_facturenleest |
Toont een overzicht van openstaande facturen: aantal, totaalbedrag, en per lid. |
plekken_overzichtleest |
Toont de plekken (tuinen, ligplaatsen, stallen en andere eenheden) per soort: hoeveel vrij, verhuurd, verkocht of geboekt, en per plek de huurder of eigenaar en sinds wanneer. |
reserveringenleest |
Toont reserveringen van plekken en ruimtes in een periode: welke plek, wie, van wanneer tot wanneer, status, bedrag en of er betaald is. Standaard de komende 30 dagen. |
transactie_analyseleest |
Analyseer transacties per label/categorie: totaal, aantal, gemiddelde, maandoverzicht, en top tegenpartijen. Zonder label_naam: overzicht van alle labels. |
transactie_detailsleest |
Toont volledige details van een banktransactie: bedrag, omschrijving, tegenpartij, labels, opmerkingen, gekoppeld lid, factuur en sub-transacties. |
transactie_labelsleest |
Overzicht van alle transactielabels met categorie, kleur, budgetinfo en transactieaantallen. |
vereniging_infoleest |
Toont basisinformatie over de vereniging: naam, website, aantal leden, en beschikbare functies. |
vereniging_instellenwijzigt |
Vereniging instellen Wijzigt de basisgegevens van de vereniging: naam, beschrijving, website en de twee huisstijlkleuren (hexcode zoals #1E40AF). Geef alleen de velden mee die moeten veranderen. Sleutels, maildomein, betaalkoppelingen en land zijn hier niet te wijzigen; die staan op het instellingenscherm. |
wachtlijstenleest |
Toont de wachtlijsten met per lijst het aantal wachtenden en de volgorde: plek in de rij, naam, ingeschreven sinds, status en een eventueel aangeboden plek. |
werkurenleest |
Toont de werkuren per jaar (werkbeurten, tuindiensten, bardiensten): per verplichting het aantal verplichte uren, en per lid gemaakt en tekort. Optioneel alleen de leden die achterlopen. |
zoek_ledenleest |
Zoek leden op naam, email, of status. Geeft een lijst met naam, email, lidnummer, status en lid_sinds. |
zoek_transactiesleest |
Zoek en filter banktransacties op omschrijving, tegenpartij, type, label, periode, en meer. Geeft een lijst met datum, bedrag, omschrijving, tegenpartij en labels. |