MCP Integration

Use CourseForge with Claude Desktop and other AI assistants via Model Context Protocol

docsapi

Model Context Protocol (MCP) enables AI assistants like Claude Desktop to directly interact with CourseForge using natural language.

What is MCP?

MCP is an open standard that enables AI assistants to securely connect to external tools and data sources. With MCP, Claude Desktop can:

  • Create and manage courses
  • Generate content with AI
  • Add lessons and modules
  • Upload and manage content
  • All through natural language conversation

Quick Start

1. Get Your API Key

  1. Log in to CourseForge
  2. Go to SettingsAPI Keys
  3. Create a new API key
  4. Save it securely

2. Install CourseForge MCP Client

npx -y courseforge-mcp-client

3. Configure Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on Mac):

{
  "mcpServers": {
    "courseforge": {
      "command": "npx",
      "args": ["-y", "courseforge-mcp-client"],
      "env": {
        "COURSEFORGE_API_KEY": "your_api_key_here",
        "COURSEFORGE_API_URL": "https://courseforge.caringai.app/api/mcp"
      }
    }
  }
}

4. Restart Claude Desktop

Close and reopen Claude Desktop to load the MCP server.

Available Tools

CourseForge MCP provides 28 tools organized by category:

Course Management (5 tools)

  • list_courses - List all your courses
  • create_course - Create a new course
  • get_course - Get course details
  • update_course - Update course information
  • delete_course - Delete a course

Module Management (5 tools)

  • create_module - Add a module to a course
  • get_module - Get module details
  • update_module - Update module information
  • delete_module - Remove a module
  • reorder_modules - Reorder modules in a course

Lesson Management (5 tools)

  • create_lesson - Add a lesson to a module
  • get_lesson - Get lesson details
  • update_lesson - Update lesson information
  • delete_lesson - Remove a lesson
  • reorder_lessons - Reorder lessons in a module

Content Block Management (5 tools)

  • add_content_block - Add content to a lesson
  • get_content_block - Get content block details
  • update_content_block - Update content
  • delete_content_block - Remove content
  • reorder_content_blocks - Reorder content blocks

AI Features (3 tools)

  • generate_lesson_content - Generate lesson content with AI
  • generate_image - Create custom images with AI
  • ai_chat_assistant - Get instructional design help

API Key Management (3 tools)

  • list_api_keys - List your API keys
  • create_api_key - Create a new API key
  • revoke_api_key - Revoke an API key

Utilities (2 tools)

  • marketing_support_chat - Get help with CourseForge
  • get_openapi_spec - Get the OpenAPI specification

Example Conversations

Create a Complete Course

You: Create a beginner Python programming course with 3 modules: Basics, Data Types, and Control Flow

Claude will:

  1. Create the course
  2. Add three modules
  3. Suggest lessons for each module
  4. Offer to generate content

Generate Lesson Content

You: Generate content for a lesson about Python variables

Claude will:

  1. Create a lesson in the selected module
  2. Generate comprehensive content
  3. Add examples and explanations
  4. Create a quiz to test knowledge

Add Visual Content

You: Add an illustration showing how variables work in Python

Claude will:

  1. Generate a custom image using AI
  2. Add it to your lesson
  3. Include proper alt text

Advanced Usage

Using SSE Transport

For better performance with streaming:

{
  "mcpServers": {
    "courseforge": {
      "command": "npx",
      "args": ["-y", "courseforge-mcp-client"],
      "env": {
        "COURSEFORGE_API_KEY": "your_api_key",
        "COURSEFORGE_API_URL": "https://courseforge.caringai.app/api/mcp/sse",
        "MCP_TRANSPORT": "sse"
      }
    }
  }
}

Using Master API Key

For development/testing, use a master key:

{
  "mcpServers": {
    "courseforge": {
      "command": "npx",
      "args": ["-y", "courseforge-mcp-client"],
      "env": {
        "COURSEFORGE_API_KEY": "mcp_master_YOUR_KEY",
        "COURSEFORGE_API_URL": "https://courseforge.caringai.app/api/mcp"
      }
    }
  }
}

Tool Details

Course Operations

create_course

{
  name: string              // Required
  description?: string
  language?: string         // ISO 639-1 (default: 'en')
  difficulty?: 'beginner' | 'intermediate' | 'advanced' | 'expert'
  published?: boolean       // Default: false
}

list_courses

{
  page?: number            // Default: 1
  perPage?: number         // Default: 20, max: 100
  published?: boolean      // Filter by status
}

Module Operations

create_module

{
  courseId: string         // Required
  name: string            // Required
  description?: string
  order?: number
}

Lesson Operations

create_lesson

{
  courseId: string        // Required
  moduleId: string        // Required
  name: string           // Required
  description?: string
  order?: number
}

Content Block Operations

add_content_block

{
  courseId: string       // Required
  moduleId: string       // Required
  lessonId: string       // Required
  block: {
    type: 'text' | 'image' | 'video' | 'quiz' | 'code' | 'interactive'
    content: object      // Type-specific content
    order?: number
  }
}

AI Generation

generate_lesson_content

{
  courseId: string
  moduleId: string
  lessonId: string
  topic: string                     // What to teach
  learningObjectives?: string[]     // Optional objectives
}

generate_image

{
  courseId: string
  lessonId: string
  prompt: string                    // Detailed description
  aspectRatio?: '1:1' | '16:9' | '9:16' | '4:3' | '3:4'
  numberOfImages?: number           // 1-4, default: 1
  context?: string                  // Additional context
}

Troubleshooting

MCP Server Not Loading

Check config file location:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Verify JSON syntax:

cat ~/Library/Application\ Support/Claude/claude_desktop_config.json | jq .

Check logs:

  • Mac: ~/Library/Logs/Claude/mcp.log
  • Windows: %APPDATA%\Claude\Logs\mcp.log

Authentication Errors

  • Verify API key is correct
  • Check API key hasn't been revoked
  • Ensure Professional or Enterprise plan

Tool Not Working

  • Check tool inputs match schema
  • Verify you have permission
  • Check API rate limits
  • Review error messages in logs

Best Practices

Efficient Course Creation

  1. Start with structure: Create course → modules → lessons
  2. Generate content: Use AI for initial content
  3. Review and refine: Edit AI-generated content
  4. Add assessments: Create quizzes for each lesson
  5. Test flow: Preview the course

Natural Language Tips

Be specific in requests:

  • ✅ "Create a beginner Python course with 5 modules about basics, data types, control flow, functions, and projects"
  • ❌ "Make a course"

Provide context:

  • ✅ "Generate a lesson about Python lists for complete beginners with examples"
  • ❌ "Lesson about lists"

Review generated content:

  • Always review AI-generated content
  • Add your expertise and examples
  • Customize for your audience

Security

API Key Safety

  • Never share your API key
  • Store in environment variables
  • Rotate keys regularly
  • Use separate keys for different purposes

Master Key

The master API key grants full access:

  • Only use in secure development environments
  • Never commit to version control
  • Rotate frequently
  • Monitor usage

Rate Limits

MCP requests count toward your API rate limits:

  • Free: 100 requests/hour
  • Professional: 1,000 requests/hour
  • Enterprise: 10,000 requests/hour

See Rate Limits for details.

Getting Help

Documentation

Support

Examples

What's Next?

  • Webhooks: Get notified of changes in real-time
  • Batch operations: Process multiple items efficiently
  • Custom integrations: Build your own tools
  • Advanced AI: Fine-tune content generation

Topics

what is mcp?prerequisitessetupconfigure claude desktopverify connectionavailable capabilitiesexample conversationstroubleshootingauthentication errorsoperations not working