Thinkific MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Thinkific MCP ServerShow me the 10 most recent orders and the customers who placed them"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Thinkific MCP Server
A production-quality Model Context Protocol (MCP) server for the Thinkific REST Admin API. Lets AI assistants (Claude, GPT, etc.) interact with your Thinkific site directly — manage courses, students, enrollments, orders, coupons, and more.
Features
24 MCP tools covering courses, users, enrollments, orders, products, bundles, coupons, groups, instructors, reviews, promotions, and categories
3 MCP resources for quick site overview data
Dual authentication — API Key or OAuth Bearer token
Pagination on every list endpoint (page + limit params)
Rate-limit awareness — automatic retry with exponential back-off on 429 responses
Structured error handling — human-readable errors, never crashes the server
TypeScript — fully typed, strict mode, JSDoc throughout
Quick Start
1. Install
# Clone or copy the project
cd ~/Documents/thinkific-mcp
# Install dependencies
npm install
# Build
npm run build2. Configure Authentication
You need one of the two auth methods:
Option A: API Key (single site)
Find your API key in your Thinkific admin: Settings → Code & Analytics → API.
export THINKIFIC_API_KEY="your-api-key"
export THINKIFIC_SUBDOMAIN="your-site-subdomain"Option B: OAuth Token (multi-site apps)
export THINKIFIC_OAUTH_TOKEN="your-oauth-bearer-token"3. Run
# Direct
node dist/index.js
# Or via npm
npm startUsage with Claude Desktop
Add to your Claude Desktop MCP config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"thinkific": {
"command": "node",
"args": ["/path/to/thinkific-mcp/dist/index.js"],
"env": {
"THINKIFIC_API_KEY": "your-api-key",
"THINKIFIC_SUBDOMAIN": "your-subdomain"
}
}
}
}Usage with OpenClaw / mcporter
# Register the server
mcporter add thinkific -- node /path/to/thinkific-mcp/dist/index.js
# Set env vars
mcporter env thinkific THINKIFIC_API_KEY=your-api-key
mcporter env thinkific THINKIFIC_SUBDOMAIN=your-subdomain
# Verify tools are visible
mcporter tools thinkificTool Reference
Courses
Tool | Description | Key Parameters |
| List all courses with pagination |
|
| Get a single course by ID |
|
Chapters & Contents
Tool | Description | Key Parameters |
| List chapters in a course |
|
| List lessons in a chapter |
|
Users
Tool | Description | Key Parameters |
| List all users/students |
|
| Get user details by ID |
|
| Create a new user |
|
| Search users by email/name |
|
Enrollments
Tool | Description | Key Parameters |
| List enrollments (filterable) |
|
| Enroll a user in a course |
|
Orders
Tool | Description | Key Parameters |
| List orders (filterable) |
|
| Get order details by ID |
|
Products & Bundles
Tool | Description | Key Parameters |
| List all products |
|
| Get product details by ID |
|
| List course bundles |
|
Coupons
Tool | Description | Key Parameters |
| List all coupons |
|
| Create a discount code |
|
Groups
Tool | Description | Key Parameters |
| List all groups |
|
| Get group details by ID |
|
Other
Tool | Description | Key Parameters |
| List instructors |
|
| List reviews (filterable) |
|
| List promotions |
|
| List categories |
|
| Site overview (counts) | (none) |
Resources
Resource URI | Description |
| JSON listing of all courses (first 100) |
| JSON listing of all users (first 100) |
| JSON overview with total counts |
Environment Variables
Variable | Required | Description |
| Yes (API Key auth) | Your Thinkific API key from Settings → Code & Analytics → API |
| Yes (API Key auth) | Your Thinkific site subdomain (e.g. |
| Yes (OAuth auth) | OAuth2 Bearer token (alternative to API Key auth) |
Note: If
THINKIFIC_OAUTH_TOKENis set, it takes precedence over API Key auth.
Project Structure
thinkific-mcp/
├── src/
│ ├── index.ts # Entry point — server bootstrap
│ ├── client.ts # Thinkific API client (auth, pagination, retry)
│ ├── tools.ts # MCP tool definitions and handlers
│ ├── resources.ts # MCP resource definitions
│ ├── types.ts # TypeScript interfaces for API responses
│ └── test.ts # Validation test script
├── dist/ # Compiled JavaScript (after build)
├── package.json
├── tsconfig.json
├── README.md
├── LICENSE
└── .gitignoreDevelopment
# Build
npm run build
# Watch mode
npm run dev
# Type-check only
npm run lint
# Run tests (after build)
npm testTroubleshooting
"Thinkific authentication not configured"
Set the required environment variables. You need either:
THINKIFIC_API_KEYandTHINKIFIC_SUBDOMAIN, orTHINKIFIC_OAUTH_TOKEN
401 Authentication Error
Verify your API key hasn't been rotated (keys are shown only once after reset)
Confirm your Thinkific plan supports API access (Grow/Pro + Growth or above)
Check the subdomain matches exactly (e.g.
my-school, notmy-school.thinkific.com)
429 Rate Limit
The server automatically retries with exponential back-off (up to 3 retries). If you're consistently hitting rate limits, reduce request frequency or add pagination with smaller page sizes.
Empty Results
Check that you're connecting to the correct site (verify subdomain)
Some endpoints require data to exist first (e.g. no enrollments without courses and users)
Server Won't Start
Ensure Node.js 18+ is installed:
node --versionRun
npm run buildfirst — the server runs fromdist/Check stderr for error messages (stdout is reserved for MCP protocol)
API Documentation
License
MIT — see LICENSE.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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