EduBase

公式

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

EduBase MCPで何ができますか?

  • 教育コンテンツの管理 — AIに質問、クイズ、試験、およびその設定の作成、更新、取得を依頼できます。questions、quizzes、exams のツールセットを使用します。

  • 結果とユーザーの分析 — results、users、classes のツールセットを使用して、クイズ/試験の結果、証明書のダウンロード、ユーザー詳細、クラスのメンバーシップをAIに取得させることができます。

  • ツールアクセスの制御 — EDUBASE_TOOLSETS で公開するツールセットを設定し、EDUBASE_READONLY で読み取り専用モードを有効にし、edubase_enable_toolsets と edubase_list_toolsets でモデルが必要に応じてツールセットを有効化できるようにします。

  • ファイルのアップロードと管理 — edubase_filebin ツールを使用して一時ファイルをアップロードできます。SSRF保護と、EDUBASE_FILEBIN_ALLOWED_HOSTS によるホストの許可リスト設定が可能です。

  • 安全なリモートアクセス — アイデンティティプロバイダーとしてEduBaseを使用したOAuth 2.1、または本番環境向けのAuthorizationヘッダーを使用したBearerトークン認証で接続します。

ドキュメント

EduBase logo

EduBase MCPサーバー

pre-commit.ci status Publish to MCP Registry

このリポジトリには、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モジュールなど、すべての教育コンテンツを1つの直感的なシステムに集中管理します
  • エンタープライズグレードのセキュリティ: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認証情報の取得

ログイン後、ダッシュボードで「統合」メニューを探し、「統合の追加」をクリックして、「EduBase API」タイプを選択します。

このオプションが表示されない場合、MCPGITHUBアクティベーションコードを入力するか、info@edubase.netまでご連絡いただければアクセスをリクエストできます。

EduBase API credentials page

ツール

文書化された各APIエンドポイントは、edubase_<method>_<endpoint>という名前のツールとして利用できます。例えば、GET /user:meエンドポイント用のツールはedubase_get_user_meという名前です。タグ、権限、転送エンドポイントはすべてのコンテンツタイプで同じように機能するため、type引数を持つメソッドごとに1つのツールを共有します(例:POST /exam:tag、POST /quiz:tagなどの場合はedubase_post_content_tag)。詳細については、開発者向けドキュメントを参照してください。

ツールセット

ツールはツールセットにグループ化されているため、必要なツールのみを公開できます。ツールが少ないほどモデルのコンテキストを消費せず、モデルが適切なツールを選択しやすくなります。すべてのツールセットはデフォルトで有効です。

ツールセット対象ツール
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_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上の統合アプリのシークレットキー。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有効なツールセットのカンマ区切りリスト、またはall。いいえall
EDUBASE_READONLYデータを読み取るツールのみを公開します。値はtrueである必要があります。いいえfalse
EDUBASE_OUTPUT_SCHEMASツールの出力スキーマと構造化ツール結果:offは出力スキーマなしでツールをリストし、結果をJSONテキストのみとして返します。onは完全な出力スキーマを含みます。fieldsはフィールドの説明なしで出力スキーマを含みます(構造化結果は維持しますが、スキーマのトークンのほとんどを節約します)。いいえfields
EDUBASE_CONFIG_PROVIDERSHTTPトランスポート使用時にリクエストでセッション構成を提供できるホスティングプロバイダーのカンマ区切りリスト。現在はsmitheryのみがサポートされています(base64エンコードされたconfigクエリパラメータ)。いいえ-
EDUBASE_DYNAMIC_TOOLSETSファイルアップロードツールのみでセッションを開始し、モデルがツールセットをオンデマンドで有効にできるようにします。値はtrueである必要があります。いいえfalse
EDUBASE_HTTP_PORTSSEまたはストリーミング可能なHTTPトランスポートモードを使用する場合、HTTPサーバーはこのポートでリッスンします。いいえ3000
EDUBASE_OAUTHOAuth 2.1保護リソースの動作を有効にします:認証されていないリクエストは401 + WWW-Authenticateで拒否され、/.well-known/oauth-protected-resourceを指し示し、ベアラートークンはEduBase APIに転送されます。いいえfalse
EDUBASE_OAUTH_AUTHORIZATION_SERVEROAuth IdPとして機能するEduBaseデプロイメントの公開ベースURL。保護リソースのメタデータドキュメントで認証サーバーを宣伝するために使用されます。いいえEDUBASE_API_URLから派生
EDUBASE_OAUTH_RESOURCE_URLこの MCPサーバー(OAuthリソースインジケーター)の公開ベースURL。WWW-Authenticateヘッダーとリソースメタデータで使用されます。いいえEDUBASE_API_URLから派生
EDUBASE_ALLOW_PRIVATE_NETWORKHTTPトランスポートを使用する場合、edubase_filebinツールはプライベート、ループバック、リンクローカル、予約済みアドレスへの送信リクエストをブロックし(SSRF保護)、ローカルファイルパスを拒否します。許可するにはtrueに設定します(例:信頼できるプライベートネットワーク上のセルフホストデプロイメント)。stdioモードでは効果がありません。このモードではローカルユーザーのみが呼び出し元です。いいえfalse
EDUBASE_FILEBIN_ALLOWED_HOSTSedubase_filebinアップロードターゲットとして許可されるホスト名のオプションのカンマ区切り許可リスト(完全なホストまたは任意のサブドメイン、例:edubase.net)。空の場合、任意の公開ホストが許可されます(上記のアドレスフィルタリングの対象となります)。いいえ-

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

EduBase MCPサーバーをリモートMCPサーバーとしてMCPクライアントで使用できます。これを行うには、クライアントがアクセスできる場所にMCPサーバーをホストし、クライアントがサーバーに接続するように構成する必要があります。SSEまたはストリーミング可能なHTTPトランスポートモードで起動し、インターネット経由でサーバーにリモートアクセスする場合は常にHTTPSを使用してください!

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

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

  • クライアント認証なし:このモードでは、サーバーはクライアントからの認証を要求しません。テストや開発目的、または閉じたネットワークでの使用に便利ですが、本番環境での使用は推奨されません。この場合、サーバーをEDUBASE_API_APPとEDUBASE_API_KEYで構成する必要があります!
  • ベアラートークン認証:このモードでは、サーバーは各リクエストでベアラートークンの送信を要求します。これは本番環境でサーバーを使用する推奨方法です。EduBaseアカウントで統合アプリを作成し、App IDとシークレットキーを{app}:{secret}形式で提供し、base64エンコードしてトークンとして取得できます。サーバーはこのトークンを使用してクライアントを認証し、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/シークレットをコピーする必要はありません。ユーザーはクライアントで「EduBaseに接続」をクリックするだけです。

Claude Desktopでの使用

ステップバイステップのチュートリアルについては、EduBaseとClaudeを接続する方法:完全なMCP統合ガイドに関するブログ記事を参照してください。

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

提供されているEduBase MCPサーバー(利用可能な場合)は、構成なしで使用できます。OAuth認証をサポートしている場合は、URL https://domain.edubase.net/mcp(実際のドメインに置き換え)でリモートサーバーとしてクライアントに追加するか、Authorizationヘッダー(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ヘッダー(Authorization: Bearer ${BASE64_ENCODED_TOKEN})のBearerトークンとして使用することをお勧めします。

{
  "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