Skip to main content
Glama

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: 開発用インストール

  1. リポジトリをクローン:

git clone https://github.com/minagishl/nlobby-cli.git
cd nlobby-cli
  1. 依存関係をインストール:

pnpm install
  1. プロジェクトをビルド:

pnpm run build

設定

デフォルト値を上書きする必要がある場合は、.env ファイルを作成してください (オプション):

NLOBBY_BASE_URL=https://nlobby.nnn.ed.jp
MCP_SERVER_NAME=nlobby-cli
MCP_SERVER_VERSION=1.0.0

CLIの使用方法

認証

# 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 health

MCPサーバー

# Start MCP server (stdio transport)
nlobby serve
# or
nlobby mcp

すべてのコマンドは、フォーマットされたテキストの代わりに生のJSONを出力する --json オプションをサポートしています。


MCPの使用方法

Cursor IDEのセットアップ

Install MCP Server

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

説明

nlobby://news

学校のニュースとお知らせ

nlobby://schedule

日々の授業スケジュールとイベント

nlobby://required-courses

必修科目および学業情報

nlobby://user-profile

現在のユーザー情報

MCPツール

認証

ツール

説明

interactive_login

手動ログイン用のブラウザを開く (推奨)

login_help

パーソナライズされたログインヘルプとトラブルシューティング

set_cookies

認証クッキーを手動で設定

check_cookies

認証クッキーの状態を確認

verify_authentication

すべてのクライアントで認証状態を検証

ニュース

ツール

主なパラメータ

説明

get_news

category? limit? sort?

フィルタリングして学校ニュースを取得

get_news_detail

newsId markAsRead?

特定の記事の詳細を表示

mark_news_as_read

ids (配列)

記事を既読にする

get_unread_news_info

未読数および重要ニュースフラグ

スケジュールとカレンダー

ツール

主なパラメータ

説明

get_schedule

date?

指定日のスケジュール (YYYY-MM-DD)

get_calendar_events

calendar_type? from_date? to_date? period?

カレンダーイベント (個人/学校)

test_calendar_endpoints

from_date? to_date?

両方のカレンダーエンドポイントをテスト

get_calendar_filters

Lobbyカレンダーのフィルタ定義

コースと試験

ツール

主なパラメータ

説明

get_required_courses

grade? semester? category?

進捗状況を含む必修科目

check_exam_day

date?

指定日が試験日かどうかを確認

finish_exam_day_mode

試験日モードを終了

get_exam_otp

試験用ワンタイムパスワードを取得

アカウントとナビゲーション

ツール

説明

get_account_info

Next.jsページからアカウント情報を抽出

get_student_card_screenshot

学生証のスクリーンショットをキャプチャ

update_last_access

最終アクセス日時を更新

get_navigation_menus

メインナビゲーションメニューリスト

get_notifications

通知メッセージ

get_user_interests

ユーザーの興味タグ (オプションのアイコンデータ含む)

get_interest_weights

興味の重み付けスケール定義

デバッグ

ツール

主なパラメータ

説明

health_check

N Lobby API接続をテスト

debug_connection

endpoint?

詳細な接続デバッグ

test_page_content

endpoint? length?

ページコンテンツ取得テスト

test_trpc_endpoint

method params?

特定のtRPCエンドポイントをテスト


認証フロー

方法1: 対話型ブラウザログイン (推奨)

CLI:

nlobby login

MCPツール: interactive_login

ブラウザウィンドウが自動的に開きます。N Lobbyのログインを完了すると、クッキーが抽出され保存されます。

方法2: 手動クッキー設定

  1. WebブラウザでN Lobbyにログイン

  2. DevTools → Application / Storage → Cookies を開く

  3. すべてのクッキーを文字列としてコピー

CLI:

nlobby cookies set "__Secure-next-auth.session-token=ey...;"

MCPツール: set_cookies cookies="__Secure-next-auth.session-token=ey...;"


ユーザータイプ

サーバーはメールアドレスのドメインに基づいて3つのユーザータイプをサポートしています:

タイプ

メールドメイン

生徒

@nnn.ed.jp

教職員

@nnn.ac.jp

保護者

その他の登録済みメール


プロジェクト構造

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 ファイルを参照してください。

Install Server
A
security – no known vulnerabilities
A
license - permissive license
B
quality - B tier

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