Babson Engage MCP Server

Babson Engage MCP Server

MCP server that gives AI agents access to Babson's campus events and student organizations by merging live RSS feeds with historical iCal data into a unified, searchable timeline of 150+ events.

Category
访问服务器

README

Babson Engage MCP Server

MCP server that gives AI agents access to Babson's campus events and student organizations via Babson Engage (powered by CampusGroups/Anthology). Merges live RSS feeds with historical iCal data into one unified, searchable timeline of 150+ events.

Built for the Babson AI Fellowship (Spring 2026) as infrastructure for the May 4 deliverable: demonstrating how internal Babson data sources can be turned into MCP-compatible data layers for AI agents like NavAI.

Live Deployment

Component URL
Production MCP endpoint (Azure App Service) https://babson-engage-mcp.azurewebsites.net
Live demo (Azure Static Web Apps) http://ambitious-sky-0c81b370f.1.azurestaticapps.net/

Both currently deploy via manual deploy.zip upload. See "Migrating to GitHub Actions" below for the IT-handoff guide on switching to push-to-deploy.

Data Sources

Source URL What it provides
Events RSS https://engage.babson.edu/rss_events Upcoming events with full detail (description, food, group, location, event type)
Groups RSS https://engage.babson.edu/rss_groups Active student clubs and organizations (68 groups)
iCal Feed https://engage.babson.edu/ical/babsongrad/ical_babsongrad.ics Historical events (past + scheduled, less detail than RSS)

All three are public endpoints -- no authentication required.

Tools

search-events

Unified search across all Babson Engage events (past and upcoming). Merges RSS + iCal feeds, deduplicates, and returns a sorted timeline.

Parameters:

  • query (optional) -- Keyword search across title, description, location, group
  • category (optional) -- Filter by category (CAREER, INDUSTRY, SOCIAL, ENTREPRENEURSHIP, COMMUNITY, CULTURAL, ANNOUNCEMENT)
  • from_date (optional) -- Start date (YYYY-MM-DD). Default: 90 days ago
  • to_date (optional) -- End date (YYYY-MM-DD). Default: 30 days ahead
  • food_only (optional) -- Only events with food provided
  • limit (optional) -- Max results (default 20, max 100)

get-event-detail

Full details for a specific event by its Engage event ID. RSS events only (upcoming events have richer data than iCal historical records).

Parameters:

  • event_id -- The Engage event ID

list-groups

List active student clubs and organizations. Filter by name/mission keyword or group type.

Parameters:

  • search (optional) -- Keyword filter on name or mission
  • group_type (optional) -- Filter by type (e.g., "Graduate Club", "Organization")
  • limit (optional) -- Max results (default 30, max 100)

Resources

  • engage://events -- Full JSON snapshot of all upcoming events
  • engage://groups -- Full JSON snapshot of all active groups

Architecture

  • Caching: In-memory cache with 5-minute TTL. Stale fallback if RSS/iCal is unreachable.
  • Deduplication: Events appearing in both RSS and iCal are merged by title + date, preferring the richer RSS record.
  • Category mapping: 18 CampusGroups event types mapped to 7 categories for consistent filtering.
  • Transport: Stdio (standard MCP). Runs as a local process managed by Claude Code.

Setup

npm install
npm run build

Usage with Claude Code

Add to .mcp.json in your project root:

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

Development

npm run dev  # runs with tsx

Example Queries

  • "What career events are happening this week?" -- search-events(category: "CAREER", from_date: "2026-04-07", to_date: "2026-04-14")
  • "Any events with free food?" -- search-events(food_only: true)
  • "What happened at Babson in February?" -- search-events(from_date: "2026-02-01", to_date: "2026-02-28")
  • "Find tech clubs" -- list-groups(search: "tech")

Tech Stack

  • TypeScript + Node.js
  • @modelcontextprotocol/sdk -- MCP server framework
  • fast-xml-parser -- RSS/XML parsing
  • zod -- Input validation

Migrating to GitHub Actions (IT Handoff Guide)

Today both the MCP server and the demo deploy via manual deploy.zip upload to Azure. The repo contains two ready-to-go GitHub Actions workflows in .github/workflows/, shipped with .example extensions so they're inert until activated.

Activate MCP server auto-deploy (Azure App Service)

  1. Get the publish profile. Azure Portal → App Service babson-engage-mcp → Overview → "Get publish profile" (downloads .PublishSettings XML).
  2. Add to GitHub. Repo → Settings → Secrets and variables → Actions → New repository secret named AZURE_WEBAPP_PUBLISH_PROFILE. Paste the entire XML contents.
  3. Activate the workflow. Rename .github/workflows/azure-app-service-deploy.yml.example.github/workflows/azure-app-service-deploy.yml and commit. Every push to main will now build and deploy the MCP server.

Activate demo auto-deploy (Azure Static Web Apps)

  1. Get the deployment token. Azure Portal → Static Web App for the demo → "Manage deployment token" → copy.
  2. Add to GitHub. Repo → Settings → Secrets → new repo secret named AZURE_STATIC_WEB_APPS_API_TOKEN. Paste the token.
  3. Activate the workflow. Rename .github/workflows/azure-static-web-app-deploy.yml.example.github/workflows/azure-static-web-app-deploy.yml and commit. Pushes that touch demo/** will redeploy the demo.

After activation: ~5 min per push for the MCP server, ~30 sec for the demo. The manual deploy.zip step retires.

Custom domain (optional, requires Babson IT)

The Azure URLs above are auto-generated. If Babson IT wants engage-mcp.babson.edu (or similar), it's a 5-min setup:

  1. IT adds a CNAME record from engage-mcp.babson.edu to babson-engage-mcp.azurewebsites.net
  2. In Azure Portal → App Service → Custom domains → "Add custom domain" → verify CNAME, attach a free Azure-managed cert. Same pattern for the Static Web App demo.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选