EduBase MCP服务器
此存储库包含 模型上下文协议的实现 (MCP)服务器 为EduBase平台. 它允许MCP客户端(例如Claude Desktop)和llm与您的EduBase帐户进行交互,并代表您执行任务。它支持演播室、SSE和可流HTTP传输协议。

什么是EduBase?
EduBase是一个创新的、模块化的在线教育平台,它使学习更愉快、更简单、更互动,适合教育机构或企业。
为什么选择EduBase?
EduBase以其独特的功能组合彻底改变了数字学习:
- 高级问答系统 参数化允许同一问题的无限变化,实时作弊检测,漂亮的LaTeX排版,先进的stem支持和自动评分
- 统一学习环境 它将您的所有教育内容-视频,考试,文档和SCORM模块-集中在一个直观的系统中
- 企业级安全 具有SSO集成、细粒度访问控制、全面审计和GDPR遵从性等功能
- 集成 通过LTI、综合API和自定义集成选项与现有系统集成
- AI-Assisted工具,例如EduBase Assistant,它可以立即将您现有的内容转换为交互式测验和评估,或者将您的材料从一种语言翻译成另一种语言
从高等教育机构到企业培训部门,EduBase扩展以满足您的特定需求,同时在所有设备上保持直观的用户体验。
演示视频
与Claude协作创建和上传问题,安排考试和分析用户结果:
获取API凭据
登录后,在仪表板上搜索集成菜单,单击“添加集成”并选择“EduBase API”类型。
如果您没有看到这个选项,输入 MCPGITHUB 激活码或随时与我们联系,要求访问 [email protected].
工具
每个记录的API端点都可以作为工具使用,名为 edubase_<method>_<endpoint>. 例如,工具的 GET /user:me 端点命名 edubase_get_user_me. 标记、权限和传输端点对每种内容类型都以相同的方式工作,因此它们与 type 参数(如。 edubase_post_content_tag 用于 POST /exam:tag, POST /quiz:tag等)。看到我们的 开发人员文档 了解更多信息。
工具集
工具被分组到工具集中,因此您可以只公开您需要的工具。更少的工具使用更少的模型上下文,使模型更容易选择正确的上下文。默认情况下,每个工具集都是启用的。
| 工具集 | 的工具 |
|---|---|
files | 临时文件上传(始终启用) |
questions | 问题 |
quizzes | 测验集,他们的问题,设置和评分预设 |
exams | 考试、设置、用户、证书、品牌和旅程 |
results | 测验和考试结果,证书下载 |
users | 用户,他们的名字,组和登录链接 |
classes | 类和类成员 |
organizations | 组织、成员、部门、工作角色、能力和网络链接 |
integrations | 集成及其关键字 |
tags | 标签和内容的标签附件 |
permissions | 用户对内容和所有权转移的权限 |
metrics | 自定义指标 |
中以逗号分隔的列表选择工具集 EDUBASE_TOOLSETS (如。 questions,quizzes,exams). 集 EDUBASE_READONLY=true 只公开读取数据的工具 get 工具,以及只生成下载链接的工具,比如 edubase_post_question_export)。
集 EDUBASE_DYNAMIC_TOOLSETS=true 按需启用工具集:会话仅从关键工具开始,并且模型启用它需要的工具集 edubase_enable_toolsets 工具(列于 edubase_list_toolsets). 对于预先加载每个工具的客户端来说,这使得初始工具列表很小,但需要一个客户端在通知更改时刷新工具列表。
当使用HTTP传输时,客户端可以为自己的会话进一步缩小配置 EduBase-Mcp-Toolsets, EduBase-Mcp-ReadOnly 和 EduBase-Mcp-Dynamic 头文件,或 toolsets, read_only 和 dynamic_toolsets 查询参数(例如: https://domain.edubase.net/mcp?toolsets=exams&read_only=true). 会话永远不能启用服务器配置禁用的工具集或编写工具。
提示
提示是现成的工作流,您可以从您的MCP客户端(例如从 + 或者 / 菜单)。支持补全的客户端会在您键入:问题类型、您自己的考试、测验集和课程时为参数建议值。
| 提示 | 它是做什么的 | 参数 |
|---|---|---|
提出一个问题(edubase_prompt_create_question) | 编写一个新问题并将其发布到QuestionBase | type, subject、可选 difficulty 和 language |
从文档中创建问题(edubase_prompt_questions_from_document) | 批准计划后,将附加的文档(或文件路径或URL)转换为问题,可选地将其添加到Quiz集中 | document、可选 questions (数), types, quiz 和 language |
创建考试(edubase_prompt_create_exam) | 生成关于一个主题的问题,将它们收集到一个新的测验集中,并从中创建一个考试 | topic, questions (数),可选的 types (逗号分隔) language 和 schedule |
创建一个带有旅程的考试(edubase_prompt_create_exam_journey) | 创建一个像上面这样的考试,然后建立并发布一个小的考试旅程,重用你的账户相关的考试,并创建一个练习测验集和后续考试,如果需要的话 | 和......一样的 创建考试 |
抄试卷(edubase_prompt_copy_exam) | 从相同的测验集和新时间窗口的设置中创建新考试 | exam, schedule、可选 title |
安排一个班级参加考试(edubase_prompt_assign_class_to_exam) | 分配班级中活跃的成员参加考试 | exam, class |
总结考试成绩(edubase_prompt_summarize_exam_results) | 分析考试结果,并可选择将摘要保存到考试中 | exam、可选 focus 和 save (ask, yes 或者 no) |
检查考试行程(edubase_prompt_exam_journey_status) | 显示用户在考试过程中的进度,以及谁被卡住了 | exam |
只有在启用工具集时才会提供提示,并且在只读模式下只会提供最后两个提示。
当考试的问题类型为空时,支持启发的客户要求使用复选框。这些客户端还要求您确认无法撤消的更改(删除考试、测验集、问题、用户、组织和集成、转移所有权、开始新的一轮考试和轮换集成密钥)。集 EDUBASE_ELICITATION=false 把这些问题关掉。
资源
参考文档可作为资源,并通过 edubase_mcp_reference 无法读取资源的模型工具: edubase://reference/questions (问题字段和类型)和 edubase://reference/exam-journeys (便携式考试旅程格式)。它们涵盖了EduBase技能所解释的内容,适用于没有技能的客户。考试和测验集也可作为资源附呈(edubase://exam/{exam} 和 edubase://quiz/{quiz}),列出你的内容并提出建议。用 EDUBASE_CONTENT_RESOURCES=false,或与 EduBase-Mcp-Content-Resources: false 头, content_resources=false 查询参数,或 edubaseContentResources 铁匠铺设置。
工具创建或更改考试,测验集和旅程链接到他们的页面在EduBase。
配置
MCP服务器可以通过环境变量进行配置。可用的变量如下:
| 变量 | 描述 | 要求 | 默认值 |
|---|---|---|---|
EDUBASE_API_URL | 最有可能是EduBase API的基本URL https://subdomain.edubase.net/api. | 是 | https://www.edubase.net/api |
EDUBASE_API_APP | 你在EduBase上的集成应用的App ID app 在EduBase API上。在EduBase的集成详细信息窗口中可以找到。 | 如果HTTP传输与身份验证一起使用,则不会 是 | - |
EDUBASE_API_KEY | 你在EduBase上的集成应用程序的秘密密钥 secret 在EduBase API上。在EduBase的集成详细信息窗口中,沿着应用程序ID找到它。 | 如果HTTP传输与身份验证一起使用,则不会 是 | - |
EDUBASE_SSE_MODE | 使用SSE传输以HTTP模式启动MCP服务器。Value必须是 true. | 否 | false |
EDUBASE_STREAMABLE_HTTP_MODE | 以HTTP模式启动MCP服务器,并使用可流式HTTP传输。Value必须是 true. | 否 | false |
EDUBASE_TOOLSETS | 以逗号分隔的已启用列表 工具集,或者 all. | 否 | all |
EDUBASE_READONLY | 只公开读取数据的工具。Value必须是 true. | 否 | false |
EDUBASE_OUTPUT_SCHEMAS | 工具的输出模式和结构化工具结果: off 列出没有输出模式的工具,并仅以JSON文本形式返回结果; on 包括完整的输出模式, fields 包括不带字段描述的输出模式(保留结构化结果,但保存模式的大部分令牌)。 | 否 | fields |
EDUBASE_CONFIG_PROVIDERS | 当使用HTTP传输时,允许在请求中提供会话配置的托管提供者的逗号分隔列表。目前只 smithery 支持(base64编码的 config 查询参数)。 | 否 | - |
EDUBASE_CONTENT_RESOURCES | 列出该帐户的考试和测验集为 资源. 设置为 false 关闭它们,例如,当服务器在没有凭据的情况下被检查时。参考文件仍然可用。 | 否 | true |
EDUBASE_DYNAMIC_TOOLSETS | 只使用文件上传工具启动会话,并启用模型 工具集 在需求。Value必须是 true. | 否 | false |
EDUBASE_ELICITATION | 如果客户端支持启发,请用户通过客户端确认无法撤消的更改,并选择提示的问题类型。设置为 false 关掉它。 | 否 | true |
EDUBASE_HTTP_PORT | 如果使用SSE或可流HTTP传输模式,HTTP服务器将侦听此端口。 | 否 | 3000 |
EDUBASE_OAUTH | 启用OAuth 2.1受保护资源行为:未经身份验证的请求被拒绝 401 + WWW-Authenticate 指着 /.well-known/oauth-protected-resource/mcp,以及承载令牌被转发到EduBase API。 | 否 | false |
EDUBASE_OAUTH_AUTHORIZATION_SERVER | 作为OAuth IdP的EduBase部署的Public base URL。用于在受保护资源元数据文档中发布授权服务器。 | 否 | 来自 EDUBASE_API_URL |
EDUBASE_OAUTH_RESOURCE_URL | 的公共资料库网址 这 MCP服务器(OAuth资源指示器)。用于 WWW-Authenticate 标头和资源元数据。 | 否 | 来自 EDUBASE_API_URL |
EDUBASE_ALLOW_PRIVATE_NETWORK | 当使用HTTP传输时 edubase_filebin 工具阻止对私有地址、环回地址、链路本地地址和保留地址(SSRF保护)的出站请求,并拒绝本地文件路径。设置为 true 允许它们,例如,在可信私有网络上的自托管部署。在演播室模式下无效,其中本地用户是唯一的呼叫者。 | 否 | false |
EDUBASE_FILEBIN_ALLOWED_HOSTS | 可选的,逗号分隔的允许主机名列表 edubase_filebin 上传目标(确切的主机或任何子域,例如: edubase.net). 当为空时,允许任何公共主机(仍然受上述地址过滤的影响)。 | 否 | - |
用作远程MCP服务器
你可以使用 EduBase MCP服务器作为远程MCP服务器 您的MCP客户端。为此,您需要托管客户端可以访问的MCP服务器,然后配置客户端连接到服务器。使用SSE或可流式HTTP传输模式启动它,并且在通过互联网远程访问服务器时始终使用HTTPS !
使用远程服务器进行身份验证
您可以在两种模式下使用服务器:
- 没有客户端身份验证:在此模式下,服务器不需要客户端进行任何身份验证。这对于测试或开发目的很有用,或者在封闭的网络中很有用,但不建议用于生产使用。为此,您必须使用
EDUBASE_API_APP和EDUBASE_API_KEY! - 使用承载令牌身份验证:在这种模式下,服务器将要求每个请求都发送一个承载令牌。这是在生产环境中使用服务器的推荐方式。您可以通过创建集成应用程序并提供应用程序ID和密钥,从您的EduBase帐户获得承载令牌
{app}:{secret}格式,base64编码为令牌。然后,服务器将使用此令牌对客户机进行身份验证,并授权对API端点的访问。 - 使用OAuth 2.1 (EduBase作为IdP):当
EDUBASE_OAUTH=true,兼容客户端(克劳德桌面,克劳德。ai连接器、Cursor、ChatGPT连接器等)通过发现EduBase授权服务器/.well-known/oauth-protected-resource,动态注册自己(RFC 7591),引导用户通过EduBase同意屏幕,并交换授权码(使用PKCE S256)以获得不透明访问令牌。MCP服务器将该令牌逐字转发给EduBase API,后者将其解析为自动配置的MCP集成,根据首次同意创建。没有应用ID/秘密复制-用户只需点击“连接EduBase”在他们的客户端。
使用克劳德桌面
有关逐步演练,请参阅我们的博客文章 连接EduBase与克劳德:完整的MCP集成指南.
使用提供的EduBase MCP服务器
您可以使用提供的EduBase MCP服务器(如果可用),而无需任何配置,只需将其添加为带有URL的客户端中的远程服务器 https://domain.edubase.net/mcp (替换为实际的域),如果它支持OAuth身份验证,或者使用 Authorization 头(Authorization: Bearer ${BASE64_ENCODED_TOKEN})。
推荐给 www.edubase.net 用户,因为服务器是由我们维护和更新的,您不必担心托管或配置。只要确保在连接客户端时使用正确的URL和身份验证方法即可。
手动安装
将以下内容添加到您的 claude_desktop_config.json:
使用node . js
在运行MCP服务器之前,请确保 node . js安装. 你可以从 nodejs.org 或者使用类似的包管理器 brew.
{
"mcpServers": {
"edubase": {
"command": "npx",
"args": [
"-y",
"@edubase/mcp"
],
"env": {
"EDUBASE_API_URL": "https://domain.edubase.net/api",
"EDUBASE_API_APP": "your_integration_app_id",
"EDUBASE_API_KEY": "your_integration_secret_key"
}
}
}
}
或下载EduBase MCP服务器版本或克隆存储库并运行 npm run build 来构建服务器。不要忘记调整 /path/to/dist 到实际的目录和 配置环境变量!
{
"mcpServers": {
"edubase": {
"command": "node",
"args": [
"/path/to/dist/index.js"
],
"env": {
"EDUBASE_API_URL": "https://domain.edubase.net/api",
"EDUBASE_API_APP": "your_integration_app_id",
"EDUBASE_API_KEY": "your_integration_secret_key"
}
}
}
}
使用码头工人
在运行MCP服务器之前,请确保 Docker已安装并正在运行. 你可以从 docker.com 或者使用包管理器。别忘了 配置环境变量!
{
"mcpServers": {
"edubase": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"EDUBASE_API_URL",
"-e",
"EDUBASE_API_APP",
"-e",
"EDUBASE_API_KEY",
"edubase/mcp"
],
"env": {
"EDUBASE_API_URL": "https://domain.edubase.net/api",
"EDUBASE_API_APP": "your_integration_app_id",
"EDUBASE_API_KEY": "your_integration_secret_key"
}
}
}
}
通过远程MCP服务器安装
您可以使用提供的EduBase MCP服务器(如果可用)作为远程服务器。我们建议使用Base64编码 EDUBASE_API_APP 和 EDUBASE_API_KEY 并将其用作承载令牌 Authorization 头(Authorization: Bearer ${BASE64_ENCODED_TOKEN})。
{
"mcpServers": {
"edubase": {
"command": "npx",
"args": [
"mcp-remote",
"https://domain.edubase.net/mcp",
"--header",
"Authorization: Bearer ${EDUBASE_API_APP}:${EDUBASE_API_KEY}"
]
}
}
}
通过Smithery安装
安装EduBase MCP服务器为克劳德桌面自动通过 铁匠铺:
npx -y @smithery/cli install @EduBase/MCP --client claude
开发
运行 npm test 构建服务器并检查工具列表:工具列表和服务器指令的大小预算,工具描述,工具集,只读和动态工具集模式,以及HTTP传输的配置处理。当新工具超出预算时,请缩短它们的模式或增加预算 test/server.test.mjs 故意的,因为每个客户在每次会话中都为工具列表付费。
有关的参考文件 src/references 是从EduBase开发人员文档中生成的,使用 node scripts/sync-references.mjs <path to the developer documentation repository> 当问题字段或考试旅程格式发生变化时。
文档同步点: 上次同步的工具、提示和参考 2026-11-01 对 开发人员文档 在提交
7eb3cd8f2c(更新llms.txt后, 能力和旅程改进),在提交时根据EduBase进行检查df0486217. 要使服务器向前运行,请运行git log --oneline 7eb3cd8f2c..HEAD和git diff 7eb3cd8f2c..HEAD -- docs/api/endpoints在开发人员文档存储库中,更新受影响的工具src/tools(以及它们的提示和工具集指南),重新生成参考文档,并将此标记移动到新的HEAD提交。在两者不同的地方,EduBase存储库胜出。
联系
网站: www.edubase.net
开发人员文档: developer.edubase.net
电子邮件: [email protected]