Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CAMPUS_PASSYesYour campus password
CAMPUS_USERYesYour campus username
CAMPUS_BASE_URLYesBase URL of the campus Moodle instance

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_site_infoA

Get site information and current user details from the campus.

Returns: JSON with site name, URL, user id, username, full name, and available web service functions count.

list_coursesA

List all courses where the current user is enrolled (cursadas).

Returns: JSON array of courses with id, shortname, fullname, category, start/end dates, and the user's roles in each.

list_categoriesA

List course categories (períodos lectivos, carreras, áreas).

In Moodle, categories organize courses hierarchically by faculty, degree program, year, or academic period.

Returns: JSON array of categories with id, name, parent, depth, and course count.

get_course_contentsA

Get all sections and activities/resources in a course.

Args: course_id: The Moodle course ID.

Returns: JSON array of sections, each with a list of modules (activities and resources) including type, name, and URL.

list_enrolled_usersA

List users enrolled in a course with their roles.

Args: course_id: The Moodle course ID. role: Optional role filter (e.g. 'student', 'editingteacher', 'teacher', 'manager'). Empty = all.

Returns: JSON array of users with id, fullname, email, and roles.

list_groupsA

List groups (comisiones) in a course.

Args: course_id: The Moodle course ID.

Returns: JSON array of groups with id, name, and description.

list_activitiesA

List all activities in a course, grouped by type (quiz, assign, forum, etc.).

Args: course_id: The Moodle course ID.

Returns: JSON object mapping activity type -> list of activities.

list_assignmentsB

List assignments (trabajos prácticos/entregas) with submission stats.

Args: course_id: The Moodle course ID.

Returns: JSON array of assignments with submission and grade counts.

get_grades_reportA

Get grade report for a course (all users or a specific user).

Args: course_id: The Moodle course ID. user_id: Optional user ID to get grades for one student only. 0 or omitted = all enrolled users.

Returns: JSON with grade items and grades per user.

get_assignment_submissionsA

List submissions for a specific assignment.

Args: assignment_id: The assignment instance ID (not course module ID).

Returns: JSON array of submissions with status, dates, and content.

list_forumsA

List forums in a course with discussion counts.

Args: course_id: The Moodle course ID.

Returns: JSON array of forums with id, name, cmid, and discussion count.

list_forum_discussionsA

List discussions (temas) in a forum, including message content.

Args: forum_id: The forum instance ID (use list_forums to get it).

Returns: JSON array of discussions with subject, author, message, reply count, and creation/modification dates.

list_group_membersA

List groups (comisiones) with their member lists.

Args: course_id: The Moodle course ID.

Returns: JSON array of groups, each with name, member count, and a list of members (userid, fullname, email, roles).

get_course_gradesA

Get all grade items for a course (quizzes, assignments, etc.).

Returns grade data for every enrolled student, organized by grade item.

Args: course_id: The Moodle course ID.

Returns: JSON array of user grade entries with grade items and values.

list_quiz_attemptsA

List attempts for a quiz (parcial/examen).

Args: quiz_id: The quiz instance ID. user_id: Optional user filter (0 = current user only).

Returns: JSON array of attempts with state, score, and timestamps.

create_forum_discussionA

Create a new discussion (tema) in a forum.

By default runs in dry_run mode (validates permissions only). Set dry_run=False to actually post.

Args: forum_id: Forum instance ID (use list_forums to get it). subject: Discussion title. message: Body text (HTML allowed). dry_run: If True (default), validate without posting.

Returns: JSON with validated status, and discussionid if posted.

reply_forum_postA

Reply to an existing forum post.

By default runs in dry_run mode. Set dry_run=False to actually post.

Args: post_id: The ID of the post being replied to (parent). subject: Reply subject. message: Reply body text. dry_run: If True (default), validate without posting.

Returns: JSON with validated status, and postid if posted.

save_assignment_gradeA

Save a grade for a student's assignment (TP).

By default runs in dry_run mode. Set dry_run=False to actually save.

Args: assignment_id: Assignment instance ID. user_id: Student user ID. grade: Numeric grade (0-10). feedback: Optional feedback comment text. dry_run: If True (default), validate without saving.

Returns: JSON with validated status and confirmation.

send_message_to_userA

Send an instant message to a user.

By default runs in dry_run mode. Set dry_run=False to actually send.

Args: user_id: Recipient user ID. message: Message text. dry_run: If True (default), validate without sending.

Returns: JSON with validated status and msgid if sent.

create_calendar_eventA

Create a calendar event (fecha de examen, entrega, etc.).

By default runs in dry_run mode. Set dry_run=False to actually create.

Args: name: Event title. course_id: Course ID. timestart: ISO datetime (e.g. "2026-12-15T10:00:00") or unix timestamp. description: Optional event description. eventtype: Event type (course, user, group). Default: course. dry_run: If True (default), validate without creating.

Returns: JSON with validated status and eventid if created.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/jpmanson/campus-unr-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server