ekursy-mcp-py
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MOODLE_API_BASE | No | Base URL of the ekursy-zero scraper service (default: http://localhost:8080) | http://localhost:8080 |
| MOODLE_PASSWORD | Yes | Your eKursy/Moodle password | |
| MOODLE_USERNAME | Yes | Your eKursy/Moodle username (e.g., email@student.put.poznan.pl) |
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
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_user_profileA | Fetch the authenticated student's profile information and USOS number. |
| list_coursesA | Get a list of all courses the student is enrolled in. |
| get_course_contentB | Get the detailed page fragments and sections for a specific course (including presentations, lecturer names, assignments, and other files). |
| get_course_gradesB | Fetch the hierarchical gradebook for a specific course. |
| resolve_material_linkC | Download and parse internal university files (PDFs, Images) - resource. |
| resolve_proxyC | Download and parse internal university proxies (PDFs, Images, URLs etc). |
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 6 tools
Most tools are clearly distinct, but resolve_material_link and resolve_proxy have overlapping purposes (both download and parse internal files), which could cause minor confusion. Descriptions help distinguish them as one is for general materials and the other for proxies.
All tools follow a consistent verb_noun pattern with snake_case (e.g., get_course_content, list_courses, resolve_proxy). Verbs are appropriate and nouns are descriptive, making the naming predictable.
Six tools is a well-scoped number for a university course management MCP server. Each tool serves a distinct purpose without unnecessary duplication, covering essential student operations.
The tool set covers core functionalities: course listing, content retrieval, grades, profile, and file downloads. Minor gaps exist (e.g., no assignment submission or mailbox tool), but the provided tools form a coherent and practical surface for accessing course information.