# Thinkific MCP

> Thinkific MCP Server connects your online course platform to your AI agent. It lets you manage everything—students, courses, and billing—via natural conversation. Use tools like `list_users` to get full student directories, `enroll_user` to add students to specific classes, or `list_orders` to track payments without touching the dashboard.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** lms, e-learning, online-courses, student-management, enrollment-automation, thinkific

## Description

This server hooks your Thinkific account up to your AI agent. You manage everything—students, courses, and money stuff—just talking to it. No more clicking through a million tabs in the admin dashboard; you just tell your agent what you need done.

**Managing Your Student Roster**
You can pull a complete directory of every registered student using `list_users`. If you only need specific details on one person, run `get_user` and give it the account ID. You'll get that user’s full profile and all their metadata in one chunk. Need to bring someone new into the fold? Use `create_user`; you just gotta provide the email, first name, and last name, and we build them out. These tools let you maintain a perfect record of your student body.

**Overseeing Your Product Catalog**
When it comes to what you're selling, you can list every purchasable item using `list_products`. This covers everything from standalone courses to big product bundles. If you want to see the structure behind all your offerings, use `list_courses` to get a full rundown of active classes. For granular detail on any single class, run `get_course` and feed it the course ID; that gives you the deep config data you need. You can also pull every defined category within Thinkific by calling `list_categories`, letting you see how your courses are organized.

**Handling Enrollments and Access Control**
Controlling who gets access is simple. If a student needs to be added to a class or product, use `enroll_user`. You don't have to manually update anything; the agent handles it. To check on current access rights for everyone, run `list_enrollments`—that shows you exactly who’s taking what right now. 

**Tracking Your Money Trail**
To keep an eye on site revenue and transactions, use `list_orders`. This tool gives you the complete transaction history, letting you see every single order that comes through your site. You'll get a full accounting of payments without ever having to navigate to the finance tab.

Thinkific’s structure—the users, the classes, the sales orders—gets wrapped up into conversational tools. Your agent uses these functions together: it can list all users (`list_users`), check one person's profile (`get_user`), and then enroll them in a specific product (`enroll_user`) using only natural language prompts. You maintain control over student directories, course catalogs, enrollment status, and financial records without ever touching the dashboard.

## Tools

### enroll_user
Adds an existing user to a specified product or course.

### create_user
Creates a brand-new user profile using the email, first name, and last name.

### get_course
Retrieves detailed configuration data for one specific learning course.

### get_user
Gets the full profile and metadata for a single, specified user account.

### list_categories
Pulls a list of all defined course categories within the Thinkific platform.

### list_courses
Retrieves a comprehensive list of every active course available on your site.

### list_enrollments
Lists all current user enrollments, showing who is taking what.

### list_orders
Retrieves the complete transaction history and list of site orders.

### list_products
Lists all purchasable items, covering both courses and product bundles.

### list_users
Retrieves a full list of every user account registered on your site.

## Prompt Examples

**Prompt:** 
```
List all active courses in my Thinkific academy.
```

**Response:** 
```
I've retrieved your courses. You have 5 active learning materials including 'AI Fundamentals', 'Advanced React', and 'Business Strategy'. Which one would you like to see enrollments for?
```

**Prompt:** 
```
Show me the details for student 'John Doe' (ID: user_10293).
```

**Response:** 
```
I've fetched John Doe's profile. He has been a member since Jan 2024 and is currently enrolled in 2 courses: 'AI Fundamentals' (90% complete) and 'Digital Marketing'. Shall I enroll him in another course?
```

**Prompt:** 
```
Enroll user 'user_8823' into course 'course_5521' and set it to expire in 30 days.
```

**Response:** 
```
Enrollment successful! I've added user_8823 to course_5521. The enrollment is set to expire on 2024-12-01. The student will receive a notification in their dashboard.
```

## Capabilities

### Manage Student Records
Retrieve full lists of users via `list_users`, pull specific profiles with `get_user`, or create brand new user accounts using `create_user`.

### Oversee the Course Catalog
List all available courses and product bundles (`list_products`), or get detailed metadata for a single course via `get_course`.

