EduBase
官方与EduBase交互,这是一个全面的电子学习平台,具备高级测验、考试管理和内容组织功能
你可以用 EduBase MCP 做什么?
-
管理教育内容 — 让您的AI通过
questions、quizzes和exams工具集创建、更新或检索题目、测验、考试及其设置。 -
分析结果与用户 — 让您的AI使用
results、users和classes工具集拉取测验/考试结果、证书下载、用户详情及班级成员信息。 -
控制工具访问 — 通过
EDUBASE_TOOLSETS配置暴露哪些工具集,使用EDUBASE_READONLY启用只读模式,或让模型通过edubase_enable_toolsets和edubase_list_toolsets按需激活工具集。 -
上传和管理文件 — 使用
edubase_filebin工具上传临时文件,具备SSRF保护,并可通过EDUBASE_FILEBIN_ALLOWED_HOSTS选择性地允许主机列表。 -
安全远程访问 — 通过OAuth 2.1以EduBase作为身份提供方进行连接,或在生产部署中使用带有
Authorization头的Bearer令牌认证。
文档
EduBase MCP 服务器
本仓库包含 模型上下文协议(MCP)服务器 针对 EduBase 平台的实现。它允许 MCP 客户端(例如 Claude Desktop)和 LLM 与您的 EduBase 账户交互,并代表您执行任务。它支持 stdio、SSE 和可流式 HTTP 传输协议。

