Toegang
MCP en Claude
De MCP-server geeft een assistent de API als tools: dezelfde endpoints, dezelfde rechten, dezelfde limieten en dezelfde bronvermelding. Stateless, Streamable HTTP, JSON-RPC per verzoek.
Het adres
De server staat op https://partyppl.nl/mcp. Hij spreekt de protocolversies 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05. Inloggen gaat met OAuth; een ppl_live_-token als bearer werkt ook, voor een client die geen OAuth kan.
Koppelen met Claude
- In claude.ai of Claude Desktop: Customize, Connectors, Add custom connector.
- URL:
https://partyppl.nl/mcp. Client ID en secret laat je leeg; Claude registreert zich zelf. - Add, dan Connect. Je komt op partyppl.nl: log in, kies namens wie (Alleen lezen, of een van je organisaties) en kies Toestaan.
- In een gesprek zet je PartyPPL aan via + en Connectors.
In Claude Code voeg je de server toe met claude mcp add --transport http partyppl https://partyppl.nl/mcp en log je in met /mcp. De koppeling staat daarna bij Gekoppelde apps in je instellingen op partyppl.nl, waar je hem ook intrekt.
De tools
Elk endpoint van de API is ook een tool, met de operationId als naam, behalve wat hieronder bewust ontbreekt. Een token ziet alleen de tools waarvoor het de rechten heeft. Met Alleen lezen zijn dat er 17:
Wel een endpoint, geen tool
Een assistent kan een tool uit zichzelf aanroepen, op grond van iets wat hij ergens las. Deze endpoints zijn daarom geen tool, met de reden die de server er zelf bij geeft:
| Endpoint | Waarom geen tool |
|---|---|
scanTicket | Scanning marks a ticket used, which is irreversible at the door, and the answer carries the name of the visitor holding it. Use POST /v1/scan from your own scanner, or the door page in the organiser portal. |
getOpenApi | The specification describes the tools you already have. Read it at /v1/openapi.json if you are building a client. |
deliverExternalTickets | A ticket list is personal data of visitors (addresses and names), and nothing about individual visitors goes through a tool. Send the export from the organiser portal (Tickets koppelen) or POST /v1/events/:id/external-tickets from your own shop integration. |
getExternalTickets | The counts behind a delivered ticket list are read in the organiser portal or with GET /v1/events/:id/external-tickets; the list itself is about individual visitors and stays out of the tools. |
De Claude-plugin
Er is een Claude-plugin, PartyPPL agenda-team, met werkinstructies voor het aanvullen van de agenda: genres, line-ups, tickets, muntprijzen, posters en artiestprofielen. Hij gebruikt de beheertools van deze server en is daarom alleen bruikbaar voor het PartyPPL-team, met het recht admin. Voor alle anderen is de connector hierboven de manier om PartyPPL in Claude te gebruiken.
Ook met admin zijn er dingen die bewust geen tool zijn:
- Iets definitief verwijderen
- Berichten, accounts en events kun je in de admin weghalen en dat is onomkeerbaar. Een bericht terugzetten naar concept, een event afwijzen en het weer in de wachtrij zetten kan allemaal terug, dus dat zit er wel in en verwijderen niet. Twee locaties samenvoegen (mergeVenues) haalt de tweede rij weg, maar niets wat iemand mist: alles gaat naar de zaal die blijft, en de oude naam en het oude adres wijzen daar voortaan naartoe.
- Iemand schorsen of verbannen
- Een oordeel over een mens, met zijn account en zijn tickets eraan vast. Dat hoort bij iemand aan wie je kunt vragen waarom, op /admin/meldingen.
- Alles wat met geld te maken heeft
- Uitbetalingen, terugbetalingen, Stripe en de fees. Een verkeerde beslissing haalt echt geld van iemands rekening, en het antwoord zou order- en uitbetalingsgegevens meedragen die een connector niet hoort te hebben.
- Uitgelicht-slots die verkocht zijn
- Een geboekt slot is een betaalde afspraak met een organisator. Het aanpassen is veranderen wat iemand gekocht heeft. Lege slots en redactie-picks blijven op /admin/uitgelicht.
- Tickets scannen
- Een ticket op gebruikt zetten kan aan de deur niet terug, en het antwoord bevat de naam van de bezoeker. Om dezelfde reden is het voor organisatoren ook geen tool.
Bijgewerkt