comsats-timetable-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., "@comsats-timetable-mcpshow me the timetable for BCS 5A"
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.
# 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.This server cannot be installed
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-qualityDmaintenanceConnects Claude to Canvas LMS, enabling students to query their coursework, assignments, grades, deadlines, announcements, and calendar events through natural conversation instead of navigating the Canvas interface.7
- Flicense-qualityDmaintenanceConnects 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.
- FlicenseAqualityDmaintenanceEnables natural language queries about grades, GPA, attendance, and schedules by connecting Claude to StudentVue school dashboards. Includes analytical tools for grade simulation, what-if scenarios, and academic performance tracking based on live school data.19
- AlicenseBqualityBmaintenanceEnables Claude to interact with Canvas LMS, allowing natural language queries about courses, deadlines, grades, and feedback.29MIT
Related MCP Connectors
Search and read your Laxis meeting transcripts, AI summaries, and participants from Claude.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
Drive your real WhatsApp inbox from Claude ā send, reply, label, assign, and triage via TimelinesAI.
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/abbdullahjan/comsats-timetable-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server