Skip to main content
Glama
nathanaeljyhlee

Babson Engage MCP Server

Babson Engage MCP Server

MCP-сервер, который предоставляет ИИ-агентам доступ к событиям кампуса Babson и студенческим организациям через Babson Engage (на базе CampusGroups/Anthology). Объединяет RSS-ленты в реальном времени с историческими данными iCal в единую хронологию из более чем 150 событий с возможностью поиска.

Создан для Babson AI Fellowship (весна 2026) в качестве инфраструктуры для проекта, сдаваемого 4 мая: демонстрация того, как внутренние источники данных Babson могут быть преобразованы в совместимые с MCP уровни данных для ИИ-агентов, таких как NavAI.

Развертывание (Live)

Компонент

URL

Продакшн MCP-эндпоинт (Azure App Service)

https://babson-engage-mcp.azurewebsites.net

Демонстрация в реальном времени (Azure Static Web Apps)

http://ambitious-sky-0c81b370f.1.azurestaticapps.net/

Оба компонента в настоящее время развертываются путем ручной загрузки deploy.zip. См. раздел «Миграция на GitHub Actions» ниже для получения руководства по передаче IT-отделу процесса автоматического развертывания.

Источники данных

Источник

URL

Что предоставляет

RSS событий

https://engage.babson.edu/rss_events

Предстоящие события с полной информацией (описание, еда, группа, местоположение, тип события)

RSS групп

https://engage.babson.edu/rss_groups

Активные студенческие клубы и организации (68 групп)

Лента iCal

https://engage.babson.edu/ical/babsongrad/ical_babsongrad.ics

Исторические события (прошедшие + запланированные, меньше деталей, чем в RSS)

Все три являются публичными эндпоинтами — аутентификация не требуется.

Инструменты

search-events

Единый поиск по всем событиям Babson Engage (прошедшим и предстоящим). Объединяет RSS + iCal ленты, удаляет дубликаты и возвращает отсортированную хронологию.

Параметры:

  • query (необязательно) — Поиск по ключевым словам в названии, описании, местоположении, группе

  • category (необязательно) — Фильтр по категории (CAREER, INDUSTRY, SOCIAL, ENTREPRENEURSHIP, COMMUNITY, CULTURAL, ANNOUNCEMENT)

  • from_date (необязательно) — Дата начала (ГГГГ-ММ-ДД). По умолчанию: 90 дней назад

  • to_date (необязательно) — Дата окончания (ГГГГ-ММ-ДД). По умолчанию: 30 дней вперед

  • food_only (необязательно) — Только события, где предоставляется еда

  • limit (необязательно) — Максимальное количество результатов (по умолчанию 20, максимум 100)

get-event-detail

Полная информация о конкретном событии по его ID в Engage. Только для событий из RSS (предстоящие события содержат более подробные данные, чем исторические записи iCal).

Параметры:

  • event_id — ID события в Engage

list-groups

Список активных студенческих клубов и организаций. Фильтр по ключевому слову в названии/миссии или типу группы.

Параметры:

  • search (необязательно) — Фильтр по ключевым словам в названии или миссии

  • group_type (необязательно) — Фильтр по типу (например, "Graduate Club", "Organization")

  • limit (необязательно) — Максимальное количество результатов (по умолчанию 30, максимум 100)

Ресурсы

  • engage://events — Полный JSON-снимок всех предстоящих событий

  • engage://groups — Полный JSON-снимок всех активных групп

Архитектура

  • Кэширование: Кэш в оперативной памяти с TTL 5 минут. Резервный вариант с устаревшими данными, если RSS/iCal недоступны.

  • Дедупликация: События, появляющиеся как в RSS, так и в iCal, объединяются по названию + дате, при этом предпочтение отдается более подробной записи из RSS.

  • Сопоставление категорий: 18 типов событий CampusGroups сопоставлены с 7 категориями для последовательной фильтрации.

  • Транспорт: Stdio (стандартный MCP). Запускается как локальный процесс, управляемый Claude Code.

Установка

npm install
npm run build

Использование с Claude Code

Добавьте в .mcp.json в корне вашего проекта:

{
  "mcpServers": {
    "babson-engage": {
      "command": "node",
      "args": ["/path/to/engage-mcp-server/dist/server.js"]
    }
  }
}

Разработка

npm run dev  # runs with tsx

Примеры запросов

  • "Какие карьерные мероприятия проходят на этой неделе?" — search-events(category: "CAREER", from_date: "2026-04-07", to_date: "2026-04-14")

  • "Есть ли мероприятия с бесплатной едой?" — search-events(food_only: true)

  • "Что происходило в Babson в феврале?" — search-events(from_date: "2026-02-01", to_date: "2026-02-28")

  • "Найди технические клубы" — list-groups(search: "tech")

Технологический стек

  • TypeScript + Node.js

  • @modelcontextprotocol/sdk — фреймворк MCP-сервера

  • fast-xml-parser — парсинг RSS/XML

  • zod — валидация входных данных

Миграция на GitHub Actions (Руководство для IT-отдела)

Сегодня и MCP-сервер, и демо развертываются путем ручной загрузки deploy.zip в Azure. Репозиторий содержит два готовых рабочих процесса GitHub Actions в .github/workflows/, поставляемых с расширениями .example, поэтому они неактивны до тех пор, пока не будут активированы.

Активация автоматического развертывания MCP-сервера (Azure App Service)

  1. Получите профиль публикации. Azure Portal → App Service babson-engage-mcp → Overview → "Get publish profile" (скачивается XML-файл .PublishSettings).

  2. Добавьте в GitHub. Репозиторий → Settings → Secrets and variables → Actions → New repository secret с именем AZURE_WEBAPP_PUBLISH_PROFILE. Вставьте все содержимое XML.

  3. Активируйте рабочий процесс. Переименуйте .github/workflows/azure-app-service-deploy.yml.example.github/workflows/azure-app-service-deploy.yml и сделайте коммит. Теперь каждый push в main будет собирать и развертывать MCP-сервер.

Активация автоматического развертывания демо (Azure Static Web Apps)

  1. Получите токен развертывания. Azure Portal → Static Web App для демо → "Manage deployment token" → скопируйте.

  2. Добавьте в GitHub. Репозиторий → Settings → Secrets → новый секрет репозитория с именем AZURE_STATIC_WEB_APPS_API_TOKEN. Вставьте токен.

  3. Активируйте рабочий процесс. Переименуйте .github/workflows/azure-static-web-app-deploy.yml.example.github/workflows/azure-static-web-app-deploy.yml и сделайте коммит. Пуши, затрагивающие demo/**, будут повторно развертывать демо.

После активации: ~5 минут на каждый push для MCP-сервера, ~30 секунд для демо. Ручной шаг с deploy.zip больше не нужен.

Пользовательский домен (необязательно, требуется Babson IT)

Приведенные выше URL-адреса Azure генерируются автоматически. Если IT-отделу Babson нужен engage-mcp.babson.edu (или аналогичный), настройка займет 5 минут:

  1. IT-отдел добавляет CNAME-запись от engage-mcp.babson.edu к babson-engage-mcp.azurewebsites.net

  2. В Azure Portal → App Service → Custom domains → "Add custom domain" → подтвердите CNAME, прикрепите бесплатный сертификат, управляемый Azure. Тот же шаблон для демо Static Web App.

F
license - not found
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nathanaeljyhlee/babson-engage-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server