Detailed documentation for all tools provided by the eClass MCP Server.
| Tool | Description | Requires Auth |
|---|---|---|
login |
Authenticate via UoA SSO | No |
get_courses |
Retrieve enrolled courses | Yes |
logout |
End current session | No |
authstatus |
Check authentication status | No |
Authenticates with eClass using credentials from the .env file.
- Visit eClass login page
- Follow SSO authentication link
- Authenticate with UoA's CAS system
- Verify successful authentication
- Establish session for subsequent requests
{
"type": "object",
"properties": {
"random_string": {
"type": "string",
"description": "Dummy parameter for no-parameter tools"
}
},
"required": ["random_string"]
}Note: The
random_stringparameter is required by the MCP protocol. Actual credentials are read from.env.
Success:
{
"type": "text",
"text": "Login successful! You are now logged in as username."
}Already logged in:
{
"type": "text",
"text": "Already logged in as username"
}Error:
{
"type": "text",
"text": "Error: [specific error message]"
}Possible errors:
"Username and password must be provided in the .env file""Could not find SSO login link on the login page""Authentication failed: Invalid credentials""Network error during login process: [details]"
Retrieves the list of enrolled courses from eClass.
{
"type": "object",
"properties": {
"random_string": {
"type": "string",
"description": "Dummy parameter for no-parameter tools"
}
},
"required": ["random_string"]
}Success:
{
"type": "text",
"text": "Found X courses:\n\n1. Course Name\n URL: https://eclass.uoa.gr/courses/ABC123/\n..."
}No courses:
{
"type": "text",
"text": "No courses found. You may not be enrolled in any courses."
}Error:
{
"type": "text",
"text": "Error: [specific error message]"
}Possible errors:
"Not logged in. Please log in first using the login tool.""Session expired. Please log in again.""Network error retrieving courses: [details]"
Ends the current eClass session.
{
"type": "object",
"properties": {
"random_string": {
"type": "string",
"description": "Dummy parameter for no-parameter tools"
}
},
"required": ["random_string"]
}Success:
{
"type": "text",
"text": "Successfully logged out user username."
}Not logged in:
{
"type": "text",
"text": "Not logged in, nothing to do."
}Error:
{
"type": "text",
"text": "Error during logout: [specific error message]"
}Checks the current authentication status.
{
"type": "object",
"properties": {
"random_string": {
"type": "string",
"description": "Dummy parameter for no-parameter tools"
}
},
"required": ["random_string"]
}Logged in:
{
"type": "text",
"text": "Status: Logged in as username\nCourses: X enrolled"
}Not logged in:
{
"type": "text",
"text": "Status: Not logged in"
}Session expired:
{
"type": "text",
"text": "Status: Session expired. Please log in again."
}| Error | Description | Resolution |
|---|---|---|
| Not logged in | Operation requires authentication | Call login first |
| Session expired | Session has timed out | Call login to refresh |
| Network error | Connection to eClass failed | Check network, retry |
| Missing credentials | .env file incomplete |
Set ECLASS_USERNAME and ECLASS_PASSWORD |
| Authentication error | Invalid credentials | Verify credentials in .env |