iClass MCP Server
Click on "Deploy 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., "@iClass MCP Servercheck my pending assignments and deadlines"
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.
iclass-mcp
An MCP (Model Context Protocol) server for the Tamkang University (TKU) iClass (TronClass) learning platform.
Connect AI assistants (Antigravity, Claude Desktop, OpenAI Codex / ChatGPT Desktop, Cursor, and other MCP clients) directly to your iClass account to check pending assignments, track deadlines, browse courses and announcements, interact with forum discussions, manage files, and submit homework.
Features
π Todos & Deadlines: Fetch upcoming and pending homework, quizzes, and exams with due dates.
π Courses & Syllabi: View ongoing enrolled courses, syllabus structures, and detailed learning activities.
π’ Announcements: Read course-level and campus-wide bulletins and notices.
π¬ Discussion Forums: Browse categories, read topics/replies, create new discussion threads, post replies, and like topics.
π Cloud Files: Access your personal iClass cloud storage, upload local files, and download course materials.
π Assignments & Progress: Mark learning materials as read and submit homework directly.
Related MCP server: Canvas LMS MCP Server
Installation & Setup
Prerequisites
Python 3.10 β 3.13
A valid TKU SSO account (Student ID and SSO password)
1. Clone the repository
git clone https://github.com/GGQQmax/iclass-mcp.git
cd iclass-mcp2. Configure Environment Variables
Copy the template file to .env:
cp .env.template .envEdit .env with your student credentials:
USERNAMEID="YOUR_STUDENT_ID"
PASSWORD="YOUR_SSO_PASSWORD"3. Create Virtual Environment & Install Dependencies
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtClient Configuration
Antigravity
Add the server definition to ~/.gemini/config/mcp_config.json:
{
"mcpServers": {
"iclass": {
"command": "/absolute/path/to/iclass-mcp/.venv/bin/python",
"args": ["/absolute/path/to/iclass-mcp/iclass_mcp_server.py"],
"cwd": "/absolute/path/to/iclass-mcp"
}
}
}You can also inspect and manage active MCP servers in the Antigravity UI under Additional Options (...) > MCP Servers.
Codex / ChatGPT Desktop
The repository includes a project-scoped Codex configuration at .codex/config.toml. Update the absolute path to your environment:
[mcp_servers.iclass]
command = "/absolute/path/to/iclass-mcp/.venv/bin/python"
args = ["iclass_mcp_server.py"]
cwd = "/absolute/path/to/iclass-mcp"
default_tools_approval_mode = "prompt"Open the repository folder in ChatGPT Desktop / Codex and trust the project when prompted.
Alternatively, register the server via the Codex CLI:
codex mcp add iclass -- /absolute/path/to/iclass-mcp/.venv/bin/python /absolute/path/to/iclass-mcp/iclass_mcp_server.pyClaude Desktop
Add the server to your claude_desktop_config.json (located at ~/.config/Claude/claude_desktop_config.json on Linux, or ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"iclass": {
"command": "/absolute/path/to/iclass-mcp/.venv/bin/python",
"args": ["/absolute/path/to/iclass-mcp/iclass_mcp_server.py"],
"cwd": "/absolute/path/to/iclass-mcp"
}
}
}Cursor & Other MCP Clients (stdio)
Command:
/absolute/path/to/iclass-mcp/.venv/bin/pythonArgs:
["/absolute/path/to/iclass-mcp/iclass_mcp_server.py"]Working Directory:
/absolute/path/to/iclass-mcp
Available MCP Tools
Tool | Description | Key Parameters |
| Fetch pending homework, quizzes, and exams | None |
| Get list of ongoing enrolled courses | None |
| Fetch course or campus bulletins / announcements |
|
| Fetch learning activities and syllabus structure |
|
| Fetch details for a specific activity |
|
| Mark an activity or resource upload as read |
|
| List enrolled members/students for a course |
|
| Get discussion forum categories for a course |
|
| Get details and replies for a discussion topic |
|
| Post a reply to a discussion topic |
|
| Create a new discussion thread |
|
| Like a discussion topic |
|
| List personal cloud drive / uploaded resources |
|
| Upload a local file to iClass personal drive |
|
| Download a file by reference ID to |
|
| Submit homework assignment with uploaded file IDs |
|
License
This project is licensed under the Beerware License.
This server cannot be deployed
Maintenance
Related MCP Connectors
Connects AI assistants to TrackingTime for querying time entries, projects, tasks, customers, and team data using natural language.
Connect your Moodle to AI assistants: courses, content, grading and reports from the chat.
Connect AI to Stelllink to organize, access, manage and share files, links, and digital workspaces.
Manage tasks, Focus Zone, notes, projects, and task history from compatible AI assistants.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables University of Toronto students to access academic data from ACORN and Quercus via AI assistants. It provides tools to retrieve course schedules, enrollment details, syllabi, assignments, and announcements.-
- FlicenseNot gradedqualityDmaintenanceConnects Claude AI to your Canvas LMS account, enabling natural language interaction with coursework including assignments, grades, announcements, and calendar.-
- FlicenseAqualityDmaintenanceEnables interaction with Zhejiang University's learning platform (ε¦ε¨ζ΅ε€§ / ζΊδΊθ―Ύε ) via MCP tools, allowing natural language commands to check todos, view schedules, fetch lecture transcripts, and submit homework.74-
- AlicenseAqualityAmaintenanceEnables AI assistants to query SeoulTech e-Class course announcements and assignments, search full notice text, track pending work, and refresh login sessions securely through natural language.71MIT