UpGrad LXP MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HEADLESS | No | Run browser in headless mode (default: true, set 'false' for headed mode). | |
| OUTPUT_DIR | No | Directory to save output files (default: ./output). | |
| UPGRAD_EMAIL | Yes | Your UpGrad email address for login. | |
| UPGRAD_PASSWORD | Yes | Your UpGrad password for login. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| launch_browserB | Launch a Firefox browser instance with Playwright |
| close_browserA | Close the browser instance and clean up resources |
| loginB | Log into UpGrad LXP with email and password |
| check_login_statusA | Check if the user is currently logged in |
| list_coursesA | Get a list of available courses from the dashboard |
| select_courseC | Navigate into a specific course |
| list_tracksA | List available tracks/modules within the current course |
| select_trackC | Navigate into a specific track |
| list_past_classesA | Navigate to Past Classes tab and list all past classes |
| view_class_detailsB | Open the details of a specific past class |
| extract_transcriptA | Extract the transcript text from the current class detail view |
| extract_resourcesB | Extract resource links/files from the current class detail view |
| download_resourceB | Download a specific resource file to disk |
| save_transcriptA | Save extracted transcript text to a file |
| screenshotB | Take a screenshot of the current page |
| get_page_contentA | Get the visible text content of the current page or a specific element |
| navigateB | Navigate to a specific URL |
| clickC | Click an element on the page |
| scrape_all_past_classesA | Bulk scrape all past classes in the current track — extracts transcripts and resources |
| discover_selectorsA | Inspect the current page DOM to auto-detect CSS selectors for UpGrad LXP elements. Run this on each key page (login, dashboard, course, track, class_list, class_detail) to map the real selectors, then apply them with apply_selectors. |
| apply_selectorsA | Save discovered selector overrides to disk. These override the default guesses and persist across server restarts. |
| get_selectorsA | View the currently active selectors (defaults merged with any overrides) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 22 tools
Most tools have clear, distinct purposes. The generic browser tools (navigate, click, get_page_content) could overlap with higher-level specific tools, but their descriptions clarify their lower-level role. The selector management tools are clearly separate. Minor overlap exists between extract_transcript and scrape_all_past_classes, but the bulk nature distinguishes them.
Most tools follow a verb_noun pattern (list_courses, select_track, extract_transcript), but a few use bare verbs (login, navigate, click, screenshot). The style is consistent with lowercase and underscores throughout. The variation is minor and does not hinder predictability.
With 22 tools, the server feels heavy. It combines generic browser tools, platform-specific tools, and meta-tools for selector management. While each serves a purpose, the set could be consolidated without losing functionality.
The domain of browsing courses and extracting transcripts/resources is well covered: login, listing, selection, extraction, saving, and bulk scraping are present. The absence of a logout tool is a minor gap, but closing the browser suffices. Selector management tools add robustness.