# Udemy MCP

> Udemy MCP Server gives your AI agent access to Udemy's catalog, instructor data, and student feedback loops. You can search courses by keyword, pull specific course details, and deep-dive into user sentiment. It handles everything from retrieving public course reviews for competitor analysis to listing direct messages or QA interactions for active instructors. Analyze class quality, track engagement metrics, and manage content performance—all through your agent's natural conversation.

## Overview
- **Category:** learning-training
- **Price:** Free
- **Tags:** online-courses, course-catalog, instructor-data, skill-development, e-learning, qa-automation

## Description

This server gives your agent direct access to Udemy's core data streams, letting you stop clicking around and start pulling actionable insights. You don't need to navigate the site; your AI client just talks to it.

When you wanna map out what topics are floating around in the catalog, you can use **`courses`** to grab all the foundational metadata for a single class using its unique ID. That lets you check prerequisites or figure out the course duration before you get deep into anything else.

For public sentiment analysis, **`course_reviews`** lets your agent pull every student review for one specific, publicly listed Udemy course ID. If you're doing competitive research, you run that tool to gauge how users are feeling about a competitor's offering.

When the focus shifts to an instructor's body of work, **`instructor_courses`** lists every single class they teach, giving you a complete roster of their content. From there, your agent can deep-dive into performance metrics. You can gather all student reviews for every course that instructor taught using **`instructor_reviews`**, creating an aggregated view of their overall teaching success. This is huge for tracking consistency.

If you wanna monitor engagement and direct communication surrounding the instructor's content, your agent handles it. It pulls every question asked in the Q&A sections across all courses taught by that person via **`instructor_qa`**. You can also retrieve a full log of direct messages sent to or from the authenticated instructor using **`instructor_messages`**, keeping you updated on private interactions.

Basically, whether you're checking public catalog details with **`courses`** and then cross-referencing specific feedback loops with **`course_reviews`**, or if you’re tracking an entire professional profile by listing the content with **`instructor_courses`** and pulling all related communication—including aggregated reviews (**`instructor_reviews`**) and Q&A logs (**`instructor_qa`**) alongside direct messages (**`instructor_messages`**) —your agent handles it. You'll get clean, structured data every time.

## Tools

### course_reviews
Lists student reviews for a single, public Udemy course ID.

### courses
Gets all core details for one specific Udemy course using its unique ID.

### instructor_courses
Lists every course currently taught by the authenticated instructor.

### instructor_messages
Retrieves all direct messages sent to or from the authenticated instructor.

### instructor_qa
Lists every question asked in Q&A sections across all courses taught by the authenticated instructor.

### instructor_reviews
Gathers all student reviews for every course taught by the authenticated instructor.

## Prompt Examples

**Prompt:** 
```
Find top rated courses about 'React' on Udemy.
```

**Response:** 
```
I will query the Udemy public catalog for the keyword 'React' and process the top results.
```

**Prompt:** 
```
Check all my unread direct messages from students on Udemy.
```

**Response:** 
```
I'll fetch your instructor direct messages filtering by unread status.
```

**Prompt:** 
```
Summarize the latest reviews left on my instructor courses.
```

**Response:** 
```
Retrieving your recent instructor reviews to give you a sentiment summary.
```

## Capabilities

### Search Public Course Catalogs
Your agent queries the public catalog to find courses based on keywords, allowing you to map out available training topics.

### Analyze Student Feedback
You retrieve course reviews for a specific class ID or gather aggregated reviews for all content taught by an instructor.

### Manage Instructor Communications
The agent pulls the latest direct messages and Q&A questions associated with your authenticated instructor account.

### Retrieve Course Metadata
You get specific details—like prerequisites or duration—for a single course using its unique ID.

### Monitor Instructor Content
The system lists all courses taught by an instructor and compiles all related reviews for comprehensive performance tracking.

## Use Cases

### Benchmarking a Competitor's Course
A L&D Specialist wants to see how well a competitor’s 'Advanced Python' course is rated. They prompt their agent, which uses `courses` first to verify the ID, and then runs `course_reviews`. The agent returns a structured data set of sentiment scores, allowing the specialist to write an immediate gap analysis report.

