LearnMCP-xAPI について
LearnMCP-xAPIは、教育システム向けのオープンソースMCPサーバーです。学習活動をxAPI 1.0.3形式で記録し、LRSから進捗を取得します。拡張可能なプラグインで複数のLRSに接続し、AIエージェントが後の対話で学習履歴を参照できます。
主な機能
- 01xAPI学習ステートメントの生成と検証
- 02学習履歴の記録と取得
- 03複数のLRSに対応するプラグイン
- 04Basic AuthとOIDCに対応
- 05一意の識別子による記録の分離
活用シーン
- 01対話で言及された練習活動の記録
- 02学習履歴に基づくAI学習支援の調整
- 03学生の進捗やスキルの証拠の収集
- 04教育アプリ間での学習記録の継続
MCP 対応
MCPサーバーは、学習活動の記録、進捗の照会、学習語彙の管理ツールをAIエージェントに提供します。活動をxAPIステートメントに変換し、対応するLRSに保存します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細

LearnMCP-xAPI
LearnMCP-xAPIは、xAPI準拠の学習記録ストアを通じて、AIエージェントが学習活動を記録および取得できるオープンソースのMCP(Model Context Protocol)サーバーです。コンテンツ生成や自動採点に重点を置く従来の教育向けAIツールとは異なり、LearnMCP-xAPIはAIとのやり取りと学習分析をつなぐ橋渡しをし、インテリジェントシステムが学習者の知識、練習内容、達成事項を文脈に沿って把握できるようにします。
このプロジェクトは、AIを活用した教育における根本的な課題、つまりAIエージェントが学習の進捗を永続的かつ構造化された記録として保持し、それを今後のやり取りに生かすとともに、スキルの習得を示す証拠を提供する能力に取り組みます。AIチュータリングシステム、パーソナライズされた学習アシスタント、教育分析プラットフォームのいずれを構築する場合でも、LearnMCP-xAPIは、AIとのやり取りに学習状況を反映させるためのインフラを提供します。
重要な注意事項: LearnMCP-xAPIは、教育テクノロジーシステムの基盤となるコンポーネントとして設計されています。生徒の進捗を把握することで、AIエージェントが学習プロセスに有意義に参加できるようにしますが、慎重に練られた教育設計や人間の教育専門家の知見に取って代わるものではありません。
目次
開発の動機
教育分野におけるAIの現状は、既製のプロンプト、自動コンテンツ生成、生徒がAIに課題をやらせようとする一方で、教師がそれを阻止しようとするという、終わりのないせめぎ合いなど、見慣れたパターンに支配されています。このアプローチでは、AIを近道か障害物のどちらかとして捉えており、学習を真に支援できるインテリジェントシステムの変革力を見逃しています。
LearnMCP-xAPIの着想は、この根本的な隔たりを目の当たりにしたことから生まれました。多くの教育向けAIツールは孤立して動作します。回答を生成したり、アクティビティを作成したり、テキストを分析したりはしますが、生徒の継続的な学習の歩みから学ぶことも、それに貢献することもありません。生徒が何を練習し、何に苦労し、何を習得したのかという記録もありません。やり取りのたびに、すべてがゼロから始まります。
学習記録ストア(LRS)とxAPI仕様は、学習活動を記録・分析する仕組みを長らく提供してきましたが、教育体験の中心となりつつあるAIシステムとは、ほとんど連携していませんでした。LearnMCP-xAPIはこの隔たりを埋め、AIエージェントが包括的な学習記録に情報を追加し、そこから学べるようにします。
このアプローチにより、従来のAIチューターをはるかに超える可能性が広がります。
- 適応型AIコンパニオン:生徒がこれまでに学んだことや、どこで苦労したかに基づいて説明を調整するAIアシスタントです。
- 証拠に基づく評価:教師は、人工的なテスト状況ではなく、自然なAIとのやり取りから学習の確かな証拠を集められます。
- パーソナライズされた学習経路:包括的な学習履歴に基づいて次のステップを提案するAIシステムです。
- プラットフォームを越えた学習の継続性:生徒の学習進捗を、さまざまなAI搭載教育ツールで引き継げます。
目標は、人間の教師や従来の学習方法に取って代わることではありません。文脈を理解し、既存の知識を土台とし、より豊かでパーソナライズされた学習体験に貢献することで、学習プロセスに有意義に参加できるAIシステムを実現することです。
LearnMCP-xAPI の仕組み
LearnMCP-xAPI は Model Context Protocol(MCP)を実装し、AI エージェントと学習分析インフラストラクチャをシームレスに接続します。このシステムは橋渡し役として機能し、自然言語による学習のやり取りを構造化された xAPI ステートメントに変換するとともに、AI エージェントが学生の進捗状況を文脈に沿って把握できるようにします。
-
AI エージェントとの統合:MCP を通じて、AI エージェントは学習に関する 3 つの中核ツール(ステートメントの記録、進捗の取得、アクティビティ語彙の管理)を利用できます。
-
自然言語処理:LearnMCP-xAPI は、学習アクティビティを記録するための相補的な 2 つの方法を実現します。
- 明示的な学習アクティビティ:学生が自分の学習について直接言及した場合(「今日は Python のループを練習しました」や「二次方程式で苦戦しています」など)、AI エージェントがそれを構造化されたステートメントに変換します。
- 暗黙的な学習の証拠:AI エージェントは会話を分析して、示された知識や理解不足を特定できます。教育的な対話の自然な流れに基づき、「学生が再帰の概念を正しく説明した」や「学生がデータベースの結合に戸惑っていた」といった証拠を自動的に記録します。
-
xAPI ステートメントの生成:LearnMCP-xAPI は学習アクティビティを xAPI 準拠のステートメントに変換します。ステートメントには学習者(アクター)、アクティビティ(動詞+対象)、コンテキスト、結果が含まれます。これらのステートメントは教育データの標準に準拠しており、スコア、完了状況、追加のメタデータを含めることができます。
-
学習記録ストアとの統合:ステートメントは、xAPI 1.0.3 に準拠する任意の LRS に安全に保存されます。システムは認証、検証、エラーからの復旧を自動的に処理します。
-
コンテキストに応じた取得:AI エージェントは学習履歴を照会し、学生が何を練習し、達成し、苦戦してきたかを把握できます。これにより、既存の知識を踏まえ、個々の学習ニーズに対応した応答が可能になります。
-
プライバシーを保護する設計:各学生には一意の識別子(ACTOR_UUID)が割り当てられ、プライバシーを保ちながら学習記録を個別に管理します。個人情報は保存せず、学習アクティビティと進捗を示す指標のみを保存します。
このアーキテクチャにより、AI システムは学習サイクル全体に参加できます。学生のこれまでの学習状況を理解し、価値ある教育的なやり取りを行い、学生と教育者の双方に役立つ学習進捗の証拠を構築できます。
主な機能
- xAPI 1.0.3 への準拠:xAPI 仕様との完全な互換性により、既存の教育テクノロジーエコシステムとの相互運用性を確保します。
- MCP 統合:Model Context Protocol をネイティブにサポートし、AI エージェントとシームレスに接続できます。
- プラグインアーキテクチャ:複数の Learning Record Store をサポートする拡張可能なプラグインシステムを備え、設定を簡単に切り替えられます。
- 複数の LRS をサポート:LRS SQL と Ralph LRS を標準でサポートし、新しい LRS 実装を簡単に追加できるアーキテクチャを備えています。
- 柔軟な認証:LRS の要件に応じて、Basic Auth や OIDC(OpenID Connect)など、さまざまな認証方式をサポートします。
- プライバシー・バイ・デザイン:学生識別子は個人情報と分離して設定できるため、教育データのプライバシーを確保できます。
- インテリジェントなステートメント生成:自然言語による学習活動を、適切なスコアとコンテキストを含む構造化された xAPI ステートメントに自動変換します。
- コンテキストに応じた学習クエリ:AI エージェントは、フィルタリングされた学習履歴を取得して学生の進捗を把握し、応答を調整できます。
- リトライ処理とエラー処理:堅牢なネットワーク処理により、Learning Record Store との信頼性の高い通信を実現します。
- 教育用語の管理:一般的な学習動詞(練習した、習得した、経験した、達成した)を標準でサポートし、拡張可能なアーキテクチャを備えています。
- 複数の学生をサポート:簡単な設定で、教室、教育機関、個々の学習者に導入できます。
- リアルタイムの学習分析:学習データをすぐに利用できるため、AI の適応型応答や教育的な洞察に活用できます。
アーキテクチャの概要
LearnMCP-xAPI は、教育テクノロジーとの統合と拡張性を考慮したモジュール式プラグインアーキテクチャを採用しています。
コアコンポーネント:
- MCP ツールレイヤー:標準化された MCP プロトコルを通じて、学習機能を AI エージェントに提供します。
- xAPI ステートメントエンジン:学習活動を、適切に検証された準拠済みの xAPI ステートメントに変換します。
- プラグインシステム:統一されたインターフェースを通じて複数の LRS 実装をサポートする、拡張可能なアーキテクチャです。
- LRS プラグイン:認証と通信を個別に処理する、各 Learning Record Store(LRS SQL、Ralph LRS)専用のプラグインです。
- プライバシー管理:学生識別子と学習データを安全に取り扱います。
- 設定システム:プラグインの選択と管理に対応した、柔軟な環境変数およびファイルベースの設定を提供します。
サポート対象の Learning Record Store:
- LRS SQL:開発や小規模な導入に適した、SQLite ベースの軽量な LRS
- Ralph LRS:France Université Numérique が提供するエンタープライズ向け LRS。Basic Auth と OIDC 認証をサポートします。
- Veracity Learning:クラウドまたはセルフホスト可能な、xAPI に準拠した LRS。1.0.3 仕様への完全な対応と高度な分析機能を備えています。
- プラグインアーキテクチャ:コアコードを変更せずに、新しい LRS 実装を簡単に追加できるよう設計されています。
はじめに
前提条件
開始する前に、以下をご用意ください。
- Python 3.8 以上
- xAPI 準拠の Learning Record Store へのアクセス(開発には LRS SQL をおすすめします)
- MCP 対応のクライアント(Claude Desktop など)
インストール
オプション 1:ソースからインストール
# Clone the repository
git clone https://github.com/DavidLMS/learnmcp-xapi.git
cd learnmcp-xapi
# Install dependencies
pip install -r requirements.txt
オプション 2:venv を使用してインストール
# Clone the repository
git clone https://github.com/DavidLMS/learnmcp-xapi.git
cd learnmcp-xapi
# Create and activate a virtual environment
python -m venv learnmcp-env
source learnmcp-env/bin/activate # On Windows: learnmcp-env\Scripts\activate
# Install dependencies
pip install -r requirements.txt
オプション 3:uv を使用してインストール
# Install uv if you don't have it
pip install uv
# Clone the repository
git clone https://github.com/DavidLMS/learnmcp-xapi.git
cd learnmcp-xapi
# Create and activate a virtual environment
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
uv pip install -r requirements.txt
設定
LearnMCP-xAPI は、環境変数と設定ファイルの両方に対応した柔軟な設定システムを使用します。
基本設定(環境変数)
設定例ファイルをコピーし、環境に合わせてカスタマイズします。
cp .env.example .env
.env ファイルを編集して、使用する LRS プラグインと学生識別子を指定します。
# Required: Choose your LRS plugin
LRS_PLUGIN=lrsql # Options: lrsql, ralph, veracity
# Required: Unique identifier for each student
ACTOR_UUID=student-12345-67890-abcdef
# LRS SQL Configuration (when LRS_PLUGIN=lrsql)
LRSQL_ENDPOINT=http://localhost:8080
LRSQL_KEY=your-api-key
LRSQL_SECRET=your-api-secret
# Ralph LRS Configuration (when LRS_PLUGIN=ralph)
RALPH_ENDPOINT=http://localhost:8100
RALPH_USERNAME=your-username # For Basic Auth
RALPH_PASSWORD=your-password # For Basic Auth
# OR for OIDC:
# RALPH_OIDC_TOKEN_URL=http://keycloak:8080/auth/realms/test/protocol/openid-connect/token
# RALPH_OIDC_CLIENT_ID=ralph
# RALPH_OIDC_CLIENT_SECRET=secret
# Veracity LRS Configuration (when LRS_PLUGIN=veracity)
VERACITY_ENDPOINT=https://your-lrs.lrs.io
VERACITY_LRS_NAME=mylrs
VERACITY_USERNAME=your-access-key-username
VERACITY_PASSWORD=your-access-key-password
高度なセットアップ(設定ファイル)
より複雑なデプロイでは、設定ファイルを使用できます。
# Create configuration directory structure
mkdir -p config/plugins
# Create LRS-specific configuration files
echo "endpoint: \${LRSQL_ENDPOINT:-http://localhost:8080}
key: \${LRSQL_KEY}
secret: \${LRSQL_SECRET}
timeout: 30
retry_attempts: 3" > config/plugins/lrsql.yaml
echo "endpoint: \${RALPH_ENDPOINT:-http://localhost:8100}
username: \${RALPH_USERNAME}
password: \${RALPH_PASSWORD}
oidc_token_url: \${RALPH_OIDC_TOKEN_URL}
oidc_client_id: \${RALPH_OIDC_CLIENT_ID}
oidc_client_secret: \${RALPH_OIDC_CLIENT_SECRET}
timeout: 30
retry_attempts: 3" > config/plugins/ralph.yaml
利用可能な設定オプションとプラグイン固有の設定については、.env.example をご覧ください。
クイックテスト
# Start the MCP server
python -m learnmcp_xapi.main
サーバーの起動を示す応答が表示されます。
インテグレーションガイド
LearnMCP-xAPI は、プラグインアーキテクチャを通じて複数のラーニング・レコード・ストアに対応しているため、既存の教育テクノロジー基盤と簡単に連携できます。
ラーニング・レコード・ストアとの連携
- LRS SQL のセットアップ - 開発用 LRS として LRS SQL をセットアップするための完全なガイドです。
- Ralph LRS のセットアップ - Basic Auth と OIDC に対応したエンタープライズ LRS との連携です。
- Veracity Learning のセットアップ - 高度な分析機能を備えたクラウド型およびセルフホスト可能な LRS です。
- カスタム LRS との連携 - 新しいラーニング・レコード・ストアへの対応を追加するためのガイドです。
AI クライアントとの連携
- Claude Desktop のセットアップ - AI 学習パートナーとして Claude Desktop に接続するための手順を詳しく説明します。
- その他のクライアントとの連携については、近日公開予定です……
今後の開発
LearnMCP-xAPI は現在も活発に開発されており、以下のような改善を予定しています。
- 追加の LRS プラグイン:TinCan API、xAPI Wrapper、エンタープライズプラットフォームなど、より多くのラーニング・レコード・ストアに対応します。
- 認証機能の強化:JWT、OAuth 2.0、証明書ベースの認証など、追加の認証方式に対応します。
- インテグレーションテストの拡充:追加のラーニング・レコード・ストアと MCP クライアントを対象とした、包括的な互換性テストとセットアップガイドを提供します。
- ライブデモ環境:ローカルでのセットアップなしに、ユーザーが LearnMCP-xAPI の機能を試せるインタラクティブなデモプラットフォームを提供します。
- 教育評価テンプレート:AI エージェントが、特定のカリキュラム基準、評価基準、教育関連法令の要件に従って学習の証拠を記録できるようにする、あらかじめ用意されたシステムプロンプトです。
- 切り替え可能な学習プロファイル:AI エージェントが評価基準や記録形式を MCP サーバーから直接取得できる動的なプロファイルシステムです。これにより、プロンプトを手動で設定する必要がなくなります。
ライセンス
LearnMCP-xAPI は MIT License の下で公開されています。商用・非商用を問わず、コードを自由に使用、変更、配布できます。
コントリビューション
LearnMCP-xAPI へのコントリビューションを歓迎します。コードの改善、ドキュメントの拡充、新機能の提案など、皆さまからのご協力は大変貴重です。コントリビューションを始める方法や、貢献を活かすためのガイドラインについては、CONTRIBUTING.md をご確認ください。
特に、以下のコントリビューションをお待ちしています。
- 新しい LRS プラグイン:プラグインアーキテクチャを使用して、追加のラーニング・レコード・ストアに対応する実装
- 認証方式:新しい認証プロトコルやセキュリティ標準への対応
- プラグインのテスト:既存および新規のプラグイン実装に対する包括的なテスト
- MCP クライアントのサンプル:新しい MCP クライアントの実装や連携のサンプル
- 教育分野のユースケース:実際のユースケースに関する事例研究やベストプラクティスのドキュメント
- パフォーマンスの最適化:プラグインのパフォーマンスとリソース使用率の改善
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。