### Automate Enrollment Workflows
Add users to specific products using `enroll_user`, managing access rights without manual clicks. You can also list all current enrollments with `list_enrollments`.

### Track Financial Transactions
Monitor site revenue by listing all orders and transaction histories through the `list_orders` tool.

## Use Cases

### New student needs immediate setup
A support rep gets an email about a paying customer. Instead of logging into the backend, they ask their agent: 'Show me John Doe's details and enroll him in the Pro Bundle.' The agent runs `get_user` then `enroll_user`, solving it instantly.

### Auditing course availability
A product manager needs to see if a new category is ready for launch. They prompt: 'What categories do we have, and what are the top 3 courses in each?' The agent uses `list_categories` followed by targeted calls to `list_courses`, giving them a full structural report.

### Investigating billing discrepancies
A user questions an old payment. Instead of digging through the sales dashboard, they ask: 'Show me all orders from Q3.' The agent executes `list_orders`, providing a clear, filterable list of transactions.

### Onboarding a batch of beta testers
The team needs to manually enroll 20 users into a test course. They prompt: 'Enroll these 20 user IDs into Course X.' The agent loops through and executes `enroll_user` for every ID, completing the task in one go.

## Benefits

- Stop clicking through 5 different admin tabs just to check a student's status. Use `get_user` or `list_users` to pull full profiles instantly.
- Track your revenue history without diving into complex accounting views. Running `list_orders` gives you the transaction data you need, fast.
- Don’t waste time manually enrolling students. Use the `enroll_user` tool to add people to courses or bundles with a single command.
- Need to audit content? Run `list_courses` and `list_categories` to get an immediate map of your entire learning catalog structure.
- The ability to create users (`create_user`) directly through the agent means new sign-ups can be managed without requiring direct API access from a developer.

## How It Works

The bottom line is: You talk to your AI agent like you're talking to an admin, and it handles the API calls to Thinkific for you.

1. Subscribe to the Thinkific MCP Server on Vinkius.
2. Plug in your Thinkific API Key and Subdomain (you find these in your account settings).
3. Start giving commands through Claude, Cursor, or any other MCP client. Your agent runs the tools and gives you a direct answer.

## Frequently Asked Questions

**How do I list all users using the Thinkific MCP Server?**
You run `list_users`. This tool pulls a complete directory of every user account registered on your platform, giving you a foundational list of IDs and emails to work with.

**Can I enroll a user using the Thinkific MCP Server?**
Yes, use `enroll_user`. You just need to give the agent the target User ID and the Product/Course ID. It handles the actual enrollment change in your account.

**Does list_orders include expired courses?**
No. The `list_orders` tool only tracks financial transactions, not course access status. For current enrollments and expiration dates, you should use `list_enrollments`.

**How do I find out what courses are available?**
Run `list_courses`. This function returns a full roster of all active learning materials in your catalog, helping you see everything from single courses to complex bundles.

**What prerequisites do I need before running `list_users`?**
You must provide a valid Thinkific API Key and your account subdomain. The server uses these credentials to authenticate the request, giving your agent access to user data.

**If I call `enroll_user` with an invalid user ID or course ID, what happens?**
The tool returns a specific error code detailing which ID failed and why. This allows your AI client to catch the bad input immediately and report it without breaking the workflow.

**How do I get full details about products using `list_products`?**
The tool retrieves deep configurations for both courses and bundles. You can access pricing models, prerequisites, and associated materials within the returned data structure.

**Can I fetch large amounts of data with `list_enrollments` efficiently?**
Yes, the endpoint supports pagination. Your agent needs to process the next page token in sequence if you want records beyond the initial batch size.

**Can I manually enroll a student in a course using the AI?**
Yes! Use the `enroll_user` tool. Provide the User ID and the Course ID to instantly create a new enrollment for that student in your Thinkific academy.

**How do I see the full list of registered students?**
Run the `list_users` query. You can optionally use the `page` and `limit` parameters to navigate through your entire student directory.

**Is it possible to check recent revenue or orders via AI?**
Absolutely. Use the `list_orders` query. Your agent will retrieve the history of all transactions and orders processed through your Thinkific site.