什么是 EduBase?
EduBase 是一个创新、模块化的在线教育平台,让学习更愉快、更简单、更具互动性,适用于教育机构或企业。
为什么选择 EduBase?
EduBase 凭借其独特的功能组合彻底改变了数字学习:
- 高级测验系统,支持参数化,允许同一问题无限变化、实时作弊检测、精美的 LaTeX 排版、高级 STEM 支持和自动评分
- 统一学习环境,将所有教育内容——视频、考试、文档和 SCORM 模块——集中在一个直观的系统中
- 企业级安全,具备 SSO 集成、细粒度访问控制、全面审计和 GDPR 合规等功能
- 集成,通过 LTI、全面 API 和自定义集成选项与您现有系统对接
- AI 辅助工具,例如 EduBase Assistant,可以即时将您现有内容转化为互动测验和评估,或将您的材料从一种语言翻译成另一种语言
从高等教育机构到企业培训部门,EduBase 可扩展以满足您的特定需求,同时在所有设备上保持直观的用户体验。
演示视频
使用 Claude 协作创建和上传问题、安排考试并分析用户结果:
获取您的 API 凭据
登录后,在您的仪表板上,搜索“集成”菜单,点击“添加集成”,然后选择“EduBase API”类型。
如果您看不到此选项,请输入 MCPGITHUB 激活码,或随时联系我们请求访问权限,邮箱为 info@edubase.net。
工具
每个已记录的 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 | 组织、成员、部门、能力和 Webhook |
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_API_URL | EduBase API 的基础 URL,很可能是 https://subdomain.edubase.net/api。 | 是 | https://www.edubase.net/api |
EDUBASE_API_APP | 您在 EduBase 上集成应用的 App ID,即 EduBase API 上的 app。可在 EduBase 的集成详情窗口中找到。 | 如果使用带认证的 HTTP 传输则不需要,否则是 | - |
EDUBASE_API_KEY | 您在 EduBase 上集成应用的 Secret 密钥,即 EduBase API 上的 secret。可在 EduBase 的集成详情窗口中与 App ID 一起找到。 | 如果使用带认证的 HTTP 传输则不需要,否则是 | - |
EDUBASE_SSE_MODE | 以 HTTP 模式启动 MCP 服务器,使用 SSE 传输。值必须为 true。 | 否 | false |
EDUBASE_STREAMABLE_HTTP_MODE | 以 HTTP 模式启动 MCP 服务器,使用可流式 HTTP 传输。值必须为 true。 | 否 | false |
EDUBASE_TOOLSETS | 启用的 工具集 的逗号分隔列表,或 all。 | 否 | all |
EDUBASE_READONLY | 仅暴露读取数据的工具。值必须为 true。 | 否 | false |
EDUBASE_OUTPUT_SCHEMAS | 工具的输出模式和结构化工具结果:off 列出不带输出模式的工具,仅以 JSON 文本形式返回结果;on 包含完整的输出模式;fields 包含不带字段描述的输出模式(保留结构化结果,但节省模式的大部分令牌)。 | 否 | fields |
EDUBASE_CONFIG_PROVIDERS | 允许在使用 HTTP 传输时在请求中提供会话配置的托管提供商的逗号分隔列表。目前仅支持 smithery(base64 编码的 config 查询参数)。 | 否 | - |
EDUBASE_DYNAMIC_TOOLSETS | 仅以文件上传工具开始会话,让模型按需启用 工具集。值必须为 true。 | 否 | false |
EDUBASE_HTTP_PORT | 如果使用 SSE 或可流式 HTTP 传输模式,HTTP 服务器将在此端口上监听。 | 否 | 3000 |
EDUBASE_OAUTH | 启用 OAuth 2.1 受保护资源行为:未认证的请求将被拒绝,并返回 401 + WWW-Authenticate 指向 /.well-known/oauth-protected-resource,Bearer 令牌将转发到 EduBase API。 | 否 | false |
EDUBASE_OAUTH_AUTHORIZATION_SERVER | 作为 OAuth IdP 的 EduBase 部署的公共基础 URL。用于在受保护资源元数据文档中通告授权服务器。 | 否 | 从 EDUBASE_API_URL 派生 |
EDUBASE_OAUTH_RESOURCE_URL | 此 MCP 服务器(OAuth 资源指示符)的公共基础 URL。用于 WWW-Authenticate 标头和资源元数据。 | 否 | 从 EDUBASE_API_URL 派生 |
EDUBASE_ALLOW_PRIVATE_NETWORK | 当使用 HTTP 传输时,edubase_filebin 工具会阻止对私有、回环、链路本地和保留地址的出站请求(SSRF 保护),并拒绝本地文件路径。设置为 true 以允许它们,例如在受信任的专用网络上的自托管部署。在 stdio 模式下没有影响,因为本地用户是唯一的调用者。 | 否 | false |
EDUBASE_FILEBIN_ALLOWED_HOSTS | 可选的主机名允许列表(逗号分隔),允许作为 edubase_filebin 上传目标(精确主机或任何子域,例如 edubase.net)。为空时,允许任何公共主机(仍受上述地址过滤限制)。 | 否 | - |
用作远程 MCP 服务器
您可以将 EduBase MCP 服务器用作远程 MCP 服务器,供您的 MCP 客户端使用。为此,您需要将 MCP 服务器托管在客户端可以访问的位置,然后配置客户端连接到服务器。可以使用 SSE 或可流式 HTTP 传输模式启动它,并且通过互联网远程访问服务器时始终使用 HTTPS!
远程服务器的认证
您可以在两种模式下使用服务器:
- 无客户端认证:在此模式下,服务器不会要求客户端进行任何认证。这适用于测试或开发目的,或封闭网络,但不建议用于生产环境。为此,您还必须配置服务器使用
EDUBASE_API_APP和EDUBASE_API_KEY! - 使用 Bearer 令牌认证:在此模式下,服务器将要求每个请求都发送 Bearer 令牌。这是在生产环境中使用服务器的推荐方式。您可以通过在 EduBase 账户中创建集成应用,并以
{app}:{secret}格式提供 App ID 和 Secret 密钥(base64 编码为令牌)来获取 Bearer 令牌。然后,服务器将使用此令牌认证客户端并授权访问 API 端点。 - 使用 OAuth 2.1(EduBase 作为 IdP):当
EDUBASE_OAUTH=true时,兼容客户端(Claude Desktop、Claude.ai 连接器、Cursor、ChatGPT 连接器等)通过/.well-known/oauth-protected-resource发现 EduBase 授权服务器,动态注册自身(RFC 7591),引导用户完成 EduBase 同意屏幕,并将授权代码(使用 PKCE S256)交换为不透明访问令牌。MCP 服务器将该令牌原样转发到 EduBase API,后者将其解析为自动预配的 MCP 集成(在首次同意时创建)。无需复制 App ID/Secret——用户只需在客户端中点击“连接 EduBase”。
与 Claude Desktop 一起使用
有关分步指南,请参阅我们关于如何 将 EduBase 与 Claude 连接:完整 MCP 集成指南 的博客文章。
使用提供的 EduBase MCP 服务器
您可以使用提供的 EduBase MCP 服务器(如果可用),无需任何配置,只需在客户端中将其添加为远程服务器,使用 URL https://domain.edubase.net/mcp(替换为实际域名),如果它支持 OAuth 认证,或使用 Authorization 标头中的适当 Bearer 令牌(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"
}
}
}
}
使用 Docker
在运行 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 服务器(如果可用)作为远程服务器。我们建议将您的 EDUBASE_API_APP 和 EDUBASE_API_KEY 进行 Base64 编码,并将其作为 Bearer 令牌用于 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 安装
要通过 Smithery 自动为 Claude Desktop 安装 EduBase MCP 服务器:
npx -y @smithery/cli install @EduBase/MCP --client claude
开发
运行 npm test 来构建服务器并检查工具列表:工具列表和服务器指令的大小预算、工具描述、工具集、只读和动态工具集模式,以及 HTTP 传输的配置处理。当新工具超出预算时,请缩短其架构或有意在 test/server.test.mjs 中提高预算,因为每个客户端在每次会话中都会为工具列表付费。
联系方式
网站:www.edubase.net
开发者文档:developer.edubase.net
邮箱:info@edubase.net