mcpField
I
infinitecampus-mcp

infinitecampus-mcp

ローカル
github.com/chrischall科学・教育43 日前に更新

infinitecampus-mcp について

infinitecampus-mcpは、保護者や生徒がInfinite Campusポータルの記録を参照するためのMCPサーバーです。学業、出欠、文書、メッセージなどを扱い、ログイン後にCUPS SSOで連携された学区を自動検出します。

主な機能

  1. 01時間割、課題、成績の一覧表示
  2. 02出欠記録と登校日の確認
  3. 03文書とメッセージへのアクセス
  4. 04教員、評価、費用の取得
  5. 05利用可能な機能とアカウント状態の確認

活用シーン

  1. 01生徒の成績や課題を確認する
  2. 02出欠イベントと学校の日程を確認する
  3. 03ポータルのメッセージを読み文書を取得する

MCP 対応

学業、出欠、文書、メッセージなど、Infinite Campusポータルデータを扱う20種類のツールをMCPクライアントに公開します。環境変数による認証情報、またはContextMint BridgeによるセッションCookie取得に対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"chrischall-infinitecampus": {
"command": "npx",
"args": [
"-y",
"infinitecampus-mcp"
],
"env": {
"IC_BASE_URL": "<IC_BASE_URL>",
"IC_DISTRICT": "<IC_DISTRICT>",
"IC_USERNAME": "<IC_USERNAME>",
"IC_PASSWORD": "<IC_PASSWORD>",
"IC_NAME": "<IC_NAME>",
"IC_DISABLE_FETCHPROXY": "<IC_DISABLE_FETCHPROXY>",
"IC_SESSION_CACHE": "<IC_SESSION_CACHE>",
"IC_SESSION_FILE": "<IC_SESSION_FILE>",
"IC_DOWNLOAD_DIR": "<IC_DOWNLOAD_DIR>",
"FETCHPROXY_WS_PORT": "<FETCHPROXY_WS_PORT>",
"FETCHPROXY_WS_HOST": "<FETCHPROXY_WS_HOST>",
"FETCHPROXY_IDENTITY_DIR": "<FETCHPROXY_IDENTITY_DIR>"
}
}
}
}
起動コマンドnpx -y infinitecampus-mcp
設定が必要な環境変数
IC_BASE_URLCampus Parent portal base URL, e.g. https://campus.district.k12.example.us
IC_DISTRICTInfinite Campus district app name (appName path segment from the portal URL)
IC_USERNAMECampus Parent portal username. Optional: leave unset to use the ContextMint Bridge browser-extension fallback.
IC_PASSWORDシークレットCampus Parent portal password. Required only when IC_USERNAME is set.
IC_NAMEFriendly name for the district (defaults to district appname)
IC_DISABLE_FETCHPROXYSet to 1 to skip the ContextMint Bridge browser-extension fallback (missing creds become a hard error — useful in headless CI).
IC_SESSION_CACHESet to false to disable the on-disk session cache and re-authenticate on every process start. Defaults to enabled.
IC_SESSION_FILEAbsolute path for the session cache file. Defaults to $MCP_DATA_DIR/.infinitecampus-mcp/session-<district>.json.
IC_DOWNLOAD_DIRAbsolute path of the only directory ic_download_document may write into. Defaults to ~/Downloads.
FETCHPROXY_WS_PORTLocalhost concentrator port (default 37149). On one machine every MCP shares the concentrator, so move it for ALL of them or not at all.
FETCHPROXY_WS_HOSTBind interface (default 127.0.0.1; a literal IP only, anything else is ignored). Keep on loopback — it exists for ONE topology: a hosted child in its own network namespace.
FETCHPROXY_IDENTITY_DIRWhere to store the long-term fetchproxy identity keypair (default ~/.fetchproxy/identity/; an absolute path only, anything else is ignored). Exists for a host that runs a separate child per caller, so they can share one identity.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npminfinitecampus-mcp3.2.2

ツール

20

掲載時のツール一覧 · 1 週間前に更新

このツールにパラメーターはありません。

詳細

infinitecampus-mcp

CI npm license

Infinite Campus(Campus Parent ポータル)用の MCP サーバーです。アカウントは1つだけ設定します。ログイン後、リンクされた学区は CUPS SSO 経由で自動検出されます。

ツール

学業、日常生活、ドキュメント、メッセージング、機能検出、認証情報/学区のヘルスチェックにわたる20個のツールを備えています。

分野ツール
学区ic_list_districts
生徒ic_list_students
スケジュールic_get_schedule
課題ic_list_assignments(sectionID はサーバー側、missingOnly/日付フィルターはクライアント側)
成績ic_list_grades、ic_list_recent_grades(デフォルトの期間は14日間)
学校カレンダーic_list_school_days
出欠ic_list_attendance(コースごとの概要)、ic_list_attendance_events(コードとコメント付きの個別イベント)
行動ic_list_behavior(FeatureDisabled に対応)
食事サービスic_list_food_service(FeatureDisabled に対応)
ドキュメントic_list_documents、ic_download_document
メッセージングic_list_messages(3つのソース:prism 通知+Messenger 2.0 の受信トレイ+ポータルのお知らせ)、ic_get_message(受信トレイのメッセージの解析済み HTML 本文を取得)
教師ic_list_teachers(セクションごとの教師+担当カウンセラー)
評価ic_list_assessments(標準テストのスコア)
手数料ic_list_fees(課題+余剰残高)
機能ic_get_features(在籍ごとの displayOptions フラグ)

ハーネスが書き込み/IO 操作として制限するツール:ic_download_document。

設定

infinitecampus-mcp は優先順位に従って2つの認証方法を試し、先に成功した方法を使用します。既存の設定は変更せずに引き続き動作します。

  1. 環境変数の認証情報(従来方式)。 次の4つすべてを設定します:
    IC_BASE_URL=https://campus.springfield.k12.example.us
    IC_DISTRICT=springfield
    [email protected]
    IC_PASSWORD=...
    IC_NAME=Springfield           # optional, defaults to IC_DISTRICT
    
  2. ContextMint Bridge によるフォールバック(パスワード不要)。 IC_BASE_URL と IC_DISTRICT だけを設定します(MCP が接続先のホストとリクエストの送信先となる学区を把握するため、引き続き必要です)。次に、リリースページから ContextMint Bridge ブラウザー拡張機能をインストールし(Chrome:Chrome の zip をダウンロードして、chrome://extensions → Developer mode → Load unpacked から展開した状態で読み込みます。Chrome ウェブストアにはまだ掲載されていません。Safari はまだ利用できません。一般公開のダウンロードがない ContextMint アプリに同梱される予定のため、当面は Chrome を使用してください)、IC ポータルに一度サインインします。ContextMint Bridge は、同じメンテナーが提供するブラウザー拡張機能 fetchproxy の新しい名前です。fetchproxy の READMEからリンクされています。ソースはnullnet-app/contextmint-bridgeで公開されています。自分でビルドするか、リリース zip を同梱の .sha256 ファイルと照合してください(shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256)。MCP はそのタブから JSESSIONID(HttpOnly)と XSRF-TOKEN の Cookie を読み取り、その後は Node から API に直接アクセスします。リクエストの処理経路に拡張機能は介在しません。セッションの有効期限が切れるたびに読み取りが繰り返されるため(JSESSIONID はアイドル時のタイムアウトが短いサーブレットセッションです)、MCP を再起動せずにサインイン状態を維持できます。

フォールバックを無効にするには IC_DISABLE_FETCHPROXY=1 を設定します(認証情報がない場合にエラーを発生させます。ヘッドレス CI での利用に便利です)。

リンクされた学区(CUPS SSO 経由)はプライマリへのログイン後に自動検出されるため、子どもが2つの学区に在籍している保護者も、プライマリだけを設定すれば済みます。追加設定は不要です。認証情報が異なる完全に独立した IC インスタンスを利用する場合は、MCP インスタンスを2つ実行してください。

.env.example を参照してください。

ステータス

非公式です。Infinite Campus とは提携していません。AI によってメンテナンスされています。

規約への同意

この MCP サーバーを使用することで、以下の事項を了承し、同意したものとみなされます。

1. このサーバーは、お客様自身の Campus Parent アカウントにアクセスします。 認証にはお客様自身の認証情報を使用し、アクセス範囲は、学区がお客様に閲覧を許可した生徒の記録に限定されます。他の人の生徒記録にアクセスすることはなく、またアクセスできません。

2. Infinite Campus の利用規約は、Campus Parent を直接使用する場合と同様に、このサーバーの使用にも適用されます。 特に関連する条項は次のとおりです。

公開サポートされているインターフェース以外の方法(たとえば、スクレイピングやコンテンツを人工知能ソフトウェアのトレーニングに使用すること)で、ユーザーがサービスにアクセス、使用、検索することは禁止されています。

また、次のようにも記載されています。「サービスへのアクセスに使用するパスワードを保護する責任はお客様にあり、パスワードを第三者に開示しないことに同意するものとします。」

このサーバーのツールを呼び出すたびに、保守担当者が2026-05-23に確認したこれらの規約に同意することになります。このサーバーは、Infinite Campus のモバイルアプリ用 JSON エンドポイント(/campus/api/oneRosterCampus、/portal/api/...)を使用しています。これらは「公開サポートされているインターフェース」ではないため、IC はこれを利用規約違反とみなす可能性があります。

3. 個人による、保護者または生徒としての利用に限ります。 このプロジェクトは、Infinite Campus, Inc. またはいずれの学区とも提携、承認、後援、協力関係にありません。認可された Campus Parent / Campus Student ユーザーが、自身または自分の生徒の記録を閲覧するための個人用自動化ツールです。生徒データの一括抽出、他の家庭の成績の共有、生徒記録を使った AI モデルのトレーニングには使用しないでください。

4. FERPA と COPPA が適用されます。 生徒の教育記録は、連邦法である家族教育権利プライバシー法(FERPA)によって保護されており、13歳未満のユーザーの生徒データには、さらに COPPA が適用されます。お客様の保護者ポータルへのアクセスが合法であっても、そのデータの保存、再配布、LLM への入力方法には規制が適用されます。このサーバーからの出力(成績、出欠、行動記録、時間割)は、すべて機密性の高い生徒データとして扱ってください。共有 LLM のコンテキストに含めたり、スクリーンショットに貼り付けたり、モデルのトレーニングに使用したりしないでください。

5. このサーバーを Campus Parent アカウントに関連して使用した結果について、全責任を負うものとします。 これには、レート制限、アカウントへの警告、学区の IT 部門による調査、学区または Infinite Campus による措置が含まれます。お客様の学区には、自動化をさらに制限する追加の適正利用ポリシー(適正利用に関する契約、保護者向けハンドブック)がある場合があります。学区または Infinite Campus から使用に異議を申し立てられた場合は、このサーバーの使用を中止してください。

このセクションは、保守担当者が誠意をもって規約を要約したものです。法律上の助言ではなく、Infinite Campus の実際の利用規約や各学区のポリシーを変更または優先するものでもありません。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。