teachable-mcp-server

ahmedrowaihi/teachable-mcp-server

3.2

If you are the rightful owner of teachable-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A Model Context Protocol (MCP) server that integrates with the Teachable API for managing courses, users, and more.

Tools
5
Resources
0
Prompts
0

Teachable MCP Server

A Model Context Protocol (MCP) server that provides seamless integration with the Teachable API. This server allows AI assistants to interact with your Teachable school, manage courses, users, enrollments, and more.

Features

  • Course Management: List, view, and manage courses
  • User Management: Create, update, and manage users
  • Enrollment Operations: Enroll/unenroll users in courses
  • Progress Tracking: Monitor student progress and course completion
  • Quiz & Video Access: Retrieve quiz and video content
  • Webhook Management: Handle webhook events
  • Transaction Tracking: Monitor sales and transactions
  • Pricing Plans: Manage course pricing

Installation

Option 1: Install from NPM (Recommended)

npm install -g teachable-mcp-server

Option 2: Local Development

  1. Clone or navigate to the project directory:

    cd teachable-mcp
    
  2. Install dependencies:

    npm install
    
  3. Build the TypeScript code:

    npm run build
    

Configuration

API Key Setup

The MCP server requires your Teachable API key to authenticate requests. You have several options to configure it:

Option 1: Environment File (.env)
  1. Create a .env file in the teachable-mcp directory:

    cp ../example.env .env
    
  2. Edit the .env file and add your API key:

    API_KEY_APIKEYAUTH=your_teachable_api_key_here
    
Option 2: Export Environment Variable
export API_KEY_APIKEYAUTH=your_teachable_api_key_here

Getting Your Teachable API Key

  1. Log into your Teachable admin dashboard
  2. Navigate to SettingsIntegrationsAPI
  3. Generate or copy your existing API key
  4. Use this key in your environment configuration

Usage

Running the MCP Server

The MCP server uses stdio transport, which means it communicates through standard input/output streams. This is the standard way MCP servers are designed to work with AI assistants and other MCP clients.

Direct Execution (Global Install)

If you installed globally via npm:

# Make sure your API key is set
export API_KEY_APIKEYAUTH=your_teachable_api_key_here

# Run the server
teachable-mcp-server
Local Development
# Make sure your API key is set
export API_KEY_APIKEYAUTH=your_teachable_api_key_here

# Run directly
node build/index.js

# Or use npm script
npm start

The server will start and listen for MCP requests via stdio transport. It does not open a web server or HTTP endpoint - instead, it communicates through stdin/stdout.

Integrating with MCP Clients

Configuration for Claude Desktop / Cursor

Add to your MCP client configuration (e.g., claude_desktop_config.json or similar):

{
  "mcpServers": {
    "teachable": {
      "command": "npx",
      "args": ["-y", "teachable-mcp-server"],
      "env": {
        "API_KEY_APIKEYAUTH": "your_teachable_api_key_here"
      }
    }
  }
}

Available Tools

The MCP server provides the following tools:

Course Management
  • ListCourses - Fetch all courses at your school
  • ShowCourse - Fetch a specific course by ID
  • ShowCourseEnrollments - Fetch enrolled students and progress for a course
  • CourseProgress - Fetch a specific user's course progress
Content Access
  • ShowLecture - Fetch content of a specific course lecture
  • MarkLectureComplete - Mark a lecture as complete for a user
  • ListQuizzes - Fetch quizzes in a specific lecture
  • ShowQuiz - Fetch specific quiz information
  • ShowQuizResponses - Fetch quiz responses
  • ShowVideo - Fetch video information
User Management
  • ListUsers - Get a list of users
  • CreateUser - Create a new user
  • ShowUser - Get user details and enrollments
  • UpdateUser - Update user information
Enrollment Operations
  • EnrollUser - Enroll a user in a course
  • UnenrollUser - Unenroll a user from a course
Business Operations
  • ListPricingPlans - Fetch all pricing plans
  • ShowPricingPlans - Fetch specific pricing plan details
  • ListTransactions - Fetch sales transactions
Webhook Management
  • ListWebhooks - Fetch all webhook events
  • ShowWebhookEvents - Fetch events for a specific webhook

API Documentation

This MCP server is auto-generated from the Teachable OpenAPI specification. All tools correspond directly to Teachable API endpoints with the same parameters and response formats.

For detailed API documentation, refer to:

Security

  • API Key: Your Teachable API key is required and should be kept secure
  • Environment Variables: Never commit API keys to version control
  • HTTPS: All API requests are made over HTTPS to https://developers.teachable.com

Building from Source

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run tests (if available)
npm test

Version