
OpenVerein
io.github.KI-Klub-Werder-e-VPublished by GitHub account KI-Klub-Werder-e-Vv0.1.1Updated Nov 4, 2026
Club management for German e.V. clubs: members, fees, invoices, events and member portal.
Overview
Remote MCP server for OpenVerein, a self-hosted German e.V. club management app, letting an assistant read and act on members, fees, invoices, events and the…
- What you can do
- Members: view and manage members, groups, households, custom fields and lists
- Money: work with fees, quotes, invoices, dunning letters, SEPA direct debits and bank imports
- Books: handle bookkeeping, receipts, donations and tax-relevant exports
- Club life: manage events with sign-ups and waiting lists, mail, documents, inventory, polls and tasks
- Portal and platform: act on member self-service data, roles, API tokens and webhooks
- Access is scoped to what the signed-in user sees and may do in the club administration or member portal
- When to use it
- Useful for German registered associations (e.V.) that already run OpenVerein and want an assistant to answer questions such as which invoices are open or who signed up for a session, or to carry out routine administration tasks through the club's own instance.
- Requirements
- A running OpenVerein instance reachable at the club's own address, with the MCP endpoint under that address. The client is configured with the club URL and authenticates via OAuth in the browser: members use an email code in the portal, administrators use their normal login plus second factor. No token is stored in a file.
Installation
In SourceWeft
- Open OpenVerein in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Other MCP clients
Follow the launch instructions in the repository.
README
OpenVerein
Vereinsverwaltung für den eingetragenen Verein: offen, selbst gehostet, komplett exportierbar.
[CI] [Lizenz: AGPL-3.0] [Node 24] [Status: frühe Entwicklung]
Demo ausprobieren · Funktionen · Lokal starten · Mit Claude Code verbinden · Mitmachen
[OpenVerein in zwei Minuten erklärt]Klick aufs Bild für das Video in voller Auflösung. Die interaktive Fassung liegt in docs/media/erklaervideo/index.html.
Open-Source-Vereinsverwaltung für eingetragene Vereine (e.V.): Mitglieder, Gruppen, Beiträge und Rechnungen, SEPA-Lastschrift, Buchhaltung, Termine, Mail, Dokumente und ein Mitgliederportal. Du kannst alles selbst hosten, jeden Datensatz exportieren und jede Aktion auch über die REST-API ausführen.
Lizenz: AGPL-3.0. Status: frühe Entwicklung, Stück für Stück gebaut (siehe openspec/).
Warum OpenVerein?
- Deine Daten bleiben bei Dir. Selbst gehostet, vollständiger Export, keine Abo-Falle.
- Gemacht für deutsches Vereinsrecht. EÜR, GoBD, SEPA, XRechnung, Zuwendungsbestätigungen nach BMF-Muster, DATEV-Export.
- Alles per API. Die Oberfläche nutzt nur die öffentliche
/api/v1, mit OpenAPI-Dokumentation, Webhooks und MCP-Anbindung für KI-Agenten. - Frei. AGPL-3.0, offen entwickelt, Beiträge willkommen.
Inhalt
- Was OpenVerein kann
- Demo ausprobieren
- Lokal starten
- Für den Verein
- Mit Claude Code verbinden
- Auf einem Server betreiben
- Tests
- Wie das Projekt aufgebaut ist
- Mitmachen
Was OpenVerein kann
Demo ausprobieren
Ohne Installation: Die öffentliche Demo läuft unter https://openverein.ki-klub-werder.de. Sie wird regelmäßig zurückgesetzt, verschickt keine echten Mails und enthält nur erfundene Daten.
Lokal lädst Du den Demoverein so:
Melde Dich mit [email protected] / verein-demo-2026 an. npm run seed:demo -- --reset leert eine Demo-Instanz und lädt sie neu; eine Instanz mit einem echten Verein fasst der Befehl nicht an.
Mit DEMO_MODE=true lädt der Server die Demo selbst und setzt sie alle DEMO_RESET_HOURS (Standard 24) zurück. Er verschickt dann keine echten Mails, zeigt ein Demo-Banner, versieht jedes PDF mit einem Wasserzeichen und sperrt Konten, Rollen, API-Schlüssel, Uploads und Importe, damit eine öffentliche Demo für alle nutzbar bleibt. Vereinseinstellungen, Texte und Mitglieder können Besucher bis zum nächsten Zurücksetzen bearbeiten. Das Mitgliederportal zeigt den Anmeldecode auf dem Bildschirm, statt ihn zu mailen. Auf einer Instanz mit einem echten Verein startet ein Server mit DEMO_MODE=true nicht:
Lokal starten
Voraussetzungen: Node 24, Docker.
npm run dev startet Postgres und Mailpit in Docker, spielt die Migrationen ein und startet die API auf http://localhost:3300 und die Web-App auf http://localhost:5173. Beim ersten Aufruf richtest Du Deinen Verein ein. Mails, die die App verschickt, landen in Mailpit unter http://localhost:18025.
API-Referenz: http://localhost:3300/api/docs (OpenAPI-Dokument unter /api/v1/openapi.json).
Die ganze App in Docker
Dann http://localhost:3300 öffnen.
Für den Verein
- Handbuch für die Kasse: ein Vereinsjahr von den Beiträgen bis zur Steuerberatung.
- Handbuch für Vorstand und Verwaltung: Mitglieder, Aufnahme, Termine, Mail, Portal und Datenschutz.
- Verfahrensdokumentation (Vorlage): Vorlage für die GoBD-Verfahrensdokumentation zum Ausfüllen.
Mit Claude Code verbinden
Das Plugin verbindet Claude Code über den Remote-MCP-Server unter <club>/mcp mit einem Verein. Dein Agent sieht und tut genau das, was Du in der Vereinsverwaltung oder im Mitgliederportal siehst und tust, nicht mehr.
-
Installiere das Plugin in Claude Code:
Ab Claude Code 2.1.275 geht das auch in einem Schritt:
/plugin install openverein --marketplace KI-Klub-Werder-e-V/openverein. -
Gib die Adresse Deines Vereins ein, wenn Du danach gefragt wirst, zum Beispiel
https://verein.example.org. Für die öffentliche Demo gibst Duhttps://openverein.ki-klub-werder.deein. Später änderst Du die Adresse mit/plugin configure openverein@openverein; danach meldest Du Dich neu an. In der Shell gibst Du die Adresse direkt beim Installieren mit:claude plugin install openverein@openverein --config club_url=https://verein.example.org. -
Anmelden: Führe
/mcpaus, wähleopenvereinund authentifiziere Dich. Im Browser gilt:- Mitglieder melden sich mit ihrem E-Mail-Code im Portal an
- die Vereinsverwaltung meldet sich mit ihrem normalen Login und zweitem Faktor an
Prüfe vor der Anmeldung, dass der Browser die Adresse Deines Vereins zeigt. Wähle dann „nur lesen“ oder „lesen und schreiben“ und erlaube den Zugriff. Dabei landet kein Token in irgendeiner Datei.
-
Frag zum Beispiel: „Welche Rechnungen sind bei mir offen?“ oder „Wer hat sich für das Training am Dienstag angemeldet?“.
Die Aufrufe des Agenten siehst Du unter Einstellungen → Agenten (oder Portal → Agenten), dort kannst Du ihm den Zugriff auch wieder entziehen. Skripte und das Kommandozeilenwerkzeug ov nutzen statt OAuth ein Token von derselben Seite. claude.ai und ChatGPT verbinden sich als benutzerdefinierter Connector mit derselben Adresse <club>/mcp.
Auf einem Server betreiben
./ovctl install richtet Caddy (HTTPS), die App und Postgres mit Docker Compose ein; ./ovctl backup, restore, update und doctor halten alles am Laufen. Details in docs/operations.md.
Tests
Wie das Projekt aufgebaut ist
openspec/specs/ist die verbindliche Beschreibung des Verhaltens, eine Spezifikation pro Fähigkeit. Jedes Stück entsteht über einen OpenSpec-Change inopenspec/changes/und wird nach dem Merge archiviert.src/server/Fastify-API,src/web/React-App,src/shared/gemeinsame Schemas für beide,migrations/SQL-Migrationen, die nur vorwärts laufen.docs/adr/Architekturentscheidungen,docs/decisions.mdkleinere Entscheidungen.PRODUCT.mdundDESIGN.mdbeschreiben das Produkt und das Designsystem.android/,ios/,capacitor.config.ts,codemagic.yaml: mobile Apps, die den Web-Build einpacken, siehe docs/mobile.md.
Mitmachen
Beiträge sind willkommen, ob Fehlerbericht, Funktionswunsch, Doku oder Code.
- CONTRIBUTING.md: Einrichtung, Arbeitsweise mit OpenSpec, Regeln und PR-Checkliste.
- SECURITY.md: Sicherheitslücken bitte vertraulich melden, nicht als öffentliches Issue.
- CODE_OF_CONDUCT.md: unser Verhaltenskodex.
- Issues: Fehler melden oder Funktionen vorschlagen.
Source: README.md at commit 588923f
Tools
0Version history
2- v0.1.1LatestNov 4, 2026
- v0.1.0Nov 3, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declaredRequired10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts