comsats-timetable-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
ο»Ώ# COMSATS Timetable MCP Server πποΈ
Students at COMSATS Abbottabad traditionally had to manually browse CUOnline, dig through complex stateful dropdown menus, and cross-check sections one by one. This Model Context Protocol (MCP) server bridges the gap by connecting Claude Desktop directly to the live university timetable system, allowing you to manage and optimize your semester schedule using natural language.
π System Architecture
The project acts as an automated middleware layer wrapping the legacy ASP.NET WebForms portal:
Claude Desktop (AI Client)
β
βΌ (Stdio Protocol)
[ server.py ] (FastMCP Server Definition)
β
βΌ
[ scraper.py ] (Stateful 3-Way ASP.NET Handshake)
β
βΌ
[ parser.py ] βββΊ [ analyzer.py ]
(HTML Extraction) (Quality Metrics Engine)
π οΈ Requirements
Python 3.10+
Claude Desktop Application
Git
π¦ Setup & Installation
1. Clone the Repository
Open your terminal or PowerShell and run the following commands to clone the repository to your local machine:
Bash
git clone https://github.com/abbdullahjan/comsats-timetable-mcp.git
cd comsats-timetable-mcp
2. Install Python Dependencies
Install the required packages for asynchronous network requests, HTML parsing, and the core MCP framework:
Bash
python -m pip install httpx beautifulsoup4 lxml mcp
3. Verify the Installation
Run the server entry point locally to verify everything initializes properly:
Bash
python -u server.py
π‘ Note: The terminal will appear to "hang" or pause silently. This is expected behavior! The server communicates exclusively via Standard Input/Output (stdio) channels. Press Ctrl + C to exit; Claude Desktop will spawn and manage this lifecycle automatically.
π» Connecting to Claude Desktop
1. Install Claude Desktop
If you haven't installed the desktop environment yet:
Download the app from claude.ai/download.
Install the application and sign in with your account.
2. Open the Configuration File
Open Claude Desktop, click on your Profile icon in the bottom-left corner, go to Settings, and click the button to open or edit your configuration file (claude_desktop_config.json).
Alternatively, navigate directly to the system paths below:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
3. Inject the Server Configuration
Append the timetable-mcp configuration block inside your mcpServers section. Make sure to update the absolute path to your exact project directory location:
Windows Example (claude_desktop_config.json)
JSON
{
"mcpServers": {
"timetable-mcp": {
"command": "python",
"args": [
"-u",
"D:\\Field\\Projects\\Cyber\\McpProject\\timetable-mcp\\server.py"
]
}
}
}
macOS Example (claude_desktop_config.json)
JSON
{
"mcpServers": {
"timetable-mcp": {
"command": "python3",
"args": [
"-u",
"/Users/YourName/Projects/comsats-timetable-mcp/server.py"
]
}
}
}
π‘ Tip: On Windows, remember to use double backslashes (\\) within the path array items to properly escape JSON strings.
4. Relaunch Claude
Fully close Claude Desktop from your taskbar or system tray and reopen it. If configured successfully, a plug icon (π) will appear inside your text input box, indicating the timetable tools are live.
π― Usage Examples
Once connected, you don't need to write code or run scripts manually. Simply interact with Claude natively:
π "Fetch the timetable layout for BCS 5A and show me the schedule."
π "What classes does BSE 4B have on Wednesday mornings?"
β οΈ "Analyze my schedule metrics for BCS 5A and highlight any early morning class distributions or heavy days."
π Project Structure
Plaintext
comsats-timetable-mcp/
β
βββ server.py # Core FastMCP Application β exposes tools to the LLM runtime
βββ scraper.py # Network Layer β executes multi-step POST handshakes to bypass ViewState guards
βββ parser.py # Dom Extraction β isolates and strips matrix nodes out of raw server responses
βββ analyzer.py # Analytics Layer β computes workload densities and flag parameters
βββ README.md # Documentation Asset
π§ Troubleshooting
Missing Plug Icon / "No Tools Available": Ensure Claude Desktop was completely restarted after updating the JSON config file. Check your Windows System Tray to verify it wasn't running silently in the background.
JSON Syntax Validation Errors: Ensure your config file contains valid commas separating top-level elements. If you have multiple servers running concurrently, verify that keys are delimited by commas cleanly.
ASP.NET Stateful Falling Back to BBA Timetable: Legacy servers rely heavily on session cookies and token lifecycles. If the dropdown verification step misses an evaluation tick, re-prompt Claude to fire the tool call again to synchronize the state engine.Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
This server cannot be deployed
Maintenance
Related MCP Connectors
Timetastic MCP server for ChatGPT, Claude and any AI agent: list wallchart absences, list pending leave requests, approve leave request, decline leave request, book time off, cancel booking, get monthly leave summary and get annual allowance summary in your own Timetastic account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Timetastic yourself; Cotlet does not store your password and you need no Timetastic API key. About the official Timetastic API: Yes, Timetastic has a REST API with a bearer token, and no official MCP server (checked 20 Oct 2026). Only admin users can get a token, and the API has no endpoints for the monthly and annual summary reports. Setup and FAQ: https://cotlet.dev/integrations/timetastic-api-mcp-server
Read your tracked time and projects, pause tracking or add a note, from Claude or ChatGPT.
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceConnects Claude Desktop to Canvas LMS to monitor academic activities like assignments, announcements, and upcoming deadlines. It enables users to track courses and pending tasks through a unified interface using the Canvas REST API.-
- AlicenseBqualityCmaintenanceEnables Claude to interact with Canvas LMS, allowing natural language queries about courses, deadlines, grades, and feedback.29MIT
- AlicenseNot gradedqualityDmaintenanceConnects Canvas LMS to Claude Desktop, enabling natural-language queries about courses, assignments, grades, and more.11 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables Codex and Claude Code to access university course portal identity and activities, E3 courses, assignments, deadlines, grades, materials, public timetables, and part-time attendance sign-in/out. It provides platform-aware tools with confirmation safeguards for attendance writes.3MIT