Skip to main content
Glama
VanessaLops

anime-connect-mcp-bot

by VanessaLops

anime-connect-mcp-bot

MCP-Server, der den Chat der App Anime Connect überwacht und die Daten (Nachrichten, Alerts) als Tools für einen KI-Assistenten (Claude) zum Abfragen bereitstellt.

Schichten

  • src/ingestion — erfasst Nachrichten aus der Chat-Quelle. FirebaseChatSource liest die Gruppen mit has_bot: true aus der Realtime Database; MockChatSource dient nur für Dev/Test.

  • src/domain — Entitäten (ChatMessage, Alert), reine Regeln (Schlüsselwort-Erkennung) und botSettings.ts (Anpassung pro Gruppe, siehe unten).

  • src/actuation — schreibt in den Chat zurück (FirebaseActuator) oder protokolliert nur (DryRunActuator).

  • src/agent — Chat-Befehle (!ping, !help, !ban) und Berechtigungen nach Rolle.

  • src/storage — Persistenz in SQLite (MessageRepository).

  • src/mcp — MCP-Server mit den Tools get_recent_messages, search_messages, get_recent_alerts.

  • src/config — Umgebungsvariablen (DB_PATH, POLL_INTERVAL_MS, DRY_RUN).

Related MCP server: mcp-server-agent-comm

Anpassung pro Gruppe (bot_settings)

Der Besitzer jeder Gruppe bearbeitet den Bot über die App Anime Connect selbst (Konfigurationsbildschirm des Bots), was in groups/{id}/bot_settings in der Realtime Database gespeichert wird:

  • Identität: name und avatar_color — der Bot-Benutzer dieser Gruppe wird mit diesen Werten erstellt/aktualisiert (FirebaseActuator, das Feld bot_group_id verknüpft den Benutzer mit der Gruppe).

  • Echte Aktivierung: active — solange false, protokolliert der Bot nur, was er in dieser Gruppe tun würde, selbst mit DRY_RUN=false in der .env (die weiterhin der Hauptschalter des Prozesses bleibt).

  • Befehle: commands.ping/help/ban.enabled aktiviert/deaktiviert jeden einzelnen; commands.ping.message ist die angepasste Antwort auf !ping.

  • Moderation: keyword_alerts und badwords, durch Kommas getrennte Zeichenfolgen, ersetzen die globalen KEYWORD_ALERTS/BADWORDS aus der .env für diese Gruppe.

Eine Gruppe ohne gespeichertes bot_settings verwendet die Standardwerte aus src/domain/botSettings.ts (DEFAULT_BOT_SETTINGS), mit active: false aus Sicherheitsgründen.

Ausführen

npm install
npm run dev     # modo desenvolvimento (tsx watch)
npm run build && npm start   # build + produção

Nächster Schritt

MockChatSource durch eine echte Implementierung ersetzen, die mit der App Anime Connect kommuniziert (REST-API, Webhook oder direktes Lesen aus der Datenbank, je nachdem, wie der Chat der App verfügbar gemacht wird).

Related MCP Connectors

Related MCP Servers