N Lobby MCP Server
N Lobby CLI
注意: 開発者は、本ツールを使用したことによって生じたいかなる損害に対しても責任を負いません。本ソフトウェアは教育目的で開発されており、動作は保証されていません。
N Lobby学校ポータルデータにアクセスするための、CLIおよびModel Context Protocol (MCP) サーバーのデュアルモードツールです。ターミナルから nlobby で対話的に使用するか、nlobby serve でMCPサーバーとしてAIアシスタントに接続できます。
機能
CLIモード: ニュース、スケジュール、コース、プロフィールなど、N Lobbyのデータにターミナルから直接アクセス
MCPモード: Claude、Cursor、その他のMCP対応AIアシスタントと互換性のあるフルMCPサーバー
ブラウザベースの認証: 自動化されたPuppeteerブラウザウィンドウによる対話型ログイン
セッションの永続化: CLIモードでは、その後の利用をスムーズにするためにクッキーを
~/.nlobby/sessionに保存学校情報へのアクセス: お知らせ、スケジュール、学習リソースの取得
必修科目管理: 必修科目の情報および学業データへのアクセス
複数のカレンダータイプ: 個人用および学校用カレンダーの両方をサポート
ユーザーロールのサポート: 生徒、保護者、教職員向けの異なるアクセスレベル
Related MCP server: MCP Server Sample
インストール
オプション1: npmからインストール (推奨)
npm install -g nlobby-cliオプション2: 開発用インストール
リポジトリをクローン:
git clone https://github.com/minagishl/nlobby-cli.git
cd nlobby-cli依存関係をインストール:
pnpm installプロジェクトをビルド:
pnpm run build設定
デフォルト値を上書きする必要がある場合は、.env ファイルを作成してください (オプション):
NLOBBY_BASE_URL=https://nlobby.nnn.ed.jp
MCP_SERVER_NAME=nlobby-cli
MCP_SERVER_VERSION=1.0.0CLIの使用方法
認証
# Interactive browser login (recommended)
nlobby login
# Set cookies manually
nlobby cookies set "__Secure-next-auth.session-token=ey...;"
# Check current authentication status
nlobby cookies checkニュース
# List latest news (default: 10, newest first)
nlobby news
# Filter and sort
nlobby news --limit 20 --category お知らせ --sort oldest --unread
# Show full article
nlobby news show 980
# Download the first attachment to /tmp
nlobby news download 980 --index 1 --output-dir /tmp
# Mark as read
nlobby news read 980スケジュールとカレンダー
# Today's schedule
nlobby schedule
# Specific date
nlobby schedule 2026-04-01
# This week's personal calendar
nlobby calendar
# School calendar for a date range
nlobby calendar --type school --from 2026-04-01 --to 2026-04-07コース
# All required courses
nlobby courses
# Filter by grade / semester
nlobby courses --grade 2 --semester 2025プロフィールと健康状態
nlobby profile
nlobby healthMCPサーバー
# Start MCP server (stdio transport)
nlobby serve
# or
nlobby mcpすべてのコマンドは、フォーマットされたテキストの代わりに生のJSONを出力する
--jsonオプションをサポートしています。
MCPの使用方法
Cursor IDEのセットアップ
Cursorの設定 (~/.cursor/config.json) に以下を追加してください:
{
"mcpServers": {
"nlobby": {
"command": "npx",
"args": ["-y", "nlobby-cli", "serve"],
"env": {
"NLOBBY_BASE_URL": "https://nlobby.nnn.ed.jp"
}
}
}
}Claude Desktopのセットアップ
Claude Desktopの設定 (~/Library/Application Support/Claude/claude_desktop_config.json (macOSの場合)) に追加してください:
{
"mcpServers": {
"nlobby": {
"command": "npx",
"args": ["-y", "nlobby-cli", "serve"],
"env": {
"NLOBBY_BASE_URL": "https://nlobby.nnn.ed.jp"
}
}
}
}その他のMCPクライアント
MCP互換クライアントの場合は、以下を使用してください:
コマンド:
nlobby serve(グローバルインストール済みの場合) またはnode /path/to/dist/index.js serveプロトコル: stdio
環境変数: 設定セクションに記載されているオプションの環境変数
MCPリソース
URI | 説明 |
| 学校のニュースとお知らせ |
| 日々の授業スケジュールとイベント |
| 必修科目および学業情報 |
| 現在のユーザー情報 |
MCPツール
認証
ツール | 説明 |
| 手動ログイン用のブラウザを開く (推奨) |
| パーソナライズされたログインヘルプとトラブルシューティング |
| 認証クッキーを手動で設定 |
| 認証クッキーの状態を確認 |
| すべてのクライアントで認証状態を検証 |
ニュース
ツール | 主なパラメータ | 説明 |
|
| フィルタリングして学校ニュースを取得 |
|
| 特定の記事の詳細を表示 |
|
| 記事を既読にする |
| 未読数および重要ニュースフラグ |
スケジュールとカレンダー
ツール | 主なパラメータ | 説明 |
|
| 指定日のスケジュール (YYYY-MM-DD) |
|
| カレンダーイベント (個人/学校) |
|
| 両方のカレンダーエンドポイントをテスト |
| Lobbyカレンダーのフィルタ定義 |
コースと試験
ツール | 主なパラメータ | 説明 |
|
| 進捗状況を含む必修科目 |
|
| 指定日が試験日かどうかを確認 |
| 試験日モードを終了 | |
| 試験用ワンタイムパスワードを取得 |
アカウントとナビゲーション
ツール | 説明 |
| Next.jsページからアカウント情報を抽出 |
| 学生証のスクリーンショットをキャプチャ |
| 最終アクセス日時を更新 |
| メインナビゲーションメニューリスト |
| 通知メッセージ |
| ユーザーの興味タグ (オプションのアイコンデータ含む) |
| 興味の重み付けスケール定義 |
デバッグ
ツール | 主なパラメータ | 説明 |
| N Lobby API接続をテスト | |
|
| 詳細な接続デバッグ |
|
| ページコンテンツ取得テスト |
|
| 特定のtRPCエンドポイントをテスト |
認証フロー
方法1: 対話型ブラウザログイン (推奨)
CLI:
nlobby loginMCPツール: interactive_login
ブラウザウィンドウが自動的に開きます。N Lobbyのログインを完了すると、クッキーが抽出され保存されます。
方法2: 手動クッキー設定
WebブラウザでN Lobbyにログイン
DevTools → Application / Storage → Cookies を開く
すべてのクッキーを文字列としてコピー
CLI:
nlobby cookies set "__Secure-next-auth.session-token=ey...;"MCPツール: set_cookies cookies="__Secure-next-auth.session-token=ey...;"
ユーザータイプ
サーバーはメールアドレスのドメインに基づいて3つのユーザータイプをサポートしています:
タイプ | メールドメイン |
生徒 |
|
教職員 |
|
保護者 | その他の登録済みメール |
プロジェクト構造
src/
├── index.ts # Entry point — CLI vs MCP mode detection
├── config.ts # Configuration management
├── logger.ts # Logging utilities
├── trpc-client.ts # tRPC client for API calls
├── types.ts # TypeScript type definitions
├── api/
│ ├── index.ts # NLobbyApi facade + session persistence
│ ├── context.ts # ApiContext interface
│ ├── shared.ts # Shared utilities (fetchRenderedHtml, …)
│ ├── news.ts # News functions
│ ├── schedule.ts # Schedule / calendar functions
│ ├── courses.ts # Course / exam functions
│ ├── account.ts # Account info / student card functions
│ ├── navigation.ts # Navigation / notification / interest functions
│ └── health.ts # Health check / debug functions
├── auth/
│ ├── browser.ts # Puppeteer browser authentication
│ ├── nextauth.ts # NextAuth.js session handling
│ └── credentials.ts # Credential validation and guidance
├── cli/
│ ├── index.ts # Commander program wiring
│ ├── commands/ # login, news, schedule, courses, profile, health, serve
│ └── formatters/ # Human-readable output formatters
└── mcp/
└── server.ts # MCP server (28 tools, 4 resources)開発
スクリプト
pnpm run build # Build (esbuild bundle + tsc type declarations)
pnpm run dev # Watch mode
pnpm run start # Start MCP server
pnpm run lint # Lint
pnpm run format # Formatセキュリティに関する注意
CLIのクッキーは
~/.nlobby/sessionに保存されます (プレーンテキストのため、適切に保護してください)MCPモードでは、すべての認証トークンはメモリ内のみに保持されます
ブラウザ自動化は認証のみに使用され、データスクレイピングには使用されません
機密データはログに記録されません
ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。詳細は LICENSE ファイルを参照してください。
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/minagishl/nlobby-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server