npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@ribba/theorie-mcp

v0.1.0

Published

MCP-server met de volledige theorie voor het autorijbewijs B: hoofdstukken, verkeersborden, begrippen, wetsartikelen en oefenvragen.

Readme

theorie-mcp

Een MCP-server met de volledige theorie voor het autorijbewijs B in Nederland: elf hoofdstukken met 134 paragrafen, alle 175 verkeersborden uit bijlage 1 van het RVV 1990, 182 begrippen en de wetsartikelen waar elke regel op rust. Gratis, zonder account en zonder sleutel.

De inhoud zit in het pakket. De server werkt dus zonder netwerk en zonder database.

Gemaakt en onderhouden door Ribba, de vergelijker voor rijscholen en gratis theorie in Nederland.

Installeren

Er is geen account en geen sleutel nodig. Elke client hieronder start de server zelf met npx, dus je hoeft niets vooraf te installeren behalve Node 20 of nieuwer.

Claude Code

claude mcp add --scope user theorie -- npx -y @ribba/theorie-mcp

--scope user schrijft hem naar ~/.claude.json, waarmee hij in al je projecten werkt en ook beschikbaar is in het Code-tabblad van de desktop-app. Laat je --scope weg, dan geldt hij alleen in de map waar je op dat moment staat. Wil je hem juist met je team delen, gebruik dan --scope project: die schrijft naar .mcp.json in de repo, en dat bestand hoort in versiebeheer.

Codex

codex mcp add theorie -- npx -y @ribba/theorie-mcp

Of met de hand in ~/.codex/config.toml:

[mcp_servers.theorie]
command = "npx"
args = ["-y", "@ribba/theorie-mcp"]

De Codex-CLI, de IDE-extensie en de ChatGPT-desktopapp lezen alle drie datzelfde bestand, dus één keer instellen is genoeg. Zet je het in .codex/config.toml binnen een project, dan geldt het alleen daar.

Claude Desktop

De chat-app deelt zijn instellingen niet met Claude Code en heeft een eigen bestand:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "theorie": {
      "command": "npx",
      "args": ["-y", "@ribba/theorie-mcp"]
    }
  }
}

Herstart de app daarna. Heb je hem daar al staan en wil je hem ook in Claude Code, dan neemt claude mcp add-from-claude-desktop hem over.

Cursor, Windsurf en andere clients

Dezelfde JSON als hierboven, in het configuratiebestand van je client.

Werkt het?

Vraag je client:

Wat betekent verkeersbord B6?

Komt er een antwoord met de betekenis en het wetsartikel erbij, dan staat de server. Zo niet:

  • De server staat er niet bij. De meeste clients lezen hun instellingen alleen bij het opstarten. Sluit hem helemaal af en start opnieuw.
  • npx: command not found of een foutmelding over de Node-versie. Je hebt Node 20 of nieuwer nodig. Controleer met node --version; installeren kan via nodejs.org.
  • De eerste keer duurt even. npx haalt het pakket dan nog op, en daar zit de hele theorie in. Daarna start hij meteen, ook zonder internet.
  • Nog steeds niets? Start de server met de hand en kijk wat hij zegt: npx -y @ribba/theorie-mcp. Hij wacht dan op invoer, wat betekent dat hij werkt; foutmeldingen komen erbij te staan.

Kom je er niet uit, open een issue of mail [email protected].

Wat je kunt vragen

  • Wat betekent bord B6, en waar wordt het het vaakst mee verward?
  • Wie heeft er voorrang op een rotonde?
  • Leg de regels voor stilstaan en parkeren uit, met de wetsartikelen erbij.
  • Overhoor me over verkeerstekens en aanwijzingen, zonder de antwoorden te laten zien.
  • Wat staat er letterlijk in artikel 15 van het RVV?
  • Wat is het verschil tussen een voorrangsweg en een gelijkwaardig kruispunt?

Gereedschappen

