可汗学院MCP服务器
开源 模型上下文协议 (MCP)服务器,让人工智能助手搜索、浏览和阅读可汗学院的教育内容。不需要API密钥。
快速开始
npx khanmcp或全局安装:
npm install -g khanmcp
khanacademy-mcpClaude桌面配置
将此添加到您的Claude Desktop配置中(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"khanacademy": {
"command": "npx",
"args": ["-y", "khanmcp"]
}
}
}工具
| 工具 | 说明 |
|---|---|
search | 在可汗学院搜索视频、文章、练习和课程 |
list_subjects | 列出所有顶级科目和热门课程 |
get_topic_tree | 通过具有可配置深度的slug浏览主题/主题层次结构 |
get_content | 获取特定内容项(视频、文章、练习)的详细信息 |
get_course | 获取包含单元、课程和内容项的完整课程结构 |
get_transcript | 获取视频记录(带时间戳或全文) |
get_article | 阅读可汗学院文章的全文内容 |
get_lesson | 获取特定课程中的所有内容项 |
embed_video | 嵌入带有缩略图、元数据、章节和可选转录的视频 |
get_exercise | 获取包含相关学习内容(视频、文章)和练习URL的练习详情 |
get_quiz | 列出一门课程的所有测验、单元测试和课程挑战,并附上准备材料 |
study_guide | 为任何主题制定结构化的学习计划 |
工具详细信息
search
query: string — Search query (e.g., "photosynthesis", "quadratic formula")
limit?: number — Max results (1-30, default: 10)list_subjects
没有参数。返回所有顶级科目和热门课程。
get_topic_tree
slug: string — Topic slug (e.g., "math", "science/biology")
depth?: number — Levels to fetch (0-3, default: 1)get_content
slug: string — Content slug or full URLget_course
slug: string — Course slug or URL (e.g., "math/algebra")get_transcript
slug: string — Video slug, KA URL, YouTube URL, or YouTube ID
language?: string — Language code (default: "en")
format?: string — "full", "timestamped", or "both" (default: "full")get_article
slug: string — Article slug or full URL (articles have "/a/" in the path)get_lesson
slug: string — Lesson slug or full URLembed_video
slug: string — Video slug, KA URL, YouTube URL, or YouTube ID
include_transcript?: bool — Include the full transcript (default: false)
language?: string — Language code for transcript (default: "en")get_exercise
slug: string — Exercise slug or full URL (exercises have "/e/" in the path)get_quiz
slug: string — Course slug or URL (e.g., "math/algebra")
kind?: string — "all", "quiz", "unit-test", or "course-challenge" (default: "all")study_guide
topic: string — Topic or concept to study (e.g., "quadratic equations")
depth?: string — "quick", "standard", or "comprehensive" (default: "standard")工作流
主题探索: list_subjects → get_topic_tree → get_course → get_lesson → get_content / get_transcript
快速查找: search → get_content 或 get_article → get_transcript (如果是视频)
学习环节: search 或 get_topic_tree → study_guide 供审查,然后 get_article / get_transcript 适合深潜
课程概述: get_course → 选择一个单元/课程→ get_lesson → get_content
测试准备: get_quiz → 复习涵盖的课程→ get_exercise 为了练习→ get_transcript / get_article 研究薄弱环节
发展
git clone https://github.com/aicoder2009/khanacademyMCP.git
cd khanacademyMCP
npm install
npm run build测试:
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node dist/index.js运作原理
汗学院在2020年否决了他们的公开API。此MCP服务器使用:
- 可汗学院内部GraphQL API --内容元数据和搜索的安全列表查询
- YouTube成绩单API --获取视频字幕
- 页面抓取 --从可汗学院网页中提取结构化数据作为后备方案
- 静态目录 --硬编码顶级主题,确保可靠
list_subjects
所有访问都是只读的,具有速率限制(请求之间500毫秒)和内存缓存,以尊重Khan Academy的服务器。
局限性
- 无身份验证--无法访问用户特定的数据(进度、建议)
- Khan Academy的内部API可能会在未经通知的情况下更改-静态故障可确保基本功能
- 成绩单的可用性取决于YouTube字幕的存在
- 为了避免Khan Academy的服务器过载,对价格进行了限制
许可证
麻省理工学院
