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選擇性地設定允許的主機清單。 -
安全遠端存取 — 以 EduBase 作為身分提供者,透過 OAuth 2.1 連線;或在生產環境部署中使用帶有
Authorization標頭的 Bearer token 驗證。
文件
EduBase MCP 伺服器
此儲存庫包含 Model Context Protocol(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 憑證
登入後,在您的儀表板上,搜尋 Integrations 選單,點擊「add integration」並選擇「EduBase API」類型。
如果您沒有看到此選項,請輸入 MCPGITHUB 啟用碼,或歡迎隨時聯絡我們以請求存取權限:info@edubase.net。
工具
每個已記錄的 API 端點都可作為工具使用,命名為 edubase_<method>_<endpoint>。例如,GET /user:me 端點的工具命名為 edubase_get_user_me。標籤、權限和轉移端點對每種內容類型都以相同方式運作,因此它們每個方法共用單一工具,並帶有 type 參數(例如,POST /exam:tag 的 edubase_post_content_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 受保護資源行為:未驗證的請求會以指向 /.well-known/oauth-protected-resource 的 401 + WWW-Authenticate 拒絕,且 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,EduBase API 會將其解析為自動佈建的 MCP 整合,該整合在首次同意時建立。無需複製 App ID/Secret——使用者只需在其用戶端中點擊「Connect 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 編碼,並將其用作 Authorization 標頭中的 Bearer 權杖(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