Thinkific MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| THINKIFIC_API_KEY | No | Your Thinkific API key from Settings → Code & Analytics → API | |
| THINKIFIC_SUBDOMAIN | No | Your Thinkific site subdomain (e.g. my-school from my-school.thinkific.com) | |
| THINKIFIC_OAUTH_TOKEN | No | OAuth2 Bearer token (alternative to API Key auth) |
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": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_coursesB | List courses on the Thinkific site with pagination. |
| get_courseC | Get detailed information about a specific course by ID. |
| list_chaptersC | List chapters (sections) within a course. |
| list_contentsC | List content/lessons within a chapter. |
| list_usersC | List all users/students on the Thinkific site. |
| get_userC | Get detailed information about a specific user by ID. |
| create_userC | Create a new user/student on the Thinkific site. |
| search_usersB | Search for users by email address. The Thinkific API filters users by exact or partial email match. |
| list_enrollmentsC | List enrollments with optional filtering by user or course. |
| create_enrollmentC | Enroll a user in a course. |
| list_ordersC | List orders with optional filtering. |
| get_orderB | Get detailed information about a specific order by ID. |
| list_productsC | List products available on the Thinkific site. |
| get_productC | Get detailed information about a specific product by ID. |
| list_bundlesC | List course bundles on the Thinkific site. |
| list_categoriesB | List course categories. |
| create_promotionA | Create a new promotion (discount). Promotions hold coupon codes. Create a promotion first, then create coupons under it. |
| list_couponsB | List coupons for a promotion. Thinkific coupons belong to promotions. |
| create_couponB | Create a new coupon/discount code. Requires a promotion_id — use list_promotions first to get one. |
| list_groupsC | List groups on the Thinkific site. |
| get_groupB | Get detailed information about a specific group by ID. |
| list_instructorsB | List instructors on the Thinkific site. |
| list_course_reviewsC | List course reviews, optionally filtered by course. |
| list_promotionsB | List promotions on the Thinkific site. |
| update_userC | Update an existing user's details. |
| delete_userC | Delete a user from the Thinkific site. |
| get_enrollmentB | Get detailed information about a specific enrollment by ID. |
| update_enrollmentC | Update an enrollment (e.g. change expiry date, mark completed, set free trial). |
| get_bundleC | Get detailed information about a specific bundle by ID. |
| list_bundle_coursesC | List courses within a specific bundle. |
| list_bundle_enrollmentsB | List enrollments for a specific bundle. |
| create_bundle_enrollmentC | Enroll a user in a bundle. |
| update_bundle_enrollmentC | Update a bundle enrollment (e.g. change expiry, free trial status). |
| create_categoryC | Create a new category (collection) for organizing products. |
| get_categoryC | Get detailed information about a specific category by ID. |
| update_categoryC | Update an existing category. |
| delete_categoryC | Delete a category from the Thinkific site. |
| list_category_productsC | List products in a specific category. |
| add_products_to_categoryC | Add products to a category (collection membership). |
| remove_products_from_categoryC | Remove products from a category (collection membership). |
| get_chapterB | Get detailed information about a specific chapter by ID. |
| get_contentC | Get detailed information about a specific content/lesson by ID. |
| get_couponB | Get detailed information about a specific coupon by ID. |
| update_couponC | Update an existing coupon. |
| delete_couponC | Delete a coupon. |
| bulk_create_couponsC | Bulk-create multiple coupon codes at once under a promotion. |
| create_course_reviewC | Create a course review. |
| get_course_reviewC | Get a specific course review by ID. |
| list_custom_profile_fieldsC | List custom profile field definitions for the site. |
| create_external_orderC | Create an external order for a user (for purchases made outside Thinkific). |
| refund_external_orderC | Refund an external order. |
| purchase_external_orderC | Record a purchase transaction for an external order. |
| create_groupC | Create a new group on the Thinkific site. |
| delete_groupC | Delete a group from the Thinkific site. |
| list_group_analystsB | List analysts (managers) for a group. |
| add_group_analystC | Add a user as an analyst (manager) for a group. |
| remove_group_analystC | Remove a user as an analyst from a group. |
| add_user_to_groupC | Add a user to a group. |
| create_instructorC | Create a new instructor profile. |
| get_instructorC | Get detailed information about a specific instructor by ID. |
| update_instructorC | Update an instructor's profile. |
| delete_instructorB | Delete an instructor profile. |
| list_publish_requestsC | List product publish requests. |
| get_publish_requestC | Get a specific product publish request by ID. |
| approve_publish_requestC | Approve a product publish request. |
| deny_publish_requestC | Deny a product publish request. |
| list_related_productsB | List related products for a given product. |
| get_promotionC | Get detailed information about a specific promotion by ID. |
| update_promotionC | Update an existing promotion. |
| delete_promotionC | Delete a promotion. |
| get_promotion_by_couponB | Look up a promotion by coupon code. |
| list_site_scriptsC | List all site scripts on the Thinkific site. |
| create_site_scriptC | Create a new site script (custom JS/CSS snippet). |
| get_site_scriptB | Get a specific site script by ID. |
| update_site_scriptC | Update an existing site script. |
| delete_site_scriptC | Delete a site script. |
| get_site_infoB | Get overview information about the connected Thinkific site by fetching course and user counts. |
| get_performance_metricsB | Get performance metrics and statistics for API calls, cache hit rates, and tool execution times. Use this to monitor and optimize MCP server performance. |
| gql_communityC | Find a community by ID (GraphQL). |
| gql_community_userB | Find a community user by ID (GraphQL). Optionally filter by communityId or userId. |
| gql_postC | Find a post or reply by ID (GraphQL). |
| gql_spaceC | Find a space by ID (GraphQL). |
| gql_bundleC | Returns a Bundle by ID (GraphQL). |
| gql_categoryC | Returns a Category by ID (GraphQL). |
| gql_chapterC | Returns a Chapter by ID (GraphQL). |
| gql_courseC | Returns a Course by ID (GraphQL). |
| gql_course_by_slugC | Returns a Course by slug (GraphQL). |
| gql_groupC | Returns a Group by ID (GraphQL). |
| gql_lessonC | Returns a Lesson by ID (GraphQL). |
| gql_meB | Returns the current authenticated user (GraphQL). |
| gql_productC | Returns a Product by ID (GraphQL). |
| gql_siteB | Returns site information for the connected Thinkific site (GraphQL). |
| gql_userB | Returns a User by their global ID (gid) (GraphQL). |
| gql_user_by_emailC | Returns a User by email address (GraphQL). |
| gql_create_postC | Create a community post in a space (GraphQL). Note: CreatePostInput uses 'content' for the body. |
| gql_follow_postC | Follow a post to receive notifications (GraphQL). |
| gql_move_postC | Move a post to a different space (GraphQL). |
| gql_pin_postC | Pin a post in its space (GraphQL). |
| gql_react_to_postB | React to a post with an emoji reaction (GraphQL). Valid reactions: EYES, HEART_EYES, JOY, LIKE, OPEN_MOUTH, PENSIVE, TADA, WAVE. |
| gql_reply_to_postC | Reply to a post (GraphQL). Note: uses 'content' for the body and 'parentId' for the post ID. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| courses | List of all courses on the Thinkific site (first 100). |
| users | List of users/students on the Thinkific site (first 100). |
| site | Overview of the Thinkific site: course, user, enrollment, and product counts. |
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/ackbarguppi-ai/thinkific-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server