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は同じコネクタ画面を共有します。ディレクトリから入れる手順は次のとおりです。
- Customize → Connectorsを開く
- + から「DataCamp」を検索して選ぶ
- Connectを押し、DataCampにサインインする
- 権限の確認画面で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 を呼び、どのグループにどの役割で入っているかを見ます。
そのうえで、読み取りのレポートから入ります。課題の作成や招待のような書き込みは、グループ名と対象を確認させてから動かす運用にすると、取り返しのつかない操作を避けられます。学習者として使うだけなら、公開ツールと個人用ツールで十分に役立ちます。