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 logo

EduBase MCP 伺服器

pre-commit.ci status Publish to MCP Registry

此儲存庫包含 Model Context Protocol(MCP)伺服器 針對 EduBase 平台的實作。它允許 MCP 用戶端(例如 Claude Desktop)和 LLM 與您的 EduBase 帳戶互動,並代表您執行任務。它支援 stdio、SSE 和可串流 HTTP 傳輸協定。

EduBase MCP demo GIF: Claude uploads math questions

什麼是 EduBase?

EduBase 是一個創新、模組化的線上教育平台,讓學習變得更愉快、更簡單且更具互動性,適用於教育機構或企業。

為什麼選擇 EduBase?

EduBase 以其獨特的功能組合徹底改變了數位學習:

  • 進階測驗系統,具備參數化功能,允許同一題目產生無限變化、即時作弊偵測、精美的 LaTeX 排版、進階 STEM 支援以及自動評分
  • 統一學習環境,將您所有的教育內容——影片、考試、文件和 SCORM 模組——集中於一個直觀的系統中
  • 企業級安全性,具備 SSO 整合、細粒度存取控制、全面稽核和 GDPR 合規性等功能
  • 整合,可透過 LTI、全面 API 和自訂整合選項與您現有的系統整合
  • AI 輔助工具,例如 EduBase Assistant,可即時將您現有的內容轉換為互動式測驗和評量,或將您的教材從一種語言翻譯成另一種語言

從高等教育機構到企業培訓部門,EduBase 都能擴展以滿足您的特定需求,同時在所有裝置上維持直觀的使用者體驗。

示範影片

與 Claude 協作建立和上傳問題、安排考試以及分析使用者結果:

Demonstrating EduBase's MCP server to collaboratively create and upload questions, schedule exams and analyze results.

取得您的 API 憑證

登入後,在您的儀表板上,搜尋 Integrations 選單,點擊「add integration」並選擇「EduBase API」類型。

如果您沒有看到此選項,請輸入 MCPGITHUB 啟用碼,或歡迎隨時聯絡我們以請求存取權限:info@edubase.net。

EduBase API credentials page

工具

每個已記錄的 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_URLEduBase 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