API Reference

MCP Integration

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

Model Context Protocol (MCP):

MCP allows AI assistants like Claude Desktop to directly interact with CourseForge, enabling natural language course creation, content generation, and management workflows.

What is MCP?

Model Context Protocol (MCP) is an open standard that enables AI assistants to securely connect to external tools and data sources. With MCP, Claude Desktop can interact with your CourseForge account using natural language, making course creation and management more intuitive.

Prerequisites

  • Professional or Enterprise plan: MCP integration is available on paid plans
  • API Key: Generate an API key from your API Keys settings
  • Claude Desktop: Download from claude.ai/download

Setup

Configure Claude Desktop

Add the CourseForge MCP server to your Claude Desktop configuration file. The server uses stdio transport with our NPM client package for optimal compatibility.

macOS/Linux

Location: ~/.config/claude/claude_desktop_config.json

{
  "mcpServers": {
    "courseforge": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "courseforge-mcp-client"],
      "env": {
        "COURSEFORGE_API_KEY": "cf_prod_your_api_key_here"
      }
    }
  }
}

Windows

Location: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "courseforge": {
      "type": "stdio",
      "command": "npx.cmd",
      "args": ["-y", "courseforge-mcp-client"],
      "env": {
        "COURSEFORGE_API_KEY": "cf_prod_your_api_key_here"
      }
    }
  }
}

Claude Code (VS Code Extension)

Create a .claude.json file in your project root:

{
  "mcpServers": {
    "courseforge": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "courseforge-mcp-client"],
      "env": {
        "COURSEFORGE_API_KEY": "cf_prod_your_api_key_here"
      }
    }
  }
}
⚠️
Security Note:

Replace cf_prod_your_api_key_here with your actual API key. Never commit this file to version control or share it publicly.

Verify Connection

Close and reopen Claude Desktop (or restart the Claude mobile app) for the changes to take effect. You should see a small server icon indicating that the CourseForge MCP server is connected and ready to use.

Available Capabilities

Once configured, Claude can interact with your CourseForge account using natural language. The MCP server provides 28 comprehensive tools organized into 7 categories:

Course Operations (5 tools)

  • List all courses with filtering
  • Create new courses with metadata
  • Get detailed course information
  • Update course details
  • Delete courses

Module Operations (5 tools)

  • List modules in a course
  • Create new modules
  • Get module details
  • Update module metadata
  • Delete modules

Lesson Operations (5 tools)

  • List lessons in a module
  • Create new lessons
  • Get lesson details
  • Update lesson metadata
  • Delete lessons

Content Block Operations (5 tools)

  • List content blocks in a lesson
  • Create content blocks (text, images, videos, quizzes, code)
  • Get content block details
  • Update content blocks
  • Delete content blocks

AI Content Generation (1 tool)

  • Generate educational content with Claude AI
  • Create comprehensive lesson content and explanations
  • Generate code examples with best practices
  • Context-aware content based on learning objectives

API Key Management (3 tools)

  • List API keys (requires user login)
  • Create new API keys (requires user login)
  • Revoke/delete API keys (requires user login)

Cognito Tools (4 tools)

  • AI Chat Assistant - Get help with course creation and pedagogical guidance
  • Generate Images - Create custom AI-generated images with Gemini 2.5
  • Marketing Support Chat - Get answers about features, pricing, and support
  • OpenAPI Spec - Retrieve the API specification for custom integrations

Example Conversations

Here are some examples of how you can interact with CourseForge through Claude Desktop using all available tool categories:

Creating a Complete Course Structure
You:

"Create a beginner course about Python programming with 5 modules, then add a lesson about variables to the first module"

Claude:

"I'll create a Python programming course with 5 modules covering fundamentals, data structures, functions, OOP, and projects. Then I'll add a comprehensive lesson about variables to Module 1..."

Managing Course Content
You:

"Show me all lessons in the 'Data Structures' module, then update the second lesson to increase its duration to 30 minutes"

Claude:

"Here are the lessons in the Data Structures module: [lists lessons]. I've updated the 'Working with Lists' lesson duration to 30 minutes."

AI Content Generation
You:

"Generate comprehensive lesson content about JavaScript closures with code examples and practical use cases"

Claude:

"I'll generate detailed content about JavaScript closures including explanation, code examples, common patterns, and practical applications..."

Content Block Management
You:

"List all content blocks in the 'Variables' lesson, then add a code block showing variable examples"

Claude:

"Here are the content blocks: [lists blocks]. I've added a code block with Python variable examples including strings, integers, lists, and dictionaries."

Batch Operations
You:

"Show me all my draft courses, then publish the Python course and delete the outdated JavaScript course"

Claude:

"Here are your draft courses: [lists drafts]. I've published the Python course and deleted the JavaScript course as requested."

Troubleshooting

MCP Server Not Appearing in Claude

If the CourseForge server doesn't appear in Claude Desktop:

  • Verify the configuration file path is correct for your operating system
  • Check that the JSON syntax is valid (no trailing commas, proper quotes)
  • Ensure type is set to "stdio"
  • Verify command is "npx" (or "npx.cmd" on Windows)
  • Restart Claude Desktop completely (not just refresh) - MCP servers only load on startup
  • Check your internet connection - npx needs to download the client package on first run
  • Ensure Node.js and npm are installed (node --version should work)

Authentication Errors

If you receive authentication errors:

  • Confirm your API key is active in your API Keys settings
  • Verify the key is correctly copied (including the cf_prod_ prefix)
  • Check that your subscription plan includes MCP access
  • Ensure you haven't exceeded your API rate limits

Operations Not Working

If MCP operations fail or behave unexpectedly:

  • Check the Claude Desktop logs for error messages
  • Verify your CourseForge account has the necessary permissions
  • Try a simple operation first (like "list my courses") to test the connection
  • Ensure the courseforge-mcp-client package can be downloaded by npx
  • Check the CourseForge status page for any service disruptions
  • Verify your firewall isn't blocking HTTPS connections to courseforge.caringai.app
  • Test your API key by making a direct API call using curl or Postman

Advanced Configuration

Self-Hosted Instances

If you're using a self-hosted or development instance of CourseForge, you can specify a custom API URL:

{
  "mcpServers": {
    "courseforge": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "courseforge-mcp-client"],
      "env": {
        "COURSEFORGE_API_KEY": "cf_prod_your_api_key_here",
        "COURSEFORGE_API_URL": "https://your-instance.com/api/mcp"
      }
    }
  }
}

Add COURSEFORGE_API_URL environment variable to point to your custom instance. The default is https://courseforge.caringai.app/api/mcp.

Local Development

For local development with a dev server running on localhost:

{
  "mcpServers": {
    "courseforge": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "courseforge-mcp-client"],
      "env": {
        "COURSEFORGE_API_KEY": "your_dev_api_key",
        "COURSEFORGE_API_URL": "http://localhost:3000/api/mcp"
      }
    }
  }
}

Make sure your local development server is running before connecting.

Rate Limits

MCP operations are subject to the same rate limits as direct API calls.

Professional:

1,000 requests per hour

Enterprise:

10,000 requests per hour (custom limits available)

See the Rate Limits documentation for more details.

Security Best Practices

🔒
Security Guidelines:
  • Store your API key securely and never commit it to version control
  • Use separate API keys for different environments (development, production)
  • Regularly rotate your API keys
  • Monitor your API usage for unexpected activity
  • Revoke keys immediately if they may have been compromised

Need Help?

If you encounter issues or have questions about MCP integration: