mcpField
S
schoolpass-mcp

schoolpass-mcp

ローカル
github.com/chrischall生産性03 日前に更新

schoolpass-mcp について

schoolpass-mcpは、保護者向けSchoolPass MCPサーバーです。生徒や送迎カレンダー、学校情報を参照でき、プレビューと確認トークンを使って登下校予定を変更・取消できます。

主な機能

  1. 01連携中の生徒と保護者情報の表示
  2. 02登下校カレンダーの参照
  3. 03送迎者と送迎変更の一覧
  4. 04学校情報と下校場所の取得
  5. 05確認付き予定変更・取消

活用シーン

  1. 01指定期間の子どもの登下校予定を確認
  2. 02許可された送迎者と下校場所を確認
  3. 03当日の送迎予定を変更または取消

MCP 対応

MCPサーバーとして、SchoolPass保護者アカウントの参照ツールと、確認トークンが必要な登下校予定の変更・取消ツールを提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"chrischall-schoolpass": {
"command": "npx",
"args": [
"-y",
"schoolpass-mcp"
],
"env": {
"SCHOOLPASS_EMAIL": "<SCHOOLPASS_EMAIL>",
"SCHOOLPASS_PASSWORD": "<SCHOOLPASS_PASSWORD>",
"SCHOOLPASS_SCHOOL_CODE": "<SCHOOLPASS_SCHOOL_CODE>",
"SCHOOLPASS_API_HOST": "<SCHOOLPASS_API_HOST>",
"SCHOOLPASS_TIMEZONE": "<SCHOOLPASS_TIMEZONE>",
"SCHOOLPASS_SESSION_CACHE": "<SCHOOLPASS_SESSION_CACHE>",
"SCHOOLPASS_SESSION_FILE": "<SCHOOLPASS_SESSION_FILE>"
}
}
}
}
起動コマンドnpx -y schoolpass-mcp
設定が必要な環境変数
SCHOOLPASS_EMAILYour SchoolPass parent account email address.
SCHOOLPASS_PASSWORDシークレットYour SchoolPass parent account password.
SCHOOLPASS_SCHOOL_CODEThe numeric school id (AppCode) SchoolPass uses to select your school.
SCHOOLPASS_API_HOSTOptional regional API host override (default busapi-east16-ss.school-pass.net).
SCHOOLPASS_TIMEZONEThe school's IANA timezone (e.g. America/New_York), used for the "today" default of the calendar and pickup-change reads. Defaults to the server's local zone; set it when the server runs elsewhere (a hosted server runs in UTC, so evening defaults would otherwise point at tomorrow).
SCHOOLPASS_SESSION_CACHESet to false to disable the on-disk session cache and re-authenticate on every process start. Defaults to enabled.
SCHOOLPASS_SESSION_FILEAbsolute path for the session cache file. Defaults to $MCP_DATA_DIR/.schoolpass-mcp/session.json.

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

パッケージ
npmschoolpass-mcp1.0.10

ツール

11

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

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

詳細

schoolpass-mcp

SchoolPass 用の MCP サーバーです。保護者アカウントから、お子様の登校時の到着と下校を確認および変更できます。SchoolPass のウェブアプリとモバイルアプリが使用する SchoolPass REST API と通信し、ご自身の保護者用メールアドレスとパスワードでサーバー側から認証します(ブラウザーや拡張機能は不要です)。

AI(Claude Code)によって開発・保守されています。ご自身の判断でご利用ください。

保護者アカウントの範囲内で、読み取りツールに加え、確認を必要とする下校変更の書き込みとキャンセルができます。

ツール

ツール内容
schoolpass_healthcheck接続可能性と認証状況を個別に報告します。
schoolpass_whoamiサーバーがサインインした保護者の情報を表示します。
schoolpass_list_students関連付けられたお子様の一覧(氏名、学年、通常の下校場所、放課後ケア)。
schoolpass_get_profile保護者アカウントのプロフィールを表示します。
schoolpass_list_driversお迎えを許可されたドライバーを表示します。include_carpool: true を指定すると相乗り情報も含まれます(view: "full" を指定しない限り、他のご家庭の連絡先と車両情報は除外されます)。
schoolpass_get_calendar指定した期間のお子様の登校・下校カレンダーを表示します。
schoolpass_list_pickup_changes指定した日のお子様のお迎え・下校変更を表示します。
schoolpass_list_dismissal_locations学校の下校場所とその ID を表示します。
schoolpass_get_school_info基本的な学校情報と学校ごとの設定を表示します。
schoolpass_submit_dismissal_change下校・登校の変更を送信します(確認が必要です。プレビューと1回限りの confirmToken を使用します)。
schoolpass_cancel_dismissal_change変更をキャンセルして通常の状態に戻します(確認が必要です。プレビューと confirmToken を使用します)。

設定

環境変数必須備考
SCHOOLPASS_EMAILはいSchoolPass 保護者アカウントのメールアドレスです。
SCHOOLPASS_PASSWORDはいSchoolPass のパスワードです。
SCHOOLPASS_SCHOOL_CODEはい数値の学校 ID(AppCode / appCode の値。例:1183)です。
SCHOOLPASS_API_HOSTいいえリージョン API ホストの上書き値です(デフォルト:busapi-east16-ss.school-pass.net)。https の *.school-pass.net ホストである必要があります。パスワードが送信されるため、http:// やその他のドメインは拒否されます。
SCHOOLPASS_TIMEZONEいいえ学校の IANA タイムゾーン(例:America/New_York)です。カレンダーとお迎え変更の読み取りで、「今日」のデフォルトとして使用されます。デフォルトはサーバーのローカルタイムゾーンです。サーバーが別の場所で実行される場合は設定してください(ホスト型サーバーは UTC で実行されるため、設定しないと夕方のデフォルトが翌日を指すことがあります)。
MCP_CONFIRM_MODEいいえプロンプトを表示できないクライアントで、2つの書き込み操作を確認する方法です。ask-user(デフォルト:プレビューとトークンを提示し、ユーザーがチャットで承認)、auto(プレビューを確認した後、モデルがトークンを使用できる)、または refuse を指定します。
MCP_CONFIRM_ELICITATIONいいえoff にすると確認プロンプトが表示されなくなり、すべてのクライアントで MCP_CONFIRM_MODE の動作が適用されます。プロンプトを表示できると示しているのに実際には表示しないクライアント(書き込みが停止したままになる opencode 2.0.x)で設定してください。デフォルトは on です。それ以外の値も on として扱われ、stderr に警告が出力されます。
MCP_CONFIRM_TTL_SECONDSいいえ確認トークンの有効期間です(デフォルト:600)。
MCP_CONFIRM_SECRETいいえ確認トークン用の HMAC キーです。トークンを再起動後も有効にする必要がある場合にのみ設定してください。mcp-host では、ホストが子プロセスごとに安定したキー(MCP_HOST_CONFIRM_SECRET)を提供し、使用済みトークンは MCP_DATA_DIR に記録されるため、アイドル状態からの再起動後も承認が有効です。

学校 ID とリージョンホストの確認方法: 学校の <school>.school-pass.net ポータルにサインインして、新しい SchoolPass アプリを開き、ブラウザーの localStorage から appCode(ID)と apiUrl(ホスト)を確認してください。

インストール

{
  "mcpServers": {
    "schoolpass": {
      "command": "npx",
      "args": ["-y", "schoolpass-mcp"],
      "env": {
        "SCHOOLPASS_EMAIL": "[email protected]",
        "SCHOOLPASS_PASSWORD": "your-password",
        "SCHOOLPASS_SCHOOL_CODE": "1183"
      }
    }
  }
}

注意事項

  • 親スコープのみです。 親トークンでは管理者用ルート(訪問者管理、カープール運行、レポート、バスの経路設定)にアクセスできず、これらは 403 を返します。
  • 拒否されたログインを再試行しないでください。 SchoolPass はログイン画面の前に reCAPTCHA を設置しています。失敗を繰り返すと、アカウントにチャレンジが要求される場合があります。SchoolPass が拒否したパスワード(400/401)は、プロセスごとに1回だけ試行されます。その後の呼び出しでは、設定された認証情報が変更されるか、サーバーが再起動されるまで、SchoolPass に接続せず同じエラーを返します。CDN/WAF のブロックページ(CloudFront、Cloudflare など)は拒否ではなく、エッジブロックとして報告されます。エラー状態として固定されることも、保存済みのセッションを消費または破棄することもありません。
  • 認証情報がなくても起動します。 サーバーは設定なしで起動し、tools/list に応答します。設定エラーは最初のツール呼び出し時に表面化します。

サーバーを使わない場合:curl

SchoolPass API にはサーバー側からアクセスできるため、単発のシェルでの読み取りに MCP プロセスは不要です。curl と jq のレシピ集については、同梱の schoolpass-curl スキル(skills/schoolpass-curl/)を参照してください。

開発

npm install
npm test            # tsc typecheck + unit + boot tests
npm run build       # tsc + esbuild bundle
node --env-file=.env scripts/live-check.mjs   # live read-only check (needs .env)

ライセンス

MIT

コメント

MCP は初めてですか?

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

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