Claude Media
ClaudeとDataCampを連携する方法 — 学習カタログ検索とチーム管理

ClaudeとDataCampを連携する方法 — 学習カタログ検索とチーム管理

DataCampのMCPサーバーをClaudeにつなぎ、コース検索と学習計画づくり、チームの受講状況の確認、課題の割り当てまで会話で進める手順です。認証の要不要と権限の線引きもまとめます。

DataCampのMCPサーバーをClaudeにつなぐと、DataCampのコースやチュートリアルを会話で探せます。管理者なら、チームの受講状況の確認や課題の割り当てまで任せられます。接続先は https://mcp.datacamp.com/v1/mcp で、通信方式はストリーミングHTTPです。

DataCampは、データ分析やPythonなどを学ぶオンライン学習サービスです。MCPサーバーはその学習カタログと、法人向けのグループ管理機能をAIアシスタントに開きます。ClaudeのほかChatGPTや、MCPに対応した別のクライアントからも使えます。

何ができるのか — 公開ツールと認証ツールの分かれ目

DataCamp MCPのツールは、サインインが要るものと要らないものにはっきり分かれます。ここを押さえると、接続の段取りが決まります。

領域主な用途サインイン
Search主な用途キーワードでコンテンツを検索サインイン不要
Learn主な用途コースや演習をIDで取得サインイン不要
Resources主な用途チュートリアル、ウェビナー、コードアロングの取得サインイン不要
User主な用途サインイン中のユーザーの特定サインイン必要
Groups主な用途グループ、チーム、メンバー、課題の管理サインイン必要

Search、Learn、Resourcesは公開ツールです。DataCampのアカウントがなくても、接続さえすればカタログを調べられます。whoami とGroups配下のツールは、アカウントやチームのデータに触れるため認証が必須です。

ツール一覧にはCertificationの領域もあり、スキル評価の閲覧は認証なしで使えます。ただし認証すると、評価ごとの進捗が加わります。認定やスキル検証の履歴を見るツールは認証が必要です。

つまり、使い道は2層に分かれます。

  • 学習者の立場: コースを探し、学ぶ順番を考える。サインインなしでも始められる
  • 管理者の立場: チームの受講状況を見て、課題を割り当てる。サインインとグループ内の権限が要る

DataCamp側の説明では、データはあくまで本人のアカウントが見られる範囲で返り、結果は本人の権限に絞られます。

Claudeに接続する3つの経路

Claudeからの接続は、使う面によって手順が変わります。

Claude(Web)とClaude Desktop

Claude WebとDesktopは同じコネクタ画面を共有します。ディレクトリから入れる手順は次のとおりです。

  1. Customize → Connectorsを開く
  2. + から「DataCamp」を検索して選ぶ
  3. Connectを押し、DataCampにサインインする
  4. 権限の確認画面でYesを押す

ディレクトリに出ないときは、カスタムコネクタで手動追加します。名前は DataCamp、URLは https://mcp.datacamp.com/v1/mcp です。認証はOAuthを選び、選べなければカスタムヘッダーに切り替えます。

チャットの途中から接続する道もあります。認証が必要なツールを使おうとすると、会話の中にConnectボタンが出て、同じサインインの流れに入ります。

Desktopの設定ファイルに直接書く場合は、mcpServers に次のように追加します。

{
  "mcpServers": {
    "datacamp": {
      "url": "https://mcp.datacamp.com/v1/mcp"
    }
  }
}

追加後はDesktopを再起動します。最初のツール呼び出しでブラウザーが開き、OAuthのサインインが始まります。

Claude Code

Claude Codeには、claude.aiで接続済みのコネクタがそのまま引き継がれる経路があります。同じAnthropicアカウントでサインインしていれば、Webで一度つなぐだけです。

セッション内で /mcp を実行すると、DataCampがclaude.ai由来として一覧に出ます。ローカルだけで管理したいときは、手動で追加します。

claude mcp add datacamp --transport http \
  https://mcp.datacamp.com/v1/mcp
claude mcp list

最初のツール呼び出しでブラウザーが開き、OAuthの手続きに進みます。サインイン後の接続はClaude Codeの設定に保存されます。

プロジェクトで共有したいときは --scope project を付けると、プロジェクトの .mcp.json に書かれます。このファイルはコミットして共同作業者に配れますが、ベアラートークンを含む設定は個人のユーザースコープに留めます。

claude.ai由来の引き継ぎを切りたい場合は、環境変数 ENABLE_CLAUDEAI_MCP_SERVERS=false を設定して、上の手動追加に切り替えます。

OAuthが通らないときのベアラートークン

