自社の学習コンテンツを、
AI から直接参照する。
Manabu2 は MCP に対応しています。Claude などの AI クライアントを接続すると、 自社のコース・レッスンを AI がそのまま読めるようになります。 コピー&ペーストも、書き出しも必要ありません。
接続方法を見るMCP とは
Model Context Protocol は、AI クライアントが外部のデータやツールに接続するための共通規格です。 対応したサービスは、AI から「読める・操作できる」対象になります。
Manabu2 が MCP に対応しているということは、 研修資料を AI に読ませるために、いちいち書き出して貼り付ける必要がないということです。 AI が必要なときに、必要なレッスンだけを直接取りに行きます。
- 既存レッスンをもとに、社内向けの要約記事をつくる
- 研修内容から、新入社員向けの想定問答を組み立てる
- 複数コースを横断して、扱っている論点を洗い出す
- レッスン本文をもとに、勉強会用のスライド構成を考える
利用できるツール
接続すると、AI クライアントから次の 74 個のツールが使えるようになります。
実際に見えるのは、その方のロールで使えるものだけです。権限のないツールは
tools/list に出てきません。受講者として接続すれば受講者向けのものだけが並び、
カリキュラム管理者として接続すれば教材の編集ツールも並びます。
そのために管理者の承認は必要ありません。
要承認
が付いたツールだけは例外で、組織としてそのクライアントを許可する必要があります。
カタログを見る
list_courses
read:catalog
所属組織のコースと、公開コースの一覧。
get_course
read:catalog
コース 1 件の詳細と、セクション・レッスンの構成。
search_content
read:catalog
コース・レッスンを横断して検索します。
list_paths
read:catalog
学習パスの一覧。
get_path
read:catalog
学習パス 1 件と、含まれるコースの順序。
list_free_lessons
read:content
組織が持つ「公開(public)」コースの、公開済みレッスン一覧。組織内部向けのコースは公開済みでも含まれません。
get_lesson_detail
read:content
レッスン本文と教材。所属組織のものだけが返ります。
get_quiz
read:content
レッスンのクイズ設問。選択肢はリクエストごとにシャッフルされ、正解は含みません。作成・確認には get_quiz_answer_key を使います。
自分の学習
list_my_organizations
read:progress
所属している組織の一覧と、それぞれでの自分の役割。organizationId を必要とするツールを使う前に、まずこれを呼びます。
get_my_progress
read:progress
本人の進捗。他の学習者の進捗は取得できません。
get_my_assignments
read:progress
本人にアサインされたコースと学習パス。
get_my_certificates
read:progress
本人が取得した修了証。
mark_lesson_complete
write:progress
[変更] レッスンを完了として記録します。
attest_course
write:progress
[変更] コースの誓約(内容を読み、理解した旨の確認)を本人として記録します。誓約が必要なコースは、これを行うまで完了になりません。
教材の作成・編集
create_course
write:content
[変更] コースを作成します。対象者(学年・経験レベル)とタグも指定できます。作成時は必ず未公開です。
update_course
write:content
[変更] コースのタイトル・説明・対象者・タグを変更します。公開状態はここでは変えません。
create_section
write:content
[変更] コースにセクションを追加します。
update_section
write:content
[変更] セクションのタイトル・概要を変更します。送ったフィールドだけが変わります。レッスンと並び順には触れません。
delete_section
write:content
[変更] 空のセクションを削除します。取り消せません。レッスンが残っている場合は拒否します(一緒に消えてしまうため)。
reorder_course_sections
write:content
[変更] コースのセクションの並び順を変更します。そのコースの全セクションを重複なく指定した場合だけ成功します。同じ内容の再送は安全です。
create_lesson
write:content
[変更] セクションにレッスンを作成します。本文は次のツールで書きます。
get_lesson_source
write:content
編集用にレッスンの原文(Markdown)を読みます。未公開のレッスン・コースも読めます。get_lesson_detail は受講者向けで公開済みしか見えません。
update_lesson_body
write:content
[変更] レッスン本文を全置換します。部分更新ではないため、先に get_lesson_source で原文を取得してください。
set_lesson_published
write:content
[変更] レッスンの公開・非公開を切り替えます。
reorder_section_lessons
write:content
[変更] セクション内のレッスンの順序を並べ替えます。セクションの全レッスンを指定した場合だけ成功します。
move_lesson
write:content
[変更] レッスンを同じコース内の別セクションへ移します。コースをまたぐ移動は学習記録が取り残されるため拒否します。
delete_lesson
write:content
[変更] レッスンをクイズごと削除します。受講者が開いたレッスンは削除できません。
set_course_published
write:content
[変更] コースの公開・非公開を切り替えます。
学習パス
create_path
write:content
[変更] 学習パスを作成します。
update_path
write:content
[変更] 学習パスの名称・説明を変更します。
delete_path
write:content
[変更] 学習パスを削除します。
add_course_to_path
write:content
[変更] 学習パスにコースを追加します。
remove_course_from_path
write:content
[変更] 学習パスからコースを外します。
reorder_path_courses
write:content
[変更] 学習パス内のコースの順序を並べ替えます。
assign_path_to_member
write:members
[変更] 学習パスをメンバーにアサインします。期限・必須・再受講サイクル(か月)を指定できます。教材の編集ではなく人の管理にあたるため、必要なスコープが異なります。
unassign_path_from_member
write:members
[変更] メンバーへのアサインを解除します。
クイズ・テスト
list_tests
read:content
組織のテスト一覧。紐づく学習パスも表示します。パス未設定のテストは受講者から見えないため、その旨を付けて出します。
get_test_answer_key
write:content
テストの正解一覧。読み取りですが、出題者向けの情報のため write:content が必要です。
create_test
write:content
[変更] テストを作成し、学習パスに紐づけます。レッスンには紐づきません(レッスンのクイズは create_quiz です)。受講者はパス経由でしかテストに到達しないため、pathId を省くと誰にも見えません。
add_test_question
write:content
[変更] テストに設問を追加します。
update_test
write:content
[変更] テストのタイトル・合格ライン・制限時間・紐づく学習パスを変更します。パス未設定のテストを見えるようにするのもここです。
update_test_question
write:content
[変更] テストの設問・解説・選択肢を差し替えます。レッスンのクイズとは設問IDの系統が別で、そちらは update_quiz_question です。
delete_test_question
write:content
[変更] テストの設問を削除します。すでに解答された設問は削除できません。
delete_test
write:content
[変更] テストを設問ごと削除します。受験記録があるテストは削除できません(記録ごと消えるため)。
create_quiz
write:content
[変更] レッスンにクイズを作成します。未公開の状態で作られます。
add_quiz_question
write:content
[変更] クイズに設問を追加します。
add_quiz_questions
write:content
[変更] レッスンのクイズに設問を複数まとめて追加します。1問でも不正なら1問も追加しません。呼び出し回数を抑えたいときはこちらを使います。
get_quiz_answer_key
write:content
クイズの設問と正解を確認します。未公開のクイズも読めます。get_quiz は受講者向けで、正解も未公開クイズも返しません。
update_quiz
write:content
[変更] クイズのタイトル・合格ラインを変更します。
set_quiz_published
write:content
[変更] クイズの公開・非公開を切り替えます。設問が0件のクイズは公開できません。
update_quiz_question
write:content
[変更] 設問の文面と選択肢を差し替えます。選択肢は全置換です。
delete_quiz_question
write:content
[変更] 設問を削除します。受講者が既に解答した設問は削除できません。
delete_quiz
write:content
[変更] クイズと設問をまとめて削除します。受験履歴があるクイズは削除できません。
メンバー
list_members
read:members
組織のメンバー一覧。
get_member_progress
read:members
メンバー 1 人の学習状況。
list_departments
read:members
部署の一覧。
invite_member
write:members
[変更] メンバーを招待します。
deactivate_member
write:members
[変更] メンバーを利用停止にします。記録は残ります。
create_department
write:members
[変更] 部署を作成します。
レポート
get_organization_overview
read:reports
組織全体の受講状況の概況。
get_completion_report
read:reports
コース・パス別の修了状況。
get_compliance_report
read:reports
必須研修の遵守状況。完了・学習中・未開始・期限超過の件数を部署別・パス別に集計します。個人別の一覧は REST の compliance エンドポイントで取得します。
Webhook・契約
get_subscription
read:reports
プラン・契約状態・シートの利用状況。参照のみで、シートの購入やプラン変更はできません。
list_webhooks
webhooks:manage
Webhook の登録一覧。署名シークレットは返しません。
list_webhook_deliveries
webhooks:manage
直近の送信結果。失敗の理由もあわせて返します。
create_webhook
webhooks:manage
[変更] Webhook を登録します。署名シークレットはこのときだけ返ります。
delete_webhook
webhooks:manage
[変更] Webhook を削除します。送信履歴も一緒に消えます。
test_webhook
webhooks:manage
[変更] 指定した 1 件にテスト送信します。他の宛先には送りません。
replay_delivery
webhooks:manage
[変更] 失敗した送信を再送します。
アプリの管理
list_apps
要承認
apps:manage
この組織が登録した OAuth アプリの一覧。
get_app
要承認
apps:manage
アプリ 1 件の詳細。シークレットは返しません。
register_app
要承認
apps:manage
[変更] アプリを登録します。開発者ロールでは受講者向けスコープまでしか許可できません。
update_app
要承認
apps:manage
[変更] アプリの設定を変更します。
deactivate_app
要承認
apps:manage
[変更] アプリを停止し、発行済みのセッションを打ち切ります。
write:content を持ったままなので、変更を伴うツールは実行のたびに
対象組織での役割を確認し、記録します。
接続方法
MCP サーバーのエンドポイントは https://api.manabu2.com/mcp です。
URL を登録するだけです。API キーの発行は必要ありません。
Claude Desktop の場合、設定ファイル claude_desktop_config.json に次のように追記します。
{
"mcpServers": {
"manabu2": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.manabu2.com/mcp"]
}
}
}
クライアントによって設定方法は異なりますので、各クライアントのドキュメントもあわせてご確認ください。
クライアントを再起動すると、ブラウザで Manabu2 のログイン画面が開きます。 いつもの ID とパスワードでログインし、表示された内容を確認して許可してください。 以降、クライアントはあなたとして動作します。 見えるのはあなたが見える範囲だけで、できることもあなたの権限の範囲内です。
「Manabu2 のコースを一覧して」のように話しかけてみてください。 接続できていれば、あなたが受講できるコースが返ります。
教材の編集や学習の割り当ては、接続した本人のロールがあればそのまま使えます。 カリキュラム管理者として接続すれば、追加の手続きなしで教材を編集できます。
承認が必要なのは apps:manage(アプリの登録・管理)だけです。
このスコープは利用者の権限を使うのではなく、新たなクライアントを作れる
という別の権限を生むため、組織としての判断を残しています。
開発者 → アプリケーション → 接続済みのクライアント で許可でき、
保存後はクライアント側で接続し直してください。
いずれの場合も、使う人の権限を超えることはありません。 受講者が同じクライアントを使えば、できることは受講者のままです。
apps:manage(アプリの登録・管理)だけです。これは利用者の権限を使うのではなく
新しいクライアントを作れるという別の権限を生むため、組織管理者の許可を必要とします。
技術的な補足
| エンドポイント |
POST https://api.manabu2.com/mcp(JSON-RPC 直接)GET https://api.manabu2.com/mcp + POST https://api.manabu2.com/mcp/message?sessionId=…(SSE)
|
|---|---|
| 認証 |
OAuth 2.1(認可コード + PKCE)によるログインのみ。API キーは使えません。
未認証のリクエストには 401 と
WWW-Authenticate: Bearer resource_metadata="…" を返すため、
対応クライアントは自動でログイン画面まで進みます。
|
| ディスカバリ |
https://api.manabu2.com/.well-known/oauth-protected-resource(RFC 9728)https://api.manabu2.com/.well-known/oauth-authorization-server(RFC 8414)クライアント登録は POST https://api.manabu2.com/api/v1/oauth/register(RFC 7591)で自動的に行われます。
|
| 必要なスコープ |
ツールごとに異なります。閲覧は read:catalog / read:content、
自分の学習記録は read:progress、教材の編集は write:content。
使えるツールだけが tools/list に表示されます。
|
| クライアントの許可 |
自己登録したクライアントは apps:manage を除くすべてのスコープを
要求できます。ただし要求できることと付与されることは別で、実際にトークンに
載るのは利用者本人のロールが持つ範囲だけです。さらに変更を伴う
操作は、実行のたびに対象組織でのロールを確認します。
apps:manage のみ、組織管理者が「接続済みのクライアント」画面で
許可する必要があります。
|
| 権限の範囲 | ログインした本人の権限に従います。教材を編集できるのは、 その組織でカリキュラム管理者(または組織管理者)のロールを持つ場合のみです。 |
| 対象範囲 | 認証情報が属する組織のコンテンツ。組織 ID を引数で指定することはできません。 |
| レート制限 | 認証済みの呼び出しは 1 分あたり 300 回。超過すると 429 と Retry-After が返ります。 |
REST API の詳細は API ドキュメント、 アプリ連携全般は 開発者向けガイド をご覧ください。