Skip to main content
Glama
VanessaLops

anime-connect-mcp-bot

by VanessaLops

anime-connect-mcp-bot

Сервер MCP, который мониторит чат приложения Anime Connect и предоставляет данные (сообщения, оповещения) как инструменты для запросов ИИ-ассистента (Claude).

Слои

  • src/ingestion — получает сообщения из источника чата. FirebaseChatSource читает группы с has_bot: true из Realtime Database; MockChatSource предназначен только для разработки/тестирования.

  • src/domain — сущности (ChatMessage, Alert), чистые правила (обнаружение ключевых слов) и botSettings.ts (настройка по группам, см. ниже).

  • src/actuation — записывает обратно в чат (FirebaseActuator) или только логирует (DryRunActuator).

  • src/agent — команды чата (!ping, !help, !ban) и права по ролям.

  • src/storage — хранение данных в SQLite (MessageRepository).

  • src/mcp — сервер MCP с инструментами get_recent_messages, search_messages, get_recent_alerts.

  • src/config — переменные окружения (DB_PATH, POLL_INTERVAL_MS, DRY_RUN).

Related MCP server: mcp-server-agent-comm

Настройка по группам (bot_settings)

Владелец каждой группы редактирует бота через само приложение Anime Connect (экран настройки бота), что сохраняется в groups/{id}/bot_settings в Realtime Database:

  • Идентичность: name и avatar_color — пользователь-бот этой группы создаётся/обновляется с этими значениями (FirebaseActuator, поле bot_group_id связывает пользователя с группой).

  • Фактическая активация: active — пока false, бот только логирует то, что сделал бы в этой группе, даже с DRY_RUN=false в .env (который по-прежнему остаётся главным выключателем процесса).

  • Команды: commands.ping/help/ban.enabled включает/выключает каждую из них; commands.ping.message — настраиваемый ответ на !ping.

  • Модерация: keyword_alerts и badwords — строки, разделённые запятыми, заменяют глобальные KEYWORD_ALERTS/BADWORDS из .env для этой группы.

Группа без сохранённого bot_settings использует значения по умолчанию из src/domain/botSettings.ts (DEFAULT_BOT_SETTINGS), с active: false для безопасности.

Запуск

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

Следующий шаг

Заменить MockChatSource на реальную реализацию, которая взаимодействует с приложением Anime Connect (REST API, вебхук или прямое чтение базы данных, в зависимости от того, как предоставляется чат приложения).

Related MCP Connectors

Related MCP Servers