OAuthがうまく動かないときの代替が、個人用トークンです。DataCampの datacamp.com/api/jwt/token で取得し、Authorization: Bearer ヘッダーに載せます。

claude mcp add datacamp \
  --transport http https://mcp.datacamp.com/v1/mcp \
  --header "Authorization: Bearer YOUR_TOKEN_HERE"

トークンは個人専用で、パスワードと同じ扱いです。ソース管理にコミットせず、他人と共有しません。Desktopで先にOAuthをつないでいた場合は、トークン方式に切り替える前にそのエントリを消して再起動します。

Team・Enterpriseで見つからないとき

TeamやEnterpriseでは、コネクタの利用が組織の管理者に握られています。DataCampがディレクトリに出ないなら、組織のオーナーまたはプライマリオーナーに有効化を頼みます。

管理者が有効にしても、DataCampのデータへのアクセスが組織に渡るわけではありません。各メンバーが自分のDataCampアカウントでサインインし、結果はそのメンバーの権限にとどまります。

学習者の使い方 — カタログ検索から学習計画まで

公開ツールだけで足りる場面から見ていきます。検索ツールは search_content で、コースやトラック、プロジェクト、チュートリアル、コードアロング、チートシートなどを同じ形式の結果で返します。

クエリは短く広い英語のキーワードが前提です。Claude Code のように書き、曖昧なら詳細をユーザーに尋ねる設計になっています。

絞り込みには contentTypes、technologies、topics を使えます。値はカタログの表記と完全に一致しなければならず、合わない値は拒否されます。そのため、先に get_search_facets で有効な値を取る流れになります。1回の検索の上限は50件で、既定は10件です。

依頼の例を挙げます。

DataCampでPythonの時系列予測を学べるコースを探して。
入門者向けと実務向けに分けて、学ぶ順番を提案して。

Claudeは検索で候補を集め、get_course などでコースの中身を引いて並べ直します。章立てを読ませてから「この順で、週に何時間」という計画に落とすところは、Claude側の仕事です。DataCamp側の画面だけでは得にくい、自分の目的に合わせた並べ替えになります。

サインインしていれば、学習者向けの個人ツールも使えます。

  • whoami: サインイン中のユーザーの特定
  • my_activity: 始めた、終えた、飛ばしたコースやトラックを新しい順に取得
  • get_suggested_content: 学習ハブのホームに出る「次に学ぶもの」の提案
  • list_my_assignments: 自分に割り当てられた課題、期限、進捗

最後の list_my_assignments は、グループ管理者向けの課題ツールとは別物です。「自分の課題」を聞くときは、この個人用が使われます。

管理者の使い方 — チームの受講状況と課題の割り当て

Groups配下のツールは、DataCampの法人向けグループ(B2B)の管理に使います。呼び出しは、まずグループの特定から始まります。

グループとチームを特定する

ほとんどのツールが数値の groupId を取ります。最初に list_groups で、サインイン中のユーザーが属するグループを出します。続けてチームは list_teams、メンバーは list_group_members、課題は list_group_assignments でIDを解決する決まりです。

役割によって見える範囲と書き込める範囲が変わります。

役割できること
adminできること請求と設定を含むグループの全権
managerできることチーム、課題、レポートなど組織全体の学習運用。請求と招待はなし
team_managerできること担当チームの課題とレポートのみ
memberできること通常の学習者。管理権限なし

権限が足りないとツールは権限エラーを返し、足りないものを名指しします。

誰が始めていないかを確かめる

DataCampのドキュメントが例に挙げる問いが、「チームで割り当てられたコースをまだ始めていない学習者は何人か」です。この種の確認は、レポート系のツールが受け持ちます。

get_members_not_started は、登録以来XPを一度も得ていないメンバーを返します。停滞している学習者に声をかけたい管理者向けです。

レポート系には、見落とすと誤解につながる制約が3つあります。

  • 多くのレポートはライブのデータではなく、日次のスナップショットです。応答の snapshot.lastUpdatedAt を見て、いつ時点の数字かを伝える前提になっています
  • 多くは管理者(admin)限定です。managerとteam_managerはレポートのクエリを実行できません
  • SQLでレポートのデータセットに問い合わせる query_group_reporting は、グループの契約にData Connectorが含まれる場合にだけ使えます。結果は最大100行で、meta.isTruncated が true なら一部だけだと伝える決まりです

数字を報告させるときは、「スナップショットの時刻」と「100行で切れていないか」を答えに含めるよう頼むと、古い数字や切れた集計を完全なものとして読む事故を防げます。

グループ一覧から対象を選んで、課題を始めていないメンバーを出して。
結果にはスナップショットの時刻を添えて。

課題を割り当てる

