NCCU Course MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NCCU Course MCPList courses in 財務管理學系 for semester 1151"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
NCCU Course MCP
An MCP server for querying NCCU (National Chengchi University) course listings (qrysub.nccu.edu.tw) programmatically, so an AI assistant or a student can search courses in plain language instead of fighting the web UI.
Course data is fetched live from the public course API on every query; there is
no local course database. The only shipped data file is dept_codes.json, a snapshot
mapping department codes to names (regenerate any time with build_dept_codes.py).
Tools
search_all(semester, keyword="", week="", language="", dept="", kind="", core_ge="", teacher=""): school-wide flexible search. The keyword is matched server-side against course names, teachers, notes, and full course ids; narrow further by weekday, teaching language, requirement kind, core-GE flag, or exact teacher. Use this when you don't know which unit offers a course.check_schedule(semester, course_ids, extra_times=[]): deterministic conflict check. Give full course ids; returns conflicts + a weekly grid. TA session times mined from course notes are included automatically.list_departments(query=""): list offering-unit codes (departments, school-wide subjects, general education, PE, credit programs); filter by a name substring.search_courses(semester, dept, keyword=""): courses for one offering unit.semester: academic-year + term, e.g.1151= AY115 term 1.dept: unit name or code (e.g.財務管理學系,357, or107= school-wide Economics).
get_syllabus(syllabus_url): fetch a course's full syllabus as plain text (description, objectives, learning outcomes, weekly schedule). Restricted to nccu.edu.tw URLs.
Every course comes with structured fields: slots (parsed period list, so models
never hand-parse strings like 三CD78) and note_facts (facts mined from the
free-text notes: TA session time, exam dates, department priority, add-restriction,
English-taught). Query recipes and domain knowledge live in QUERY_GUIDE.md.
Related MCP server: scottylabs-mcp
Install
Using Claude Code? Paste this repo's URL and say "install this MCP server", and it will read the command below and run it for you. Otherwise, copy one command.
Recommended: no clone, no venv (needs uv)
Runs straight from GitHub for Claude Code:
claude mcp add nccu-course -- uvx --from git+https://github.com/yyu0310/nccu-course-mcp nccu-course-mcpDon't have uv? Install it once: curl -LsSf https://astral.sh/uv/install.sh | sh
No-uv fallback: pip only
Works with any Python 3.10+ (uses pipx to keep it isolated):
pipx install git+https://github.com/yyu0310/nccu-course-mcp
claude mcp add nccu-course -- nccu-course-mcpOr add to any MCP client's config (e.g. Claude Desktop claude_desktop_config.json):
{
"mcpServers": {
"nccu-course": {
"command": "uvx",
"args": ["--from", "git+https://github.com/yyu0310/nccu-course-mcp", "nccu-course-mcp"]
}
}
}From source
git clone https://github.com/yyu0310/nccu-course-mcp && cd nccu-course-mcp
python -m venv .venv && ./.venv/bin/pip install -e .
./.venv/bin/python src/nccu_course_mcp/test_server.py # live self-test
claude mcp add nccu-course -- ./.venv/bin/nccu-course-mcpNotes
The upstream server uses legacy TLS renegotiation; the client enables
OP_LEGACY_SERVER_CONNECTto connect.Broad queries are capped at 500 rows upstream, so queries are always scoped per department.
Uses only NCCU's public course catalog. It touches no private system and no login.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityCmaintenanceMCP server for querying a university course catalog. Enables searching courses, checking prerequisites, and looking up instructors via natural language.Last updated
- AlicenseAqualityCmaintenanceEnables searching and retrieving course details, schedules, prerequisites, and instructor information from the CMU course catalog via the ScottyLabs API.Last updated92MIT
- Alicense-qualityCmaintenanceEnables interaction with Canvas courses and assignments through natural language, allowing retrieval, search, and summarization of course and assignment information.Last updated1227MIT
- FlicenseAqualityDmaintenanceEnables searching Brown University courses, getting detailed course info, and checking schedule conflicts via natural language, using the university's public course catalog API.Last updated5
Related MCP Connectors
Web search, news, page retrieval, sitemaps, and trending topics through Search1API.
Web search, AI agent, and content extraction via You.com APIs
Search Stack Exchange questions, fetch Q&A threads as markdown, look up tag FAQs and user profiles.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/yyu0310/nccu-course-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server