# @edubase/mcp 中文文档

规范地址：https://npmcn.com/package/%40edubase/mcp/

版本：2\.0\.10
npm 元数据更新时间：2026-10-31T23:23:45.623Z
中文译文更新时间：2026-11-01T03:07:28.543Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40edubase/mcp
原文对照：https://npmcn.com/package/%40edubase/mcp/?lang=original
项目主页：https://www.edubase.net/
源码仓库：https://github.com/EduBase/MCP

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：465 kB，30 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：6 个
- 首次发布：2026-03-12T22:41:08.400Z
- 最新版本发布：2026-10-31T23:23:45.325Z
- 已发布版本数：36（近 12 个月 36 个）

## 中文简介

EduBase MCP服务器

## 安装

```sh
npm install @edubase/mcp
```

也可以使用：`pnpm add @edubase/mcp`、`yarn add @edubase/mcp`、`bun add @edubase/mcp`

## README

![EduBase logo](https://static.edubase.net/media/brand/title/color.png)

# EduBase MCP服务器

[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/EduBase/MCP/main.svg)](https://results.pre-commit.ci/latest/github/EduBase/MCP/main) [![Publish to MCP Registry](https://github.com/EduBase/MCP/actions/workflows/publish-mcp.yml/badge.svg)](https://github.com/EduBase/MCP/actions/workflows/publish-mcp.yml)

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

![EduBase MCP demo GIF: Claude uploads math questions](https://shared.edubase.net/mcp/EduBaseMCPdemomath.gif)

## 什么是EduBase？

EduBase是一个创新的、模块化的在线教育平台，它使学习更愉快、更简单、更互动，适合教育机构或企业。

### 为什么选择EduBase？

EduBase以其独特的功能组合彻底改变了数字学习：

-   **高级问答系统** 参数化允许同一问题的无限变化，实时作弊检测，漂亮的LaTeX排版，先进的stem支持和自动评分
-   **统一学习环境** 它将您的所有教育内容-视频，考试，文档和SCORM模块-集中在一个直观的系统中
-   **企业级安全** 具有SSO集成、细粒度访问控制、全面审计和GDPR遵从性等功能
-   **集成** 通过LTI、综合API和自定义集成选项与现有系统集成
-   **AI-Assisted工具**，例如EduBase Assistant，它可以立即将您现有的内容转换为交互式测验和评估，或者将您的材料从一种语言翻译成另一种语言

从高等教育机构到企业培训部门，EduBase扩展以满足您的特定需求，同时在所有设备上保持直观的用户体验。

### 演示视频

与Claude协作创建和上传问题，安排考试和分析用户结果：

[![Demonstrating EduBase's MCP server to collaboratively create and upload questions, schedule exams and analyze results.](https://img.youtube.com/vi/jvGP-5NzRPs/maxresdefault.jpg)](https://www.youtube.com/watch?v=jvGP-5NzRPs)

### 获取API凭据

登录后，在仪表板上搜索集成菜单，单击“添加集成”并选择“EduBase API”类型。

**如果您没有看到这个选项**，输入 `MCPGITHUB` 激活码或随时与我们联系，要求访问 [info@edubase.net](mailto:info@edubase.net).

![EduBase API credentials page](https://shared.edubase.net/mcp/EduBase_Integration_page_with_API_credentials.png)

## 工具

每个记录的API端点都可以作为工具使用，名为 `edubase_<method>_<endpoint>`． 例如，工具的 `GET /user:me` 端点命名 `edubase_get_user_me`． 标记、权限和传输端点对每种内容类型都以相同的方式工作，因此它们与 `type` 参数(如。 `edubase_post_content_tag` 用于 `POST /exam:tag`， `POST /quiz:tag`等)。看到我们的 [开发人员文档](https://developer.edubase.net/) 了解更多信息。

### 工具集

工具被分组到工具集中，因此您可以只公开您需要的工具。更少的工具使用更少的模型上下文，使模型更容易选择正确的上下文。默认情况下，每个工具集都是启用的。

| 工具集 | 的工具 |
| --- | --- |
| `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` | 以逗号分隔的已启用列表 [工具集](https://npmcn.com/package/%40edubase/mcp/#readme-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` | 列出该帐户的考试和测验集为 [资源](https://npmcn.com/package/%40edubase/mcp/#readme-resources)． 设置为 `false` 关闭它们，例如，当服务器在没有凭据的情况下被检查时。参考文件仍然可用。 | 否 | `true` |
| `EDUBASE_DYNAMIC_TOOLSETS` | 只使用文件上传工具启动会话，并启用模型 [工具集](https://npmcn.com/package/%40edubase/mcp/#readme-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集成指南](https://edubase.blog/claude-mcp-integration-guide/).

### 使用提供的EduBase MCP服务器

您可以使用提供的EduBase MCP服务器（如果可用），而无需任何配置，只需将其添加为带有URL的客户端中的远程服务器 `https://domain.edubase.net/mcp` （替换为实际的域），如果它支持OAuth身份验证，或者使用 `Authorization` 头(`Authorization: Bearer ${BASE64_ENCODED_TOKEN}`）。

**推荐给 [www.edubase.net](http://www.edubase.net/) 用户**，因为服务器是由我们维护和更新的，您不必担心托管或配置。只要确保在连接客户端时使用正确的URL和身份验证方法即可。

### 手动安装

将以下内容添加到您的 `claude_desktop_config.json`：

#### 使用node . js

在运行MCP服务器之前，请确保 **node . js安装**． 你可以从 [nodejs.org](https://nodejs.org/) 或者使用类似的包管理器 `brew`.

```json
{
  "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` 到实际的目录和 **配置环境变量**！

```json
{
  "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](https://www.docker.com/) 或者使用包管理器。别忘了 **配置环境变量**！

```json
{
  "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}`）。

```json
{
  "mcpServers": {
    "edubase": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://domain.edubase.net/mcp",
        "--header",
        "Authorization: Bearer ${EDUBASE_API_APP}:${EDUBASE_API_KEY}"
      ]
    }
  }
}
```

### 通过Smithery安装

安装EduBase MCP服务器为克劳德桌面自动通过 [铁匠铺](https://smithery.ai/server/@EduBase/MCP)：

```bash
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](https://npmcn.com/package/%40edubase/mcp/www.edubase.net)  
开发人员文档: [developer.edubase.net](https://npmcn.com/package/%40edubase/mcp/developer.edubase.net)  
电子邮件: [info@edubase.net](mailto:info@edubase.net)

## 常见问题

### @edubase/mcp 是什么？

EduBase MCP服务器

### 如何安装 @edubase/mcp？

在项目目录运行 npm install @edubase/mcp，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 mcp，可以用 npx mcp 直接运行。

### @edubase/mcp 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/edubase\_\_mcp 是否存在。

### @edubase/mcp 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @edubase/mcp 可以商用吗？

@edubase/mcp 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @edubase/mcp 还在维护吗？

最新版本 2\.0\.10 发布于 2026/11/01（2 天前）；至今共发布 36 个版本，其中过去 12 个月发布了 36 个；首次发布于 2026/03/13。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