| Naam | Wat het teruggeeft | | --- | --- | | zoek | Zoekt door hoofdstukken, borden, begrippen en oefenvragen tegelijk. Begin hier als je niet weet waar iets staat. | | hoofdstukken | De elf hoofdstukken met samenvatting, niveau en bijbehorende borden. | | hoofdstuk | De volledige tekst van één hoofdstuk, per paragraaf met de wetsartikelen erbij. | | verkeersborden | Alle borden uit bijlage 1, te filteren op groep. | | verkeersbord | Eén bord: betekenis, wat je doet, veelgemaakte fouten, plaatsingsvoorschrift en artikelen. | | begrippen | De begrippenlijst, doorzoekbaar, met de officiële CBR-woordenlijst apart te filteren. | | begrip | Eén begrip in het volle: uitleg, regels, valkuilen en waar het mee verward wordt. | | wetsartikel | De letterlijke tekst van een artikel, met verwijzing naar wetten.overheid.nl. | | oefenvragen | Oefenvragen met antwoord en uitleg, of zonder antwoord om te overhoren. |

De wet zit erbij

Bij 111 van de 134 paragrafen staat het wetsartikel waar de regel op rust, en de server geeft de letterlijke wettekst mee. Dat is het verschil tussen "je moet rechts houden" en artikel 3 van het RVV 1990, met een verwijzing naar wetten.overheid.nl waar het staat.

Dat is niet alleen netjes. Verkeersregels veranderen, en een theorieantwoord zonder bron is niet na te kijken. Zes regelingen zitten erin, met samen ruim tweeduizend artikelen: het RVV 1990, de Wegenverkeerswet 1994, de Regeling voertuigen, het BABW, het Reglement rijbewijzen en de Regeling eisen theorie-examen rijbewijscategorie B.

Wat dit niet is

Dit is lesstof, geen CBR-examen. De oefenvragen zijn door Ribba geschreven en zijn geen examenvragen van het CBR. Ze zijn er om te toetsen of de stof zit, niet om een examen na te bootsen.

De afbeeldingen van de verkeersborden zijn de officiële borden uit bijlage 1 van het RVV 1990, overgenomen van wetten.overheid.nl. Elk bord in de uitvoer heeft een afbeelding-veld dat naar die afbeelding wijst. Op wetten, besluiten en verordeningen van de openbare macht rust geen auteursrecht (Auteurswet artikel 11).

De inhoud

De theorie in data/ is een momentopname en gaat mee in het pakket. Verandert er iets aan de cursus, dan verschijnt dat in een nieuwe versie van deze server. package.json vertelt welke je hebt; de laatste staat op npm.

Wijkt iets af van wat er op ribba.nl staat, dan is die site de bron. Laat het weten via een issue of [email protected], dan zetten we het recht.

Testen

npm install
npm run build
npm test

De tests draaien tegen de meegeleverde inhoud, dus zonder netwerk. Naast de gereedschappen zelf controleren ze de samenhang: dat elk bord waar een hoofdstuk naar verwijst bestaat, en dat elke wetsverwijzing in de cursus een echte wettekst oplevert.

Zelf draaien

npm install
npm run build
node dist/index.js

De server praat JSON-RPC over stdin en stdout. Handmatig starten is vooral nuttig om de foutuitvoer te zien; normaal doet je MCP-client dit.

Deze theorie op het web

Alles wat deze server teruggeeft staat ook als gewone pagina op ribba.nl, met afbeeldingen, voorbeelden en oefenvragen erbij:

Wil je de theorie op je eigen site zetten? Dat mag, en het kan met een kant-en-klaar kader: zie gratis theorie aanbieden.

Elk bord, begrip en hoofdstuk in de uitvoer bevat een pagina-veld dat naar de bijbehorende pagina wijst.

Licentie

De code staat onder de MIT-licentie. De wetteksten en de bordafbeeldingen zijn overheidspublicaties zonder auteursrecht. De cursusteksten, de begrippenlijst en de oefenvragen zijn geschreven door Ribba en staan onder CC BY 4.0. Verwijs bij hergebruik naar https://ribba.nl.

Verwant

  • cbr-mcp voor de CBR-slagingspercentages per rijschool, examencentrum, stad en provincie.
  • rijschool-mcp voor de rijscholen zelf: adressen, prijzen, beoordelingen en dekkingsgebied.

Vragen of iets kapot? [email protected] of open een issue.