### Identifying Student Confusion Points
A Content Strategist notices students are frequently asking about 'Deployment' but no module covers it. They ask their agent to run `instructor_qa` on all courses, which aggregates the questions and instantly reveals that deployment is the single most requested topic across the whole portfolio.

### Auditing an Instructor’s Reputation
A Product Manager needs a total view of an instructor's performance. The agent runs `instructor_reviews` (for all courses) and then pairs that with `instructor_messages`. This single operation provides a comprehensive, quantitative measure of the instructor’s overall student satisfaction.

### Crisis Management for Student Support
A team needs to address negative feedback quickly. They use `course_reviews` on a specific course ID flagged with low scores. The agent pulls the reviews, allowing the support team to categorize complaints (e.g., 'poor video quality', 'outdated code') and route them directly to the right content owner.

## Benefits

- Get a complete picture of student sentiment. Instead of checking one review page at a time, the `instructor_reviews` tool gathers all feedback for every course an instructor teaches. You get the full data set needed for deep trend analysis.
- Track communication bottlenecks with precision. The `instructor_messages` tool lets your agent pull direct messages from students, helping you quickly identify recurring technical questions or areas of confusion that need a dedicated follow-up lesson.
- Map out competitor offerings instantly. Use the `courses` tool to fetch metadata on specific public courses by ID. This is faster than manual browsing and gives structured data points for comparison against your own catalog.
- Automate content gap analysis. By running `instructor_qa`, you don't just see questions; you get a list of *all* unanswered or recurring topics, allowing you to prioritize new course modules based on actual student needs.
- Understand the scope of an instructor’s work. The combination of `instructor_courses` and `instructor_reviews` gives you one command that outlines everything taught—the courses themselves, plus all associated feedback data points.

## How It Works

The bottom line is: instead of writing code to talk to Udemy, you just tell your agent what data you need, and it handles the connection and structure.

1. You prompt your AI client (e.g., 'Find me the top-rated Python course on Udemy.')
2. The agent recognizes the intent and calls the appropriate tool, like `courses`, passing necessary parameters (keywords, IDs).
3. The server executes the call, fetching structured data—whether it's a list of reviews or direct messages—and returns it to your AI client for immediate use.

## Frequently Asked Questions

**How do I get reviews for a course using the course_reviews tool?**
You provide the specific public Course ID to the `course_reviews` tool. This limits your search to just that class's feedback, giving you precise sentiment data points.

**Can I check all my messages with instructor_messages?**
Yes. The `instructor_messages` tool retrieves the direct communication logs for the authenticated user. It’s critical for understanding private student concerns that don't make it into public reviews.

**What is the difference between course_reviews and instructor_reviews?**
The distinction is scope. `course_reviews` looks at one specific class ID. `instructor_reviews`, however, gathers all student feedback across *every* single course taught by that authenticated instructor.

**How do I find out what courses an instructor teaches?**
Run the `instructor_courses` tool. This gives you a list of every title and ID associated with the current user, allowing you to target your subsequent data pulls accurately.

**How do I use the `courses` tool to get metadata for a specific course ID?**
The `courses` tool pulls core metadata for any given Course ID. This lets your agent confirm details like the full title, description, and curriculum structure before you even need to analyze student feedback or reviews.

**Does the `instructor_qa` tool gather questions from only one course?**
No. The `instructor_qa` function aggregates Q&A across *all* courses tied to your authenticated instructor account. It's useful for spotting general knowledge gaps or recurring student confusion across your entire teaching portfolio.

**What is the scope of data retrieved by `instructor_messages`?**
The tool strictly accesses direct messages sent to your own authenticated user account. It will not show you other students' or instructors' private chats; the access is limited solely to your inbox.

**Are there rate limits when calling multiple tools like `course_reviews` and `instructor_reviews`?**
Yes, Vinkius enforces standard API usage limits. If your agent hits a throttle limit, you'll need to implement an exponential backoff strategy in your workflow code to retry the request.

**Do I need a special account to use the Udemy API?**
You need an API Client ID and Secret, which can be generated from your Udemy account settings under API clients.

**Can I read messages from my students?**
Yes! The MCP supports the Instructor API allowing you to fetch Direct Messages, QA, and unread replies.

**Is it possible to list courses from the public catalog?**
Yes, you can search for public courses and request insights over price, categories, and ratings.