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.

已驗證Streamable HTTP可網頁執行效率與工作流金融商業與電商

概覽

AI 產生的概覽

OpenVerein 的遠端 MCP 伺服器,對應德國註冊協會(e.V.)的自架會務管理軟體,讓助理讀取並操作會員、會費、發票、活動與會員入口網站。

可以做什麼
  • 會員:檢視與管理會員、群組、家戶、自訂欄位與名單
  • 財務:處理會費、報價、發票、催繳信、SEPA 直接扣款與銀行對帳匯入
  • 帳務:處理記帳、憑證、捐款與稅務相關匯出
  • 協會運作:管理含報名與候補名單的活動,以及郵件、文件、財產、問卷與任務
  • 入口網站與平台:操作會員自助資料、角色、API 權杖與 Webhook
  • 存取範圍僅限登入使用者在會務管理或會員入口網站中可見與可執行的操作
適用情境
適合已在運行 OpenVerein 的德國註冊協會,讓助理回答哪些發票尚未付款、誰報名了某場活動等問題,或透過協會自己的實例執行日常管理工作。
執行需求
需要一個在協會自有網址上運行且可連線的 OpenVerein 實例,MCP 端點位於該網址下。用戶端需填寫協會網址,並透過瀏覽器 OAuth 登入:會員使用入口網站的電子郵件驗證碼,管理員使用一般登入加上第二因素。權杖不會寫入任何檔案。
安裝前請注意
可授予助理唯讀或讀寫權限;讀寫權限允許其變更協會資料,請審慎選擇範圍,並可在「設定 → 代理」中撤銷。相關操作可能寄送郵件、開立發票與直接扣款,並涉及財務紀錄。只連線到你預期的協會網址,並留意專案仍處於早期開發階段。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 OpenVerein,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

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

BereichHighlights
MitgliederGruppenmitgliedschaften mit Datum, Haushalte mit Zahler und Familienrabatt, eigene Felder, Dubletten, gespeicherte Ansichten, Massenaktionen, altersabhängiger Gruppenwechsel, Bestandserhebung für den Landessportbund, Ehrungsregister und Glückwunschmails, Kontaktprotokoll, Hinweise zur Datenqualität, Arbeitsstunden, Mitgliedsbescheinigungen, Listen als PDF und vCard
GeldBeiträge mit Gültigkeitsdatum und Altersstaffeln, verpflichtende Vorschau vor jedem Beitragslauf und optional eine automatische Monatsvorschau, Angebote, die zu Rechnungen werden, Rechnungen mit Standardtexten und Netto- oder Bruttopreisen, Mahnwesen mit Briefen, SEPA-Lastschrift (Vorlage für den Verwendungszweck) und Überweisungen, CAMT-Import mit Zuordnung, XRechnung ausgehend und eingehend (ZUGFeRD/UBL/CII), Artikelkatalog, Briefe als ein Duplex-PDF
BücherEinnahmen-Überschuss-Rechnung (EÜR) auf einem ausgeglichenen Journal, an das nur angehängt wird (GoBD-Festschreibung, Stornos), Belege und Kassenbuch, Kontobewegungen sammeln und buchen, eigene Steuersätze, DATEV-Export, Kassenbericht als PDF, Soll-Ist-Vergleich, Ehrenamtspauschalen, Spenden und Zuwendungsbestätigungen nach BMF-Muster (Geld- und Sachspenden) per Mail oder Brief
VereinslebenTermine mit Zu- und Absagen, Warteliste und Anwesenheitslisten für Fördermittel, ICS-Feed und -Import, öffentliches Kalender-Widget, Mail mit Vorlagen und Versandprotokoll, Dokumente mit Ordnerrechten, Inventar und Verleih, Umfragen, Aufgaben, Mitgliederversammlungen und Vorstandssitzungen mit Protokoll
PortalSelbstbedienung für Mitglieder: Datenänderungen, Rechnungen mit GiroCode, Dokumente, Umfragen, Auslagenerstattung, Haushaltsvertretung für den Zahler, Funktionen pro Verein und Gruppe schaltbar
PlattformRollen mit Spartenbezug und Feldbeschränkungen, TOTP für die Finanzen, API-Tokens und OpenAPI, signierte Webhooks, Hintergrundjobs, Komplettexport, DSGVO-Werkzeuge, ovctl für Installation, Backup, Wiederherstellung und Update

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:

sh
npm run seed:demo    # lädt den „SV Lindenhof 1921 e.V.“ mit 150 erfundenen Mitgliedern in eine leere Instanznpm run dev

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:

sh
DEMO_MODE=true docker compose --profile app up --build

Lokal starten

Voraussetzungen: Node 24, Docker.

sh
cp .env.example .envnpm installnpm run dev

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

sh
docker compose --profile app up --build

Dann http://localhost:3300 öffnen.

Für den Verein

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.

  1. Installiere das Plugin in Claude Code:

    /plugin marketplace add KI-Klub-Werder-e-V/openverein/plugin install openverein@openverein

    Ab Claude Code 2.1.275 geht das auch in einem Schritt: /plugin install openverein --marketplace KI-Klub-Werder-e-V/openverein.

  2. Gib die Adresse Deines Vereins ein, wenn Du danach gefragt wirst, zum Beispiel https://verein.example.org. Für die öffentliche Demo gibst Du https://openverein.ki-klub-werder.de ein. 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.

  3. Anmelden: Führe /mcp aus, wähle openverein und 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.

  4. 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

sh
npm run typecheck && npm run lintnpm test            # Unit- und Integrationstests (braucht den Postgres-Container)npm run test:e2e    # End-to-End-Tests mit Playwrightnpm run validate:xrechnung  # Beispiel-E-Rechnungen durch den offiziellen KoSIT-Validator (braucht Java 17+ oder Docker)

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 in openspec/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.md kleinere Entscheidungen.
  • PRODUCT.md und DESIGN.md beschreiben 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
SourceWeft 尚未讀取此伺服器的工具。

版本歷史

2
  1. v0.1.1最新Nov 4, 2026
  2. v0.1.0Nov 3, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式必需10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分