# edX MCP MCP

> Open edX MCP connects your AI agent directly to your Learning Management System data. You can list all available courses, track grades across entire student cohorts, enroll students instantly into new classes, and update user profiles without ever opening a dashboard. It lets you manage complex course administration conversationally.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** course-management, student-enrollment, learning-paths, lms-integration, academic-data

## Description

Look, managing an LMS used to mean navigating five different tabs just to check one student's progress. Now your agent talks directly to the platform. You can ask it for a list of all available learning paths or pull up the full structural details for any course you care about. Need to add someone? Tell your AI client to `enroll_in_course` and it handles the backend process instantly. It also lets you check who is currently registered for what, view current user enrollments, and get accurate grades for individuals or whole groups. If a student changes their email or preferences, you just tell the agent to update the profile instead of logging into the management console. This MCP makes course administration feel like talking to an expert assistant, giving you immediate control over all your learning data from anywhere in the Vinkius catalog.

## Tools

### enroll_in_course
Automatically registers a student into an Open edX course.

### get_course_blocks
Retrieves the structural components and content organization of a specific course.

### get_course_details
Pulls all general information about an Open edX learning path or program.

### get_course_grades
Retrieves the academic grades for a course, often used to see class-wide performance trends.

### get_user_grades
Fetches the specific grade record for one individual student in a given course.

### get_user_preferences
Reads and returns stored user settings, like preferred communication methods or display choices.

### get_user_profile
Retrieves the core demographic information for a specific platform user account.

### list_courses
Provides an inventory of every available course on the Open edX platform.

### list_enrollments
Generates a list showing who is currently registered across various courses.

### update_user_profile
Changes details on an existing user profile, such as their name or email address.

## Prompt Examples

**Prompt:** 
```
List all available courses on our edX platform.
```

**Response:** 
```
I've retrieved the course list. You have 3 active courses: 'Introduction to AI' (ID: course-v1:Org+AI101+2024), 'Advanced Python' (ID: course-v1:Org+PY201+2024), and 'Data Science Basics'.
```

**Prompt:** 
```
Enroll me in the course course-v1:Org+AI101+2024.
```

**Response:** 
```
Processing enrollment... Success! You are now enrolled in 'Introduction to AI'. You can start accessing the course materials immediately.
```

**Prompt:** 
```
Show me the grades for user 'jdoe' in the Python course.
```

**Response:** 
```
Fetching grades for 'jdoe'... In 'Advanced Python', the user has a current grade of 85%. All assignments are completed except for the final project which is pending.
```

## Capabilities

### List and detail courses
Retrieve a list of all available educational programs and pull detailed metadata for specific curriculum paths.

### Manage user status and groups
View current student enrollments, track who is registered in which course, or add students to classes instantly.

### Monitor academic performance
Pull grades for a specific user or retrieve the average completion rate for an entire class cohort.

### Update and inspect profiles
Read current user details, like preferences and email addresses, or change them directly from your agent's chat window.

## Use Cases

### The end-of-semester report
A department head needs a summary: how many students completed the Data Science Basics course this quarter and what was their average final grade. They ask the agent to run `list_enrollments` first, then use `get_course_grades` on that cohort data for immediate reporting.

### Student support during office hours
An instructor has a parent meeting and needs to know if 'jdoe' passed the Python course. The agent executes `get_user_grades`, providing the exact grade percentage in seconds so the instructor can focus on advice, not data retrieval.

### Fixing user records
An administrator finds that ten users have outdated phone numbers. They instruct the agent to retrieve their details using `get_user_profile` and then use `update_user_profile` in a batch process, ensuring data consistency across the platform.

### Curriculum audit for new courses
A developer is building a new themed course. They ask the agent to run `get_course_details` and then use `get_user_preferences` to see what structure elements are most common, ensuring their design matches existing platform standards.

## Benefits

- Stop jumping between tabs to check status. You can use `list_enrollments` to get a full list of who is in which class without needing to manually navigate the enrollment dashboard.
- Get student performance data instantly. Instead of searching for grade reports, you call `get_user_grades` to pull an individual's current standing or run `get_course_grades` for cohort analysis.
- Handle user updates right from your chat client. Need to change a person's email? Use `update_user_profile` and the agent handles the update, saving you clicks in the backend UI.
- Understand curriculum structure quickly. If you need to build a custom module, call `get_course_blocks` to see the precise content hierarchy that dictates how the course is laid out.
- Streamline onboarding. You can use `enroll_in_course` to add new students immediately after they register, making the process of getting them started faster than ever.

## How It Works

The bottom line is that your AI client handles all the complex API calls; you just talk to it like a person.

1. Subscribe to this MCP and provide your Open edX Base URL and Access Token.
2. Connect the credentials to any compatible AI client (Claude, Cursor, or other agents).
3. Tell your agent exactly what you need done—like 'Show me grades for student X in course Y'—and it executes the action.

## Frequently Asked Questions

**How do I use the get_user_profile tool in the edX MCP?**
You ask your agent to retrieve a user's profile data. The agent runs `get_user_profile` and returns core details like name, email, and any saved preferences for that specific account.

**Can I use list_courses to see all my available programs?**
Yes, `list_courses` quickly generates an inventory of every single course on the edX platform. This lets you know exactly what content is available without navigating the site.

**How does enroll_in_course work with my AI agent?**
`enroll_in_course` allows your agent to automatically register a user into an open edX course. You just tell it who and what, and it handles the required enrollment API call.

**Should I use get_user_grades or get_course_grades?**
Use `get_user_grades` when you only care about one person's performance. Use `get_course_grades` when you need to see the aggregate grades across a whole group or class.

**What steps are needed to authenticate and use the update_user_profile tool correctly?**
You must provide your Open edX Base URL and an Access Token when connecting. The AI client uses these credentials for authorization, ensuring that any profile updates you make succeed.

**When I call get_course_blocks, what structural information do I receive about the course curriculum?**
It returns a detailed hierarchy of content blocks. This includes metadata like block type and sequence order, letting your agent map out the entire learning path structure for you.

**What specific details can I modify when using the update_user_profile tool?**
You can change several fields through this MCP. This includes updating email addresses and managing user preferences, provided your agent has the correct user ID.

**Does the list_enrollments tool provide full details for every student, or just basic status information?**
It lists core data points: user ID, course ID, and current enrollment status. For deeper records, like specific grades, you'll need to call a dedicated grade retrieval function.

**Can I check a specific student's grades for a course?**
Yes. Use the `get_user_grades` tool by providing the `course_id` and the student's `username`. The agent will return the grading breakdown for that specific user.

**Is it possible to enroll a user in a course via the AI?**
Absolutely. The `enroll_in_course` tool allows you to register the authenticated user into any course by specifying its unique `course_id`.

**Can I update user profile information like names or emails?**
Yes, the `update_user_profile` tool enables you to modify the name or email associated with a specific username in your Open edX instance.