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 managementGit
Installation
Clone the repository:
git clone https://github.com/<your-username>/mju-notice-mcpserver.git cd mju-notice-mcpserverCreate a virtual environment:
uv venvInstall 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
This server cannot be installed