๐ŸŽ“ Brock University Events MCP Server

๐ŸŽ“ Brock University Events MCP Server

An MCP Server for Events at Brock. Now use claude to help you search for events and more

Aryan-Jhaveri

Research & Data
Visit Server

README

๐ŸŽ“ Brock University Events MCP Server

<div align="center">

Brock University

Your own assistant to help you network and be involved!

Model Context Protocol Claude License: MIT

</div>

๐Ÿ“‹ Overview

This MCP server connects to the Brock University events RSS feed and provides AI assistants with access to campus events. It allows students and faculty to easily discover relevant events, filter by date or category, and get comprehensive event details.

โœจ Features

  • ๐Ÿ”„ Real-time data: Fetch and parse the Brock University events RSS feed
  • ๐Ÿ” Search capabilities: Find events by keyword
  • ๐Ÿ“… Timeline views: Get upcoming events for a specified number of days
  • ๐Ÿ“† Date filtering: Filter events by date or date range
  • โฐ Time filtering: Find events by time of day (morning, afternoon, evening)
  • ๐Ÿท๏ธ Categories: Browse event categories and filter events accordingly
  • ๐Ÿ“Š Special views: Get customized lists (this week, next week, weekend events)
  • ๐Ÿ“ Detailed info: Access comprehensive details for specific events

๐Ÿ› ๏ธ Installation Guide

Prerequisites

  • ๐Ÿ Python 3.10 or higher installed on your computer
  • ๐Ÿ’ป Basic familiarity with command line operations

Step-by-Step Installation

<details open> <summary><b>1๏ธโƒฃ Get the code</b></summary>

# Clone with Git
git clone https://github.com/yourusername/mcp-brockevents.git
cd mcp-brockevents

# Or download the ZIP and extract it

</details>

<details open> <summary><b>2๏ธโƒฃ Install dependencies</b></summary>

# Install all required packages
pip install -r requirements.txt

</details>

<details open> <summary><b>3๏ธโƒฃ Launch the server</b></summary>

# Start the MCP server
python brock_events_server.py

๐Ÿ’ก The server is running successfully when there is no error output. Keep this terminal window open while using the server with Claude. </details>

๐Ÿ”„ Connecting to Claude for Desktop

Setting up Claude Desktop

<details open> <summary><b>1๏ธโƒฃ Install Claude for Desktop</b></summary>

  • Download from claude.ai/download
  • Follow the installation instructions for your operating system </details>

<details open> <summary><b>2๏ธโƒฃ Open the configuration file</b></summary>

Mac users:

  1. Click on the Claude menu at the top of your screen
  2. Select "Settings..."
  3. Click on "Developer" in the left sidebar
  4. Click "Edit Config"

Windows users:

  1. Open File Explorer
  2. Navigate to %APPDATA%\Claude\
  3. Create or edit the file claude_desktop_config.json </details>

<details open> <summary><b>3๏ธโƒฃ Add the server configuration</b></summary>

Copy and paste the following JSON into the configuration file:

{
  "mcpServers": {
    "brocku-events": {
      "command": "python",
      "args": [
        "/REPLACE/WITH/FULL/PATH/TO/brock_events_server.py"
      ]
    }
  }
}

โš ๏ธ Important: Replace /REPLACE/WITH/FULL/PATH/TO/brock_events_server.py with the actual full path to the server file on your computer.

Examples:

  • Mac: /Users/yourusername/Downloads/mcp-brockevents/brock_events_server.py
  • Windows: C:\\Users\\yourusername\\Downloads\\mcp-brockevents\\brock_events_server.py </details>

<details open> <summary><b>4๏ธโƒฃ Finalize setup</b></summary>

  1. Save the configuration file
  2. Restart Claude for Desktop
  3. Verify connection: Look for the ๐Ÿ”จ hammer icon in the bottom right of the chat interface, indicating available tools </details>

๐Ÿงฐ Available Tools

<div align="center"> <table> <tr> <th>Tool</th> <th>Description</th> </tr> <tr> <td><code>get_upcoming_events(days)</code></td> <td>Get events for the specified number of days ahead</td> </tr> <tr> <td><code>search_events(query)</code></td> <td>Search for events matching the keyword query</td> </tr> <tr> <td><code>get_events_by_date(date)</code></td> <td>Get events on a specific date (format: YYYY-MM-DD)</td> </tr> <tr> <td><code>get_events_by_date_range(start_date, end_date)</code></td> <td>Get events between two specified dates</td> </tr> <tr> <td><code>get_events_by_time_of_day(date, time_range)</code></td> <td>Filter events by time of day (morning/afternoon/evening)</td> </tr> <tr> <td><code>get_event_categories()</code></td> <td>List all available event categories with organized grouping</td> </tr> <tr> <td><code>get_events_by_category(category)</code></td> <td>Get events in a specific category with fuzzy matching</td> </tr> <tr> <td><code>get_event_details(query)</code></td> <td>Get detailed information about a specific event</td> </tr> <tr> <td><code>get_events_this_week()</code></td> <td>Get all events occurring this week (Monday-Sunday)</td> </tr> <tr> <td><code>get_events_next_week()</code></td> <td>Get all events occurring next week (Monday-Sunday)</td> </tr> <tr> <td><code>get_weekend_events(date)</code></td> <td>Get events for the upcoming or specified weekend</td> </tr> </table> </div>

๐Ÿ’ฌ Example Queries

<details open> <summary><b>Basic Queries</b></summary>

  • ๐Ÿ“… "What events are happening at Brock University this week?"
  • ๐ŸŽต "Are there any music events at Brock University?"
  • ๐Ÿ“ "What's happening on campus next Tuesday?"
  • ๐ŸŽ“ "Show me all the academic events at Brock"
  • ๐Ÿ“‹ "What categories of events are available at Brock University?"
  • ๐Ÿ” "Tell me more about the Blackout Gala event"
  • ๐Ÿข "When and where is the next workshop happening?"
  • ๐Ÿ‘ฅ "Are there any social events this weekend?"
  • ๐Ÿ” "Show me events with free food"
  • ๐Ÿค "What club meetings are happening this week?"
  • ๐Ÿ“† "What events are happening between March 15 and March 20?"
  • ๐ŸŒ™ "Show me evening events on Friday"
  • ๐Ÿ“Š "What's happening next week at Brock?" </details>

๐Ÿ”ง Customization Guide

<details open> <summary><b>๐Ÿ“ก Changing the RSS Feed Source</b></summary>

You can configure this server to use event feeds from other universities:

Step 1: Locate the RSS Feed URL

  1. Open brock_events_server.py in any text editor
  2. Find line 14 where the RSS feed URL is defined:
    RSS_FEED_URL = "https://experiencebu.brocku.ca/events.rss"
    

Step 2: Replace with Your Preferred Feed

Replace the URL with another university's event feed:

University RSS/XML Feed URL
Brock University https://experiencebu.brocku.ca/events.rss
University of Guelph https://gryphlife.uoguelph.ca/Events.rss
Western University http://westernadvance.ca/calendar/western.xml

Step 3: Adapt the Parsing Logic (Advanced)

โš ๏ธ Important Compatibility Note:

The server is specifically designed for Brock University's RSS feed structure. Different universities format their event data with unique:

  • Tag naming conventions
  • Date formats
  • Category systems
  • Event property names

If you change the RSS feed URL, you may need to modify the event parsing functions in the code to match the structure of your selected feed. The primary parsing logic is in the fetch_rss_feed() and related functions.

</details>

๐Ÿš€ Advanced Use Cases

Students can quickly chat and find events based on their interests:

<details open> <summary><b>๐Ÿ”Ž Professional Development</b></summary>

Users can upload their resume to find and filter professional networking events, and have Claude create elevator pitches about them. Perfect for preparing a game plan for networking events! </details>

<details open> <summary><b>๐Ÿ“ฑ Calendar Integration</b></summary>

Claude can filter events and create .ics files of selected events for users to add to their iCal or sync across their other calendars. Learn how to import .ics files to Google Calendar </details>

<details open> <summary><b>๐Ÿ“Š Schedule Optimization</b></summary>

Users can share an image of their personal schedule and ask "What events fit within my schedule for the month, can you find and filter them for me?" Claude will analyze available time slots and recommend compatible events. </details>

โš ๏ธ Troubleshooting

<details> <summary><b>๐Ÿ›‘ Server Won't Start</b></summary>

  1. Check Python version: Make sure you have Python 3.10+ installed

    python --version
    
  2. Dependency issues: Try reinstalling dependencies one by one

    pip install mcp[cli]
    pip install httpx feedparser python-dateutil pytz
    
  3. Permission errors: Make sure you have permission to run the script </details>

<details> <summary><b>๐Ÿ”Œ Claude Not Connecting to Server</b></summary>

  1. Configuration file: Double-check your claude_desktop_config.json file

    • Ensure there are no syntax errors (missing commas, brackets, etc.)
    • Verify the path to the server file is correct and absolute
  2. Server running: Make sure your server is still running in the terminal

  3. Claude logs: Check Claude's logs for errors

    • On Mac: ~/Library/Logs/Claude/mcp*.log
    • On Windows: %APPDATA%\Claude\logs\mcp*.log
  4. Restart Claude: Sometimes a complete restart of Claude for Desktop resolves connection issues </details>

<details> <summary><b>๐Ÿ“ก RSS Feed Issues</b></summary>

If the server starts but tools aren't working, the RSS feed might be unavailable or its format might have changed.

Try accessing https://events.brocku.ca/events/rss/ in your browser to check if it's accessible. </details>

๐Ÿ‘ฅ Contributing

<div align="center">

PRs Welcome Issues

</div>

Contributions are welcome! Feel free to submit pull requests or open issues if you have suggestions for improvements.

Developer Resources

<div align="center"> <table> <tr> <td align="center"> <a href="https://modelcontextprotocol.io/tutorials/building-mcp-with-llms"> <img src="https://mintlify.s3.us-west-1.amazonaws.com/mcp/images/claude-desktop-mcp-plug-icon.svg" width="80" alt="MCP with LLMs"><br> <b>Building MCP with LLMs</b> </a> </td> <td align="center"> <a href="https://modelcontextprotocol.io/docs/concepts/architecture"> <img src="https://mintlify.s3.us-west-1.amazonaws.com/mcp/images/claude-desktop-mcp-hammer-icon.svg" width="80" alt="MCP Docs"><br> <b>MCP Documentation</b> </a> </td> </tr> </table> </div>

๐Ÿ“„ License

<div align="center">

This project is licensed under the MIT License.

Copyright ยฉ 2024

License: MIT

</div>

Recommended Servers

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

A Model Context Protocol (MCP) server that provides comprehensive cryptocurrency analysis using the CoinCap API. This server offers real-time price data, market analysis, and historical trends through an easy-to-use interface.

Featured
TypeScript
MCP PubMed Search

MCP PubMed Search

Server to search PubMed (PubMed is a free, online database that allows users to search for biomedical and life sciences literature). I have created on a day MCP came out but was on vacation, I saw someone post similar server in your DB, but figured to post mine.

Featured
Python
dbt Semantic Layer MCP Server

dbt Semantic Layer MCP Server

A server that enables querying the dbt Semantic Layer through natural language conversations with Claude Desktop and other AI assistants, allowing users to discover metrics, create queries, analyze data, and visualize results.

Featured
TypeScript
mixpanel

mixpanel

Connect to your Mixpanel data. Query events, retention, and funnel data from Mixpanel analytics.

Featured
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python
Nefino MCP Server

Nefino MCP Server

Provides large language models with access to news and information about renewable energy projects in Germany, allowing filtering by location, topic (solar, wind, hydrogen), and date range.

Official
Python
Vectorize

Vectorize

Vectorize MCP server for advanced retrieval, Private Deep Research, Anything-to-Markdown file extraction and text chunking.

Official
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

A server that provides access to Mathematica documentation through FastMCP, enabling users to retrieve function documentation and list package symbols from Wolfram Mathematica.

Local
Python
kb-mcp-server

kb-mcp-server

An MCP server aimed to be portable, local, easy and convenient to support semantic/graph based retrieval of txtai "all in one" embeddings database. Any txtai embeddings db in tar.gz form can be loaded

Local
Python
Research MCP Server

Research MCP Server

The server functions as an MCP server to interact with Notion for retrieving and creating survey data, integrating with the Claude Desktop Client for conducting and reviewing surveys.

Local
Python