Myongji University Notice Bot (MCP Server)
An MCP server built with Smithery CLI
The server exposes a tool that can be called by AI agents or language models to fetch and display university announcements directly within a chat interface or other applications.
✨ Features
- Real-time Notice Fetching: Uses a Scrapy spider to crawl the official Myongji University notice board (
mju.ac.kr) in real-time. - AI Tool Integration: Exposes a
get_mju_noticestool that AI agents can naturally call in response to user prompts like "What are the latest announcements from Myongji University?". - Robust and Asynchronous: Built on a modern Python stack, leveraging
asyncio,crochet, andsubprocessto handle web crawling without blocking the main server loop. - Configurable: The number of notices to retrieve can be specified with a
limitparameter.
🛠️ How It Works
- An AI agent receives a user request for Myongji University notices.
- The agent identifies the
get_mju_noticestool as the best way to fulfill the request. - The Smithery MCP server executes the tool.
- The tool runs a Python
subprocessto invoke a dedicated Scrapy spider. - The Scrapy spider crawls the university's notice page, scrapes the announcements (title, link, date), and outputs the data as JSON.
- The tool reads the JSON output, formats it, and returns the list of notices to the AI agent.
- The AI agent presents the information to the user in a natural, conversational format.
🚀 Getting Started
Prerequisites
- Python 3.10+
uv(orpip) for package management- Git
Installation
-
Clone the repository:
git clone https://github.com/<your-username>/mju-notice-mcpserver.git cd mju-notice-mcpserver -
Create a virtual environment:
uv venv -
Install dependencies in editable mode: This command reads the
pyproject.tomlfile and installs all necessary packages, including the localmju_crawlerpackage.uv pip install -e .
Running the Server
- Deploy your server to Smithery at smithery.ai/new
