
OpenVerein
io.github.KI-Klub-Werder-e-V由 GitHub 账号 KI-Klub-Werder-e-V 发布v0.1.1更新于 Nov 4, 2026
Club management for German e.V. clubs: members, fees, invoices, events and member portal.
概览
OpenVerein 的远程 MCP 服务器,面向德国注册协会(e.V.)的自托管会务管理软件,让助手读取并操作会员、会费、发票、活动和会员门户。
- 可以做什么
- 会员:查看和管理会员、分组、家庭、自定义字段与名单
- 财务:处理会费、报价、发票、催款信、SEPA 直接借记和银行对账导入
- 账务:处理簿记、凭证、捐赠及税务相关导出
- 协会生活:管理带报名和候补名单的活动,以及邮件、文档、物资、问卷和任务
- 门户与平台:操作会员自助数据、角色、API 令牌和 Webhook
- 访问范围限于登录用户在会务管理或会员门户中可见和可执行的操作
- 适用场景
- 适合已经运行 OpenVerein 的德国注册协会,让助手回答诸如哪些发票未付、谁报名了某场活动等问题,或通过协会自己的实例完成日常管理工作。
- 运行要求
- 需要一个在协会自有地址上运行并可访问的 OpenVerein 实例,MCP 端点位于该地址下。客户端需填写协会地址,并通过浏览器 OAuth 登录:会员使用门户中的邮件验证码,管理员使用常规登录加第二因素。令牌不会写入任何文件。
安装
在 SourceWeft 中
- 打开 控制台中的 OpenVerein,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
其他 MCP 客户端
参照 仓库 中的启动说明。
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.
来源:README.md,提交 588923f
工具
0版本历史
2- v0.1.1最新Nov 4, 2026
- v0.1.0Nov 3, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通必需25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式必需10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分