CourseForge
Build and manage courses on Caring CourseForge via the MCP client.
Source: npm — courseforge-mcp-client
Publisher: Caring Consulting Co (caringcos.com)
Setup
- 1. Install: INLINECODE0
- Set
COURSEFORGE_API_KEY in your environment:
- Get your key: caringcourseforge.com → Settings → API Keys
-
Store securely via your gateway environment config or shell profile (
export COURSEFORGE_API_KEY=cf_prod_...). Do not store API keys in plaintext workspace files.
- 3. Verify:
courseforge-mcp starts without errors
Calling Tools
Use the wrapper script to call any of the 89 CourseForge tools:
CODEBLOCK0
The script requires COURSEFORGE_API_KEY in the environment (set via gateway env or shell profile).
CODEBLOCK1
Output is clean JSON (the MCP envelope is stripped automatically).
Available Tools (89)
- - Courses (7):
list_courses, create_course, get_course, update_course, delete_course, get_course_settings, INLINECODE11 - Modules (5):
create_module, update_module, delete_module, reorder_modules, INLINECODE16 - Lessons (7):
create_lesson, get_lesson, update_lesson, delete_lesson, reorder_lessons, move_lesson, INLINECODE23 - Content Blocks (6):
add_content_block, get_content_block, update_content_block, delete_content_block, reorder_content_blocks, INLINECODE29 - Course Management (3):
validate_course, duplicate_module, INLINECODE32 - Knowledge Library (5):
list_collections, create_collection, list_documents, delete_document, INLINECODE37 - AI & Generation (26):
ai_chat_assistant, ai_chat_with_research, generate_course_outline, generate_lesson_content, generate_quiz_from_content, generate_image, generate_job_aid_pdf, suggest_improvements, auto_fix_quality_issues, translate_content, summarize_document, convert_document_to_pdf, analyze_image, marketing_support_chat, web_search, fetch_url_content, get_youtube_metadata, get_youtube_captions, scrape_web_to_knowledge, upload_to_knowledge, manage_knowledge_files, search_user_media, list_storage_files, delete_storage_file, get_storage_usage, INLINECODE63 - Search & Media (2):
search_stock_media, INLINECODE65 - Recordings (1): INLINECODE66
- API Keys (3):
list_api_keys, create_api_key, INLINECODE69 - Skills (2):
list_skills, INLINECODE71 - Agentic UI Control (22):
lock_canvas, unlock_canvas, refresh_canvas, notify_user, show_progress, request_confirmation, request_choice, scroll_to_element, select_element, expand_sidebar_item, focus_content_block, get_canvas_state, open_preview, close_preview, open_settings, toggle_sidebar, create_checkpoint, rollback_to_checkpoint, list_checkpoints, add_annotation, remove_annotation, INLINECODE93
For full parameter details on any tool, read references/tools.md.
Common Workflows
Create a course from scratch
- 1.
create_course — title, description, difficulty (beginner/intermediate/advanced) - INLINECODE96 — for each section, pass courseId
- INLINECODE97 — for each lesson, pass courseId + moduleId
- INLINECODE98 — add text, images, quizzes to lessons
- INLINECODE99 — check quality and accessibility
- INLINECODE100 — export to SCORM 1.2, SCORM 2004, xAPI, or HTML
AI-powered course generation
- 1.
generate_course_outline — provide topic, audience, difficulty → get full structure - INLINECODE102 +
create_module + create_lesson — build the structure from the outline - INLINECODE105 — auto-generate content for each lesson
- INLINECODE106 — create assessments from lesson content
- INLINECODE107 — get AI suggestions for quality
- INLINECODE108 — automatically fix issues
Use domain skills for specialized content
- 1.
list_skills — see all 17 available specialist skills - INLINECODE110 — load a skill (e.g., "Instructional Designer", "HR Specialist")
- Use the skill context when generating content with INLINECODE111
Export a course
CODEBLOCK2
Formats: scorm12, scorm2004, xapi, INLINECODE115
Content block types
When using add_content_block, the type field accepts:
- -
text — Rich text/HTML content - INLINECODE119 — Image with URL and alt text
- INLINECODE120 — Embedded video (YouTube, Vimeo, URL)
- INLINECODE121 — Interactive quiz/assessment
- INLINECODE122 — Tabbed content sections
- INLINECODE123 — Collapsible sections
- INLINECODE124 — Highlighted callout box
- INLINECODE125 — Visual separator
- INLINECODE126 — Code block with syntax highlighting
- INLINECODE127 — External embed (iframe)
- INLINECODE128 — Interactive image hotspot
- INLINECODE129 — Flashcard for review
- INLINECODE130 — Drag-and-drop sorting activity
- INLINECODE131 — Timeline visualization
- INLINECODE132 — Step-by-step process
- INLINECODE133 — Image with labels
- INLINECODE134 — Quick knowledge check
- INLINECODE135 — Branching scenario
Notes
- - All IDs are Firestore document IDs (alphanumeric strings)
- Courses have a hierarchy: Course → Modules → Lessons → Content Blocks
- The Knowledge Library stores reference documents that AI tools can use for generation
- Agentic UI Control tools require the user to have the course editor open in their browser
- Rate limits apply to AI generation tools based on the user's subscription tier
CourseForge
通过MCP客户端在Caring CourseForge上构建和管理课程。
来源: npm — courseforge-mcp-client
发布者: Caring Consulting Co (caringcos.com)
设置
- 1. 安装:npm install -g courseforge-mcp-client
- 在环境中设置COURSEFORGEAPIKEY:
- 获取密钥:caringcourseforge.com → 设置 → API密钥
-
安全存储,通过网关环境配置或shell配置文件(export COURSEFORGE
APIKEY=cf
prod...)。不要将API密钥以明文形式存储在workspace文件中。
- 3. 验证:courseforge-mcp启动无错误
调用工具
使用包装脚本调用任意89个CourseForge工具:
bash
node scripts/courseforge.mjs <工具名称>
该脚本需要在环境中设置COURSEFORGEAPIKEY(通过网关环境或shell配置文件设置)。
bash
node scripts/courseforge.mjs list_courses {}
输出为纯净JSON(MCP信封会自动剥离)。
可用工具(89个)
- - 课程(7个):listcourses、createcourse、getcourse、updatecourse、deletecourse、getcoursesettings、updatecoursesettings
- 模块(5个):createmodule、updatemodule、deletemodule、reordermodules、getmodule
- 课时(7个):createlesson、getlesson、updatelesson、deletelesson、reorderlessons、movelesson、duplicatelesson
- 内容块(6个):addcontentblock、getcontentblock、updatecontentblock、deletecontentblock、reordercontentblocks、movecontentblock
- 课程管理(3个):validatecourse、duplicatemodule、exportcourse
- 知识库(5个):listcollections、createcollection、listdocuments、deletedocument、searchknowledge
- AI与生成(26个):aichatassistant、aichatwithresearch、generatecourseoutline、generatelessoncontent、generatequizfromcontent、generateimage、generatejobaidpdf、suggestimprovements、autofixqualityissues、translatecontent、summarizedocument、convertdocumenttopdf、analyzeimage、marketingsupportchat、websearch、fetchurlcontent、getyoutubemetadata、getyoutubecaptions、scrapewebtoknowledge、uploadtoknowledge、manageknowledgefiles、searchusermedia、liststoragefiles、deletestoragefile、getstorageusage、getopenapispec
- 搜索与媒体(2个):searchstockmedia、searchyoutube
- 录制(1个):listrecordings
- API密钥(3个):listapikeys、createapikey、revokeapikey
- 技能(2个):listskills、getskill
- 代理UI控制(22个):lockcanvas、unlockcanvas、refreshcanvas、notifyuser、showprogress、requestconfirmation、requestchoice、scrolltoelement、selectelement、expandsidebaritem、focuscontentblock、getcanvasstate、openpreview、closepreview、opensettings、togglesidebar、createcheckpoint、rollbacktocheckpoint、listcheckpoints、addannotation、removeannotation、highlightissues
如需任何工具的完整参数详情,请阅读references/tools.md。
常见工作流程
从零开始创建课程
- 1. createcourse — 标题、描述、难度(初级/中级/高级)
- createmodule — 为每个章节创建,传入courseId
- createlesson — 为每个课时创建,传入courseId + moduleId
- addcontentblock — 向课时添加文本、图片、测验
- validatecourse — 检查质量和可访问性
- export_course — 导出为SCORM 1.2、SCORM 2004、xAPI或HTML
AI驱动的课程生成
- 1. generatecourseoutline — 提供主题、受众、难度 → 获取完整结构
- createcourse + createmodule + createlesson — 根据大纲构建结构
- generatelessoncontent — 自动生成每个课时的内容
- generatequizfromcontent — 根据课时内容创建评估
- suggestimprovements — 获取AI质量改进建议
- autofixqualityissues — 自动修复问题
使用领域技能生成专业内容
- 1. listskills — 查看所有17个可用的专业技能
- getskill — 加载技能(例如教学设计专家、人力资源专家)
- 在使用aichatassistant生成内容时使用技能上下文
导出课程
bash
node scripts/courseforge.mjs export_course {courseId:xxx,format:scorm12}
格式:scorm12、scorm2004、xapi、html
内容块类型
使用addcontentblock时,type字段接受:
- - text — 富文本/HTML内容
- image — 带URL和替代文本的图片
- video — 嵌入视频(YouTube、Vimeo、URL)
- quiz — 交互式测验/评估
- tabs — 标签式内容分区
- accordion — 可折叠分区
- callout — 高亮提示框
- divider — 视觉分隔线
- code — 带语法高亮的代码块
- embed — 外部嵌入(iframe)
- hotspot — 交互式图片热点
- flashcard — 复习用闪卡
- sortable — 拖拽排序活动
- timeline — 时间线可视化
- process — 分步流程
- labeledgraphic — 带标签的图片
- knowledgecheck — 快速知识检查
- scenario — 分支场景
注意事项
- - 所有ID均为Firestore文档ID(字母数字字符串)
- 课程具有层级结构:课程 → 模块 → 课时 → 内容块
- 知识库存储AI工具可用于生成的参考文档
- 代理UI控制工具要求用户在浏览器中打开课程编辑器
- AI生成工具根据用户订阅层级有速率限制