EduBase

公式

EduBaseと連携し、高度なクイズ作成、試験管理、コンテンツ整理機能を備えた総合的なeラーニングプラットフォームとやり取りできます。

EduBase MCPで何ができますか?

  • 質問を作成して公開 — アシスタントに新しい質問の作成を依頼し、edubase_prompt_create_question を使って QuestionBase に公開します。
  • ドキュメントを質問に変換 — 添付されたドキュメント、ファイルパス、または URL を質問に変換します。計画を承認した後、必要に応じて Quiz セットに追加できます。
  • トピックから試験を作成 — トピックに関する質問を生成して Quiz セットにまとめ、edubase_prompt_create_exam を使って試験をスケジュールします。
  • 試験結果を要約 — 試験結果を分析し、必要に応じて edubase_prompt_summarize_exam_results を使って要約を試験に保存します。
  • クラスを試験に割り当て — edubase_prompt_assign_class_to_exam を使って、クラスのアクティブなメンバーを試験に割り当てます。
  • 試験の進捗状況を確認 — edubase_prompt_exam_journey_status を使って、試験の進捗状況と行き詰まっているユーザーを確認します。

ドキュメント

EduBase logo

EduBase MCP サーバー

pre-commit.ci status Publish

このリポジトリには、EduBase プラットフォーム向けの Model Context Protocol(MCP)サーバーの実装が含まれています。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、POST /quiz:tag などに対する edubase_post_content_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_prompt_create_question)新しい問題を作成し、QuestionBase に公開しますtype、subject、任意の difficulty と language
ドキュメントから問題を作成(edubase_prompt_questions_from_document)添付されたドキュメント(またはファイルパスや URL)から問題を作成します。計画の承認後、任意でクイズセットに追加します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

プロンプトは、対応するツールセットが有効な場合にのみ表示されます。読み取り専用モードでは、最後の2つだけが表示されます。

試験の問題の種類が空欄の場合、入力要求に対応したクライアントではチェックボックスを使って選択できます。また、取り消せない変更(試験、クイズセット、問題、ユーザー、組織、統合の削除、所有権の移転、新しい試験ラウンドの開始、統合キーのローテーション)を実行する前に、これらのクライアントは確認を求めます。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 Smithery 設定を使って無効にできます。

試験、クイズセット、ジャーニーを作成または変更するツールには、EduBase 内の各ページへのリンクが含まれます。

設定

MCP サーバーは環境変数を使って設定できます。以下の変数を利用できます。

変数説明必須デフォルト値
EDUBASE_API_URLEduBase API のベース URL。通常は https://subdomain.edubase.net/api です。はいhttps://www.edubase.net/api
EDUBASE_API_APPEduBase 上の連携アプリの App ID。EduBase API の app です。EduBase の連携詳細ウィンドウで確認できます。HTTP トランスポートを認証付きで使用する場合は不要。それ以外は はい-
EDUBASE_API_KEYEduBase 上の連携アプリの Secret key。EduBase API の secret です。EduBase の連携詳細ウィンドウで App ID とともに確認できます。HTTP トランスポートを認証付きで使用する場合は不要。それ以外は はい-
EDUBASE_SSE_MODESSE トランスポートを使用する HTTP モードで MCP サーバーを起動します。値は true である必要があります。いいえfalse
EDUBASE_STREAMABLE_HTTP_MODEストリーム可能な HTTP トランスポートを使用する HTTP モードで MCP サーバーを起動します。値は true である必要があります。いいえfalse
EDUBASE_TOOLSETS有効にする toolsets のカンマ区切りリスト、または all。いいえall
EDUBASE_READONLYデータを読み取るツールのみを公開します。値は true である必要があります。いいえfalse
EDUBASE_OUTPUT_SCHEMASツールの出力スキーマと構造化ツール結果: off は出力スキーマのないツールを一覧表示し、結果を JSON テキストのみで返します。on は完全な出力スキーマを含めます。fields はフィールドの説明を除いた出力スキーマを含めます(構造化結果は維持しつつ、スキーマのトークンを大幅に節約します)。いいえfields
EDUBASE_CONFIG_PROVIDERSHTTP トランスポート使用時に、リクエストでセッション設定を提供できるホスティングプロバイダーのカンマ区切りリスト。現在サポートされているのは smithery のみです(base64 エンコードされた config クエリパラメーター)。いいえ-
EDUBASE_CONTENT_RESOURCESアカウントの試験と Quiz セットを resources として一覧表示します。認証情報なしでサーバーを検査する場合など、無効にするには false に設定します。リファレンスドキュメントは引き続き利用できます。いいえtrue
EDUBASE_DYNAMIC_TOOLSETSファイルアップロードツールのみを有効にしてセッションを開始し、モデルが必要に応じて toolsets を有効にできるようにします。値は true である必要があります。いいえfalse
EDUBASE_ELICITATIONクライアントが elicitation をサポートしている場合、元に戻せない変更の確認と、プロンプトの質問タイプの選択をクライアント経由でユーザーに求めます。無効にするには false に設定します。いいえtrue
EDUBASE_HTTP_PORTSSE またはストリーム可能な HTTP トランスポートモードを使用する場合、HTTP サーバーはこのポートでリッスンします。いいえ3000
EDUBASE_OAUTHOAuth 2.1 の保護リソース動作を有効にします。未認証のリクエストは /.well-known/oauth-protected-resource/mcp を指す 401 + WWW-Authenticate とともに拒否され、Bearer token は EduBase API に転送されます。いいえfalse
EDUBASE_OAUTH_AUTHORIZATION_SERVEROAuth IdP として機能する EduBase デプロイメントの公開ベース URL。保護リソースのメタデータドキュメントで認可サーバーを通知するために使用します。いいえEDUBASE_API_URL から導出
EDUBASE_OAUTH_RESOURCE_URLこの MCP サーバーの公開ベース URL(OAuth リソースインジケーター)。WWW-Authenticate ヘッダーとリソースメタデータで使用します。いいえEDUBASE_API_URL から導出
EDUBASE_ALLOW_PRIVATE_NETWORKHTTP トランスポート使用時、edubase_filebin ツールはプライベート、ループバック、リンクローカル、予約済みアドレスへの送信リクエストをブロックし(SSRF 保護)、ローカルファイルパスを拒否します。信頼できるプライベートネットワーク上のセルフホスト型デプロイメントなどで許可するには、true に設定します。ローカルユーザーのみが呼び出し元となる stdio モードには影響しません。いいえfalse
EDUBASE_FILEBIN_ALLOWED_HOSTSedubase_filebin アップロード先として許可するホスト名の任意のカンマ区切り許可リスト(完全一致のホスト名または任意のサブドメイン。例: edubase.net)。空の場合は、すべての公開ホストが許可されます(ただし、上記のアドレスフィルタリングは適用されます)。いいえ-

リモート MCP サーバーとして使用する

MCP クライアントで EduBase MCP サーバーをリモート MCP サーバーとして使用できます。そのためには、クライアントからアクセスできる場所で MCP サーバーをホストし、サーバーに接続するようクライアントを設定します。SSE またはストリーム可能な HTTP トランスポートモードで起動し、インターネット経由でリモートサーバーにアクセスする場合は、必ず HTTPS を使用してください。

リモートサーバーでの認証

サーバーは次の 2 つのモードで使用できます。

  • クライアント認証なし: このモードでは、サーバーはクライアントに認証を要求しません。テストや開発、または閉じたネットワークでの利用に適していますが、本番環境での使用は推奨されません。この場合も、サーバーに EDUBASE_API_APP と EDUBASE_API_KEY を設定する必要があります。
  • Bearer token 認証あり: このモードでは、各リクエストに Bearer token を含める必要があります。本番環境での使用にはこの方法を推奨します。EduBase アカウントで連携アプリを作成し、App ID と Secret key を {app}:{secret} 形式で指定して、トークンとして Base64 エンコードすると、Bearer token を取得できます。サーバーはこのトークンを使用してクライアントを認証し、API エンドポイントへのアクセスを許可します。
  • OAuth 2.1(IdP としての EduBase): EDUBASE_OAUTH=true の場合、対応クライアント(Claude Desktop、Claude.ai コネクター、Cursor、ChatGPT コネクターなど)は /.well-known/oauth-protected-resource を通じて EduBase 認可サーバーを検出し、動的に登録し(RFC 7591)、EduBase の同意画面でユーザーを案内して、認可コードを PKCE S256 で不透明なアクセストークンと交換します。MCP サーバーはそのトークンをそのまま EduBase API に転送します。API はトークンを、初回の同意時に自動作成された MCP 連携に対応付けます。コピーする App ID/Secret は不要です。ユーザーはクライアントで「Connect EduBase」をクリックするだけです。

Claude Desktop での使用

手順を追った説明については、ブログ記事「EduBase を Claude に接続する: MCP 統合の完全ガイド」をご覧ください。

提供されている EduBase MCP サーバーを使用する

提供されている EduBase MCP サーバー(利用可能な場合)は、クライアントでリモートサーバーとして追加するだけで、設定なしで使用できます。OAuth 認証に対応している場合は URL https://domain.edubase.net/mcp(実際のドメインに置き換えてください)を指定し、対応していない場合は Authorization ヘッダーに適切な Bearer token を指定します(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 からダウンロードするか、パッケージマネージャーを使用できます。環境変数を設定することを忘れないでください。イメージは Docker Hub の edubase/mcp と GitHub Packages の ghcr.io/edubase/mcp で、linux/amd64 および linux/arm64 向けに提供されています。

{
  "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 token として使用することをおすすめします(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 を実行してサーバーをビルドし、ツール一覧を確認します。確認項目は、ツール一覧とサーバー指示のサイズ上限、ツールの説明、toolset、読み取り専用モードと動的 toolset モード、HTTP トランスポートの設定処理です。新しいツールが上限を超える場合は、スキーマを短くするか、test/server.test.mjs の上限を意図的に引き上げてください。すべてのクライアントは、各セッションでツール一覧のトークンを消費します。

src/references のリファレンスドキュメントは EduBase 開発者向けドキュメントから生成されます。質問フィールドまたは試験の手順形式が変更された場合は、node scripts/sync-references.mjs <path to the developer documentation repository> で再生成してください。

major、minor、または patch のラベルが付いたプルリクエストをマージすると、次のバージョンが main にコミットされ、Publish ワークフローが開始されます。このワークフローは、パッケージを npm と MCP Registry に、コンテナイメージを Docker Hub と GitHub Packages に公開し、すべて成功するとコミットにタグを付けて GitHub リリースを作成します。これらのラベルがない場合は何もリリースされません。プルリクエストで手動設定したバージョンは、そのままリリースされます。コミット、タグ、リリースは専用のリリースアプリによって作成され、その認証情報は release 環境にあります。Publish ワークフローは最初にテストを実行し、プッシュ前にビルド済みイメージを検査します。また、OIDC を使用して Docker Hub にログインし、DOCKERHUB_OIDC_CONNECTIONID と DOCKERHUB_OIDC_USERNAME の変数を使用します。GitHub は GitHub App トークンを受け付けないため、ジョブの GITHUB_TOKEN を使って GitHub Packages にプッシュします。バージョンを指定して手動実行すると、リリースを再試行または再ビルドできます。npm と MCP Registry にすでに公開済みのものはスキップされ、latest が更新されるのは最新リリースのみです。

ドキュメント同期ポイント: ツール、プロンプト、リファレンスの最終同期日は 2026-11-06 です。EduBase リリース 8.6.6 に同期された 開発者向けドキュメント(8.6.6 のドキュメントプルリクエスト)を基準とし、コミット a29c6af51 の EduBase と照合済みです。 サーバーを最新の状態にするには、開発者向けドキュメントのリポジトリで、8.6.6 のドキュメントプルリクエストのコミットから git log --oneline <commit>..HEAD と git diff <commit>..HEAD -- docs/api/endpoints を実行し、src/tools の該当ツール(およびそのプロンプトと toolset ガイド)を更新して、リファレンスドキュメントを再生成し、このマーカーを新しい HEAD コミットに更新してください。両者に相違がある場合は、EduBase リポジトリを優先します。

お問い合わせ

ウェブサイト: www.edubase.net
開発者向けドキュメント: developer.edubase.net
メール: info@edubase.net