campus-unr-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CAMPUS_PASS | Yes | Your campus password | |
| CAMPUS_USER | Yes | Your campus username | |
| CAMPUS_BASE_URL | Yes | Base URL of the campus Moodle instance |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/jpmanson/campus-unr-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server