課題の作成は create_group_assignment で、特定のチームだけに向けるなら create_team_assignment を使います。割り当てられる中身は、コース、章、トラック、プロジェクト、XPの目標、スキル評価、認定、グループ独自のコースやトラックなどです。

期限は固定の日付か、ローリング(受け取ってから何日以内)のどちらかです。個別のユーザーを指定するときはローリングが使えず、固定の日付だけになります。個人宛てのメッセージは500字までです。

コースやトラックのIDは、search_content か get_course で先に解決しておきます。つまり、一連の流れは「探す、決める、割り当てる」です。

Pythonのデータ分析入門に合うコースを探して、
データチームの全員に、今月末を期限として割り当てて。
実行前に、グループ名と対象のコースを私に確認して。

書き込み系のツールはすべて、対象グループの正確な名前 groupName を必須にしています。DataCamp側の指示は、操作の前にグループ名を明示すること、別のグループのデータを同じ作業やセッションに混ぜないことです。複数のグループを管理している人ほど、この線引きが効きます。

取り消せない操作を前もって止める

課題の整理には、元に戻せるものと戻せないものが混在しています。

  • archive_group_assignment: 課題を進行中の一覧から外す。履歴のレポートには残り、unarchive_group_assignment で戻せる
  • delete_group_assignment: 課題を完全に削除する。元に戻せない

ドキュメントも、非破壊的に外したいときはアーカイブを使うよう案内しています。メンバーの招待(invite_member_to_group)、役割の変更(update_group_member_role)、ライセンス階層の変更(update_group_member_license)も、人やコストに直接響く書き込みです。

Claude Codeでは、権限設定の deny や ask でツール単位に止められます。MCPツールの名前は mcp__<サーバー名>__<ツール名> で、サーバー名をまとめて指す書き方もあります。上のコマンドのとおり datacamp と名づけた場合の設定例です。

{
  "permissions": {
    "allow": [
      "mcp__datacamp__search_content",
      "mcp__datacamp__get_course",
      "mcp__datacamp__list_groups"
    ],
    "ask": [
      "mcp__datacamp__create_group_assignment",
      "mcp__datacamp__invite_member_to_group",
      "mcp__datacamp__update_group_member_role"
    ],
    "deny": [
      "mcp__datacamp__delete_group_assignment"
    ]
  }
}

読み取りだけを許可し、人やコストに響く書き込みは毎回確認、削除は禁止という分け方です。サーバー名が datacamp と違うときは、/mcp で表示される名前に合わせます。claude.ai経由で入ったコネクタは mcp__claude_ai_<サーバー名>__<ツール名> の形で現れます。組織側でそのツールが ask に設定されている場合は、手元の許可ルールでは上書きできず、毎回確認が出ます。

つまずきやすい点

接続後に動かないとき、原因は次の組み合わせに多く当たります。

  • 公開ツールだけ動く: 認証が済んでいません。whoami を呼ばせてみると、サインインの有無を切り分けられます。成功すれば、トークンまたはOAuthのセッションは生きています
  • Groupsのツールが権限エラーになる: ログインしたアカウントの役割が足りません。レポート系はadminに限られます
  • レポートの数字が今の状況と合わない: スナップショットが更新される前の値です。snapshot.lastUpdatedAt を確認します
  • query_group_reporting が使えない: グループの契約にData Connectorがありません
  • ディレクトリにDataCampがない: Team・Enterpriseなら管理者の有効化待ち、そうでなければ手動のカスタムコネクタで追加できます

DataCampのドキュメントには、Claude Webで一部のカスタムコネクタ機能にProまたはTeamの契約が要る可能性がある、という注記があります。詳しい条件はAnthropic側の最新の案内を見るよう書かれているため、プランの確認はClaudeの設定画面で行います。

関連して、似た位置づけのコネクタはほかにもあります。業務手順を実行管理するProcess Streetや、カレンダーと作業時間を扱うReclaim.aiは、接続から権限の分け方までDataCampと近い流れで使えます。Claude Code側の全体像はClaude Codeの全体ガイドにまとめています。

使い始める順番

最初から管理系に進まず、公開ツールで感触をつかむと安全です。まずサインインなしで search_content を試し、検索の絞り込みとコースの取得に慣れます。次に認証して whoami と list_groups を呼び、どのグループにどの役割で入っているかを見ます。

そのうえで、読み取りのレポートから入ります。課題の作成や招待のような書き込みは、グループ名と対象を確認させてから動かす運用にすると、取り返しのつかない操作を避けられます。学習者として使うだけなら、公開ツールと個人用ツールで十分に役立ちます。

この記事を共有:XはてブLinkedIn