AI connector (MCP)
With the Model Context Protocol, an AI assistant such as Claude or ChatGPT works with an association's data. The user signs in to Mitgliederbuch, and the assistant then sees no more than that user sees in the app.
The connector address:
https://mitgliederbuch.de/mcpConnect in Claude
- Open the settings in Claude and go to Connectors.
- Choose Add custom connector, name it Mitgliederbuch and enter the address above.
- Click Connect. You land on the Mitgliederbuch sign-in page.
- Sign in, or create an account, and choose which association the assistant may work for.
Then ask questions in plain language, such as "which members have not paid their dues yet?".
Connect in ChatGPT
- In the ChatGPT settings under Apps & Connectors, turn on developer mode (in the advanced settings).
- Create a new connector with the address above and choose OAuth as authentication.
- Sign in to Mitgliederbuch and choose the association.
The menus of Claude and ChatGPT change regularly. If you see a different name, look for connectors or MCP in the settings.
What the assistant may do
- The assistant works with the permissions of the signed-in user, within one association. A treasurer sees the finances, a regular member does not.
- A tool for a module the association has not enabled does not appear.
- Tools that change something are marked as such. Claude and ChatGPT then ask for confirmation on each call.
- The user sees connected assistants on their profile in Mitgliederbuch and can revoke them there.
OAuth
For anyone building their own MCP client:
- Authorization code flow with PKCE (
S256required). Tokens have the scopemcp. - A client registers itself with
POST https://mitgliederbuch.de/oauth/register(dynamic client registration). - The metadata is at
/.well-known/oauth-authorization-serverand/.well-known/oauth-protected-resource. - An access token is valid for one hour; then refresh it with the refresh token. A token belongs to one user and one association.
API or MCP?
MCP is for a person working together with an assistant. For an integration between two systems with nobody in between, such as a website that forwards new members, use the API with its own key.
Tools
This list comes straight from the connector's code. The descriptions are the texts the assistant itself reads.
The descriptions are in Dutch: that is how they are in the connector and how the assistant reads them.
| Tool | Description |
|---|---|
abonnement_statusreads |
Mitgliederbuch subscription Toont het abonnement van de vereniging bij Mitgliederbuch: 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_overzichtreads |
Toont het huidige bestuur: wie welke rol heeft en sinds wanneer. |
commissie_overzichtreads |
Toont alle commissies en hun huidige leden. |
contributie_instellenchanges |
Set up dues 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. |
declaratiesreads |
Toont declaraties met indiener, omschrijving, bedrag en status: ingediend (te beoordelen), goedgekeurd, uitbetaald of geweigerd. Met een telling en totaalbedrag per status. |
evenementen_overzichtreads |
Toont aankomende evenementen met datum, locatie en aantal inschrijvingen. |
financieel_overzichtreads |
Toont het financieel overzicht voor een jaar: inkomsten, uitgaven, resultaat, en maandoverzicht. |
groepen_overzichtreads |
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_statusreads |
Setup: current status 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_statistiekenreads |
Toont ledenaantal per status, nieuwe leden dit jaar, en opzeggers dit jaar. |
leden_toevoegenchanges |
Add members 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 Mitgliederbuch de route (de link staat in het antwoord). Geeft terug hoeveel leden zijn toegevoegd en welke zijn overgeslagen, met reden. |
lid_detailsreads |
Haal alle details op van een specifiek lid: contactgegevens, adres, rollen, commissies, en betalingsstatus. |
nieuwsbrievenreads |
Toont nieuwsbrieven en mailings: onderwerp, doelgroep, status (concept, verzenden of verzonden), verzenddatum, aantal ontvangers en aantal verzonden. |
onderdelen_instellenchanges |
Configure modules Zet onderdelen van Mitgliederbuch 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_facturenreads |
Toont een overzicht van openstaande facturen: aantal, totaalbedrag, en per lid. |
plekken_overzichtreads |
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. |
reserveringenreads |
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_analysereads |
Analyseer transacties per label/categorie: totaal, aantal, gemiddelde, maandoverzicht, en top tegenpartijen. Zonder label_naam: overzicht van alle labels. |
transactie_detailsreads |
Toont volledige details van een banktransactie: bedrag, omschrijving, tegenpartij, labels, opmerkingen, gekoppeld lid, factuur en sub-transacties. |
transactie_labelsreads |
Overzicht van alle transactielabels met categorie, kleur, budgetinfo en transactieaantallen. |
vereniging_inforeads |
Toont basisinformatie over de vereniging: naam, website, aantal leden, en beschikbare functies. |
vereniging_instellenchanges |
Configure association 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. |
wachtlijstenreads |
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. |
werkurenreads |
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_ledenreads |
Zoek leden op naam, email, of status. Geeft een lijst met naam, email, lidnummer, status en lid_sinds. |
zoek_transactiesreads |
Zoek en filter banktransacties op omschrijving, tegenpartij, type, label, periode, en meer. Geeft een lijst met datum, bedrag, omschrijving, tegenpartij